; 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 ptr @fopen(ptr, ptr) declare i32 @fseek(ptr, i64, i32) declare i64 @ftell(ptr) declare i64 @time(ptr) declare void @exit(i32) declare i32 @system(ptr) declare ptr @getenv(ptr) declare ptr @memcpy(ptr, ptr, i64) declare ptr @memset(ptr, i32, i64) declare 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) @__stderrp = external global ptr @__stdoutp = external global ptr @.fmt_int = private unnamed_addr constant [4 x i8] c"%d\0A\00" @.fmt_long = private unnamed_addr constant [6 x i8] c"%lld\0A\00" @.fmt_line = private unnamed_addr constant [4 x i8] c"%s\0A\00" @L_argc = internal global i32 0 @L_argv = internal global ptr null @L_clock = internal global i32 0 @.gametitle = private unnamed_addr constant [9 x i8] c"SelfHost\00" %LSlice = type { ptr, i32, i32 } %Cmp_Buf = type { ptr, i32, i32 } %Cmp_Node = type { i32, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32, ptr, 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_g_sf_path = internal global ptr null @g_g_sf_norm = internal global ptr null @g_g_sf_base = internal global ptr null @g_g_sf_text = internal global ptr null @g_g_sf_len = internal global i32 0 @g_g_sf_served = 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_decl_exported = internal global i32 0 @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_red_rec = internal global ptr null @g_g_red_tbl = internal global ptr null @g_g_red_tgt = internal global ptr null @g_g_red_mc = internal global ptr null @g_g_tgt_comp = internal global ptr null @g_g_tgt_field = internal global ptr null @g_g_tgt_node = internal global ptr null @g_g_col_comp = internal global ptr null @g_g_col_field = internal global ptr null @g_g_rv_nodes = internal global ptr null @g_g_mc_reg = internal global ptr null @g_g_mc_rec = internal global ptr null @g_g_mc_field = internal global ptr null @g_g_mc_file = internal global ptr null @g_g_mc_line = internal global ptr null @g_g_mc_enum = internal global ptr null @g_g_mc_state = internal global ptr null @g_g_mc_path = internal global ptr null @g_g_mc_start = internal global ptr null @g_g_mc_tick = internal global ptr null @g_g_mc_acts = internal global ptr null @g_g_mc_gen = internal global ptr null @g_g_mc_fns = internal global ptr null @g_g_mc_pend_rec = internal global ptr null @g_g_mc_pend_field = internal global ptr null @g_g_mc_pend_line = internal global i32 0 @g_g_mc_gen_reg = internal global ptr null @g_g_mt_key = internal global ptr null @g_g_mt_from = internal global ptr null @g_g_mt_to = internal global ptr null @g_g_mt_on = internal global ptr null @g_g_mt_guard = internal global ptr null @g_g_mt_enter = internal global ptr null @g_g_mt_file = internal global ptr null @g_g_mt_line = internal global ptr null @g_g_mt_col = 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_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_vc_kind = internal global ptr null @g_g_vc_name = internal global ptr null @g_g_vc_role = internal global ptr null @g_g_vc_form = internal global ptr null @g_g_vc_on = internal global ptr null @g_g_vc_doc = 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_g_cx_emits = internal global ptr null @g_g_cx_fnrefs = internal global ptr null @g_g_cx_h = internal global ptr null @g_g_cx_hname = internal global ptr null @g_g_cx_hhook = internal global ptr null @g_g_cx_htarget = internal global ptr null @g_g_cx_hq = internal global ptr null @g_g_cx_hpub = internal global ptr null @g_g_cx_hscene = internal global ptr null @g_g_cx_hlayer = internal global ptr null @g_g_cx_hlisten = internal global ptr null @g_g_cx_slayers = internal global ptr null @g_g_cx_sthen = internal global ptr null @g_g_cx_sloads = internal global ptr null @g_g_cx_spub = internal global ptr null @g_g_cx_wn = internal global ptr null @g_g_cx_wkind = internal global ptr null @g_g_cx_wslot = internal global ptr null @g_g_cx_wentry = internal global ptr null @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_fn_node = internal global ptr null @g_ck_mem_node = internal global ptr null @g_ck_mem_base = 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:213: index out of range: \00" @.str14 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:214: index out of range: \00" @.str15 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:215: index out of range: \00" @.str16 = private unnamed_addr constant [9 x i8] c"tok_push\00" @.str17 = private unnamed_addr constant [8 x i8] c"new Tok\00" @.str18 = private unnamed_addr constant [10 x i8] c"lex_error\00" @.str19 = private unnamed_addr constant [23 x i8] c"unexpected character '\00" @.str20 = private unnamed_addr constant [7 x i8] c"concat\00" @.str21 = private unnamed_addr constant [9 x i8] c"' (byte \00" @.str22 = private unnamed_addr constant [10 x i8] c"string(n)\00" @.str23 = private unnamed_addr constant [2 x i8] c")\00" @.str24 = private unnamed_addr constant [6 x i8] c"error\00" @.str25 = private unnamed_addr constant [2 x i8] c":\00" @.str26 = private unnamed_addr constant [9 x i8] c"lex_fail\00" @.str27 = private unnamed_addr constant [10 x i8] c": error: \00" @.str28 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str29 = private unnamed_addr constant [7 x i8] c"lex_at\00" @.str30 = private unnamed_addr constant [10 x i8] c"new []Tok\00" @.str31 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:360: index out of range: \00" @.str32 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:361: index out of range: \00" @.str33 = private unnamed_addr constant [52 x i8] c"unterminated character literal (expected closing ')\00" @.str34 = private unnamed_addr constant [10 x i8] c"substring\00" @.str35 = private unnamed_addr constant [49 x i8] c"a key literal is never closed with \22 on its line\00" @.str36 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:506: index out of range: \00" @.str37 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:507: index out of range: \00" @.str38 = private unnamed_addr constant [1 x i8] c"\00" @.str39 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:534: index out of range: \00" @.str40 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:534: index out of range: \00" @.str41 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:534: index out of range: \00" @.str42 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:534: index out of range: \00" @.str43 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:534: index out of range: \00" @.str44 = private unnamed_addr constant [9 x i8] c"diag_add\00" @.str45 = private unnamed_addr constant [6 x i8] c"error\00" @.str46 = private unnamed_addr constant [10 x i8] c"diag_trim\00" @.str47 = private unnamed_addr constant [3 x i8] c"\5C\22\00" @.str48 = private unnamed_addr constant [3 x i8] c"\5C\5C\00" @.str49 = private unnamed_addr constant [3 x i8] c"\5Cn\00" @.str50 = private unnamed_addr constant [3 x i8] c"\5Ct\00" @.str51 = private unnamed_addr constant [3 x i8] c"\5Cr\00" @.str52 = private unnamed_addr constant [5 x i8] c"\5Cu00\00" @.str53 = private unnamed_addr constant [2 x i8] c"[\00" @.str54 = private unnamed_addr constant [2 x i8] c",\00" @.str55 = private unnamed_addr constant [13 x i8] c"\0A {\22file\22: \00" @.str56 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:585: index out of range: \00" @.str57 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str58 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:587: index out of range: \00" @.str59 = private unnamed_addr constant [10 x i8] c", \22col\22: \00" @.str60 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:589: index out of range: \00" @.str61 = private unnamed_addr constant [15 x i8] c", \22severity\22: \00" @.str62 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:591: index out of range: \00" @.str63 = private unnamed_addr constant [14 x i8] c", \22message\22: \00" @.str64 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:593: index out of range: \00" @.str65 = private unnamed_addr constant [2 x i8] c"}\00" @.str66 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str67 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str68 = private unnamed_addr constant [15 x i8] c"stdin_file_set\00" @.str69 = private unnamed_addr constant [17 x i8] c"stdin_file_serve\00" @.str70 = private unnamed_addr constant [14 x i8] c"--stdin-file \00" @.str71 = private unnamed_addr constant [21 x i8] c"stdin_file_unreached\00" @.str72 = private unnamed_addr constant [70 x i8] c": the program does not reach this file, so the buffer was not checked\00" @.str73 = private unnamed_addr constant [4 x i8] c"PWD\00" @.str74 = private unnamed_addr constant [2 x i8] c"/\00" @.str75 = private unnamed_addr constant [15 x i8] c"normalise_path\00" @.str76 = private unnamed_addr constant [14 x i8] c"new []pointer\00" @.str77 = private unnamed_addr constant [3 x i8] c"..\00" @.str78 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:697: index out of range: \00" @.str79 = private unnamed_addr constant [3 x i8] c"..\00" @.str80 = private unnamed_addr constant [1 x i8] c"\00" @.str81 = private unnamed_addr constant [2 x i8] c".\00" @.str82 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:699: index out of range: \00" @.str83 = private unnamed_addr constant [1 x i8] c"\00" @.str84 = private unnamed_addr constant [2 x i8] c"/\00" @.str85 = private unnamed_addr constant [2 x i8] c"/\00" @.str86 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:711: index out of range: \00" @.str87 = private unnamed_addr constant [9 x i8] c"sf_lower\00" @.str88 = private unnamed_addr constant [1 x i8] c"\00" @.str89 = private unnamed_addr constant [7 x i8] c"fm_new\00" @.str90 = private unnamed_addr constant [12 x i8] c"new FileMap\00" @.str91 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:789: index out of range: \00" @.str92 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:789: index out of range: \00" @.str93 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:796: index out of range: \00" @.str94 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:797: index out of range: \00" @.str95 = private unnamed_addr constant [1 x i8] c"\00" @.str96 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:802: index out of range: \00" @.str97 = private unnamed_addr constant [1 x i8] c"\00" @.str98 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:803: index out of range: \00" @.str99 = private unnamed_addr constant [11 x i8] c"trust_file\00" @.str100 = private unnamed_addr constant [2 x i8] c"1\00" @.str101 = private unnamed_addr constant [11 x i8] c"module_set\00" @.str102 = private unnamed_addr constant [1 x i8] c"\00" @.str103 = private unnamed_addr constant [15 x i8] c"float_file_add\00" @.str104 = private unnamed_addr constant [2 x i8] c"1\00" @.str105 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:835: index out of range: \00" @.str106 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:836: index out of range: \00" @.str107 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:837: index out of range: \00" @.str108 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:838: index out of range: \00" @.str109 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:848: index out of range: \00" @.str110 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:848: index out of range: \00" @.str111 = private unnamed_addr constant [1 x i8] c"\00" @.str112 = private unnamed_addr constant [6 x i8] c"error\00" @.str113 = private unnamed_addr constant [2 x i8] c":\00" @.str114 = private unnamed_addr constant [5 x i8] c"perr\00" @.str115 = private unnamed_addr constant [10 x i8] c": error: \00" @.str116 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str117 = private unnamed_addr constant [1 x i8] c"\00" @.str118 = private unnamed_addr constant [6 x i8] c"error\00" @.str119 = private unnamed_addr constant [2 x i8] c":\00" @.str120 = private unnamed_addr constant [8 x i8] c"perr_at\00" @.str121 = private unnamed_addr constant [10 x i8] c": error: \00" @.str122 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str123 = private unnamed_addr constant [1 x i8] c"\00" @.str124 = private unnamed_addr constant [8 x i8] c"warning\00" @.str125 = private unnamed_addr constant [2 x i8] c":\00" @.str126 = private unnamed_addr constant [9 x i8] c"pwarn_at\00" @.str127 = private unnamed_addr constant [12 x i8] c": warning: \00" @.str128 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str129 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:887: index out of range: \00" @.str130 = private unnamed_addr constant [12 x i8] c"end of file\00" @.str131 = private unnamed_addr constant [12 x i8] c"end of line\00" @.str132 = private unnamed_addr constant [8 x i8] c"number \00" @.str133 = private unnamed_addr constant [9 x i8] c"tok_desc\00" @.str134 = private unnamed_addr constant [9 x i8] c"string \22\00" @.str135 = private unnamed_addr constant [2 x i8] c"\22\00" @.str136 = private unnamed_addr constant [2 x i8] c"'\00" @.str137 = private unnamed_addr constant [2 x i8] c"'\00" @.str138 = private unnamed_addr constant [11 x i8] c"expected '\00" @.str139 = private unnamed_addr constant [7 x i8] c"eat_op\00" @.str140 = private unnamed_addr constant [8 x i8] c"', got \00" @.str141 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:896: index out of range: \00" @.str142 = private unnamed_addr constant [29 x i8] c"expected an identifier, got \00" @.str143 = private unnamed_addr constant [7 x i8] c"eat_id\00" @.str144 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:901: index out of range: \00" @.str145 = private unnamed_addr constant [7 x i8] c"floats\00" @.str146 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str147 = private unnamed_addr constant [6 x i8] c"words\00" @.str148 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str149 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str150 = private unnamed_addr constant [8 x i8] c"[]fixed\00" @.str151 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str152 = private unnamed_addr constant [9 x i8] c"[]double\00" @.str153 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str154 = private unnamed_addr constant [10 x i8] c"[]pointer\00" @.str155 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:915: index out of range: \00" @.str156 = private unnamed_addr constant [3 x i8] c"fn\00" @.str157 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:915: index out of range: \00" @.str158 = private unnamed_addr constant [2 x i8] c"(\00" @.str159 = private unnamed_addr constant [2 x i8] c"(\00" @.str160 = private unnamed_addr constant [4 x i8] c"fn(\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 [6 x i8] c"ptype\00" @.str164 = private unnamed_addr constant [2 x i8] c",\00" @.str165 = private unnamed_addr constant [2 x i8] c")\00" @.str166 = private unnamed_addr constant [5 x i8] c"void\00" @.str167 = private unnamed_addr constant [3 x i8] c"->\00" @.str168 = private unnamed_addr constant [4 x i8] c")->\00" @.str169 = private unnamed_addr constant [2 x i8] c"[\00" @.str170 = private unnamed_addr constant [2 x i8] c"]\00" @.str171 = private unnamed_addr constant [2 x i8] c"<\00" @.str172 = private unnamed_addr constant [2 x i8] c"(\00" @.str173 = private unnamed_addr constant [2 x i8] c")\00" @.str174 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:960: index out of range: \00" @.str175 = private unnamed_addr constant [53 x i8] c"build/cfree/selfhost.ludic:961: index out of range: \00" @.str176 = private unnamed_addr constant [2 x i8] c":\00" @.str177 = private unnamed_addr constant [2 x i8] c":\00" @.str178 = private unnamed_addr constant [10 x i8] c"args_call\00" @.str179 = private unnamed_addr constant [2 x i8] c",\00" @.str180 = private unnamed_addr constant [2 x i8] c")\00" @.str181 = private unnamed_addr constant [11 x i8] c"interp_lit\00" @.str182 = private unnamed_addr constant [2 x i8] c"+\00" @.str183 = private unnamed_addr constant [7 x i8] c"string\00" @.str184 = private unnamed_addr constant [11 x i8] c"interp_str\00" @.str185 = private unnamed_addr constant [13 x i8] c"parse_interp\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 [11 x i8] c"parse_emit\00" @.str190 = private unnamed_addr constant [2 x i8] c",\00" @.str191 = private unnamed_addr constant [2 x i8] c")\00" @.str192 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1051: index out of range: \00" @.str193 = private unnamed_addr constant [2 x i8] c"[\00" @.str194 = private unnamed_addr constant [2 x i8] c"]\00" @.str195 = private unnamed_addr constant [11 x i8] c"parse_list\00" @.str196 = private unnamed_addr constant [2 x i8] c",\00" @.str197 = private unnamed_addr constant [2 x i8] c"]\00" @.str198 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1062: index out of range: \00" @.str199 = private unnamed_addr constant [2 x i8] c"[\00" @.str200 = private unnamed_addr constant [5 x i8] c"emit\00" @.str201 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1065: index out of range: \00" @.str202 = private unnamed_addr constant [5 x i8] c"true\00" @.str203 = private unnamed_addr constant [6 x i8] c"false\00" @.str204 = private unnamed_addr constant [5 x i8] c"null\00" @.str205 = private unnamed_addr constant [4 x i8] c"new\00" @.str206 = private unnamed_addr constant [2 x i8] c"{\00" @.str207 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str208 = private unnamed_addr constant [3 x i8] c"fn\00" @.str209 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str210 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str211 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str212 = private unnamed_addr constant [4 x i8] c"and\00" @.str213 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str214 = private unnamed_addr constant [3 x i8] c"or\00" @.str215 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str216 = private unnamed_addr constant [4 x i8] c"not\00" @.str217 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str218 = private unnamed_addr constant [3 x i8] c"in\00" @.str219 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1078: index out of range: \00" @.str220 = private unnamed_addr constant [3 x i8] c"is\00" @.str221 = private unnamed_addr constant [4 x i8] c"try\00" @.str222 = private unnamed_addr constant [5 x i8] c"else\00" @.str223 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" @.str224 = private unnamed_addr constant [8 x i8] c"text_of\00" @.str225 = private unnamed_addr constant [2 x i8] c"(\00" @.str226 = private unnamed_addr constant [2 x i8] c")\00" @.str227 = private unnamed_addr constant [2 x i8] c"{\00" @.str228 = private unnamed_addr constant [20 x i8] c"expected expression\00" @.str229 = private unnamed_addr constant [2 x i8] c".\00" @.str230 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str231 = private unnamed_addr constant [7 x i8] c"Random\00" @.str232 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str233 = private unnamed_addr constant [11 x i8] c"read_bytes\00" @.str234 = private unnamed_addr constant [12 x i8] c"write_bytes\00" @.str235 = private unnamed_addr constant [6 x i8] c"Build\00" @.str236 = private unnamed_addr constant [12 x i8] c"schema_hash\00" @.str237 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str238 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str239 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str240 = private unnamed_addr constant [4 x i8] c"Set\00" @.str241 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str242 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str243 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str244 = private unnamed_addr constant [4 x i8] c"Job\00" @.str245 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str246 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str247 = private unnamed_addr constant [6 x i8] c"Query\00" @.str248 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str249 = private unnamed_addr constant [6 x i8] c"Light\00" @.str250 = private unnamed_addr constant [6 x i8] c"Value\00" @.str251 = private unnamed_addr constant [5 x i8] c"Json\00" @.str252 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str253 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str254 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str255 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str256 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str257 = private unnamed_addr constant [5 x i8] c"cell\00" @.str258 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str259 = private unnamed_addr constant [7 x i8] c"define\00" @.str260 = private unnamed_addr constant [6 x i8] c"named\00" @.str261 = private unnamed_addr constant [5 x i8] c"draw\00" @.str262 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str263 = private unnamed_addr constant [6 x i8] c"width\00" @.str264 = private unnamed_addr constant [7 x i8] c"height\00" @.str265 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str266 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str267 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str268 = private unnamed_addr constant [6 x i8] c"apply\00" @.str269 = private unnamed_addr constant [6 x i8] c"Input\00" @.str270 = private unnamed_addr constant [5 x i8] c"bind\00" @.str271 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str272 = private unnamed_addr constant [5 x i8] c"poll\00" @.str273 = private unnamed_addr constant [5 x i8] c"down\00" @.str274 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str275 = private unnamed_addr constant [7 x i8] c"record\00" @.str276 = private unnamed_addr constant [7 x i8] c"replay\00" @.str277 = private unnamed_addr constant [7 x i8] c"action\00" @.str278 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str279 = private unnamed_addr constant [7 x i8] c"active\00" @.str280 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str281 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str282 = private unnamed_addr constant [6 x i8] c"Input\00" @.str283 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str284 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str285 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str286 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str287 = private unnamed_addr constant [6 x i8] c"press\00" @.str288 = private unnamed_addr constant [8 x i8] c"release\00" @.str289 = private unnamed_addr constant [5 x i8] c"axis\00" @.str290 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str291 = private unnamed_addr constant [7 x i8] c"vector\00" @.str292 = private unnamed_addr constant [9 x i8] c"strength\00" @.str293 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str294 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str295 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str296 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str297 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str298 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str299 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str300 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str301 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str302 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str303 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str304 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str305 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str306 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str307 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str308 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str309 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str310 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str311 = private unnamed_addr constant [5 x i8] c"play\00" @.str312 = private unnamed_addr constant [5 x i8] c"clip\00" @.str313 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str314 = private unnamed_addr constant [6 x i8] c"fired\00" @.str315 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str316 = private unnamed_addr constant [3 x i8] c"to\00" @.str317 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str318 = private unnamed_addr constant [5 x i8] c"Http\00" @.str319 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str320 = private unnamed_addr constant [8 x i8] c"Process\00" @.str321 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str322 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str323 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str324 = private unnamed_addr constant [3 x i8] c"to\00" @.str325 = private unnamed_addr constant [6 x i8] c"chain\00" @.str326 = private unnamed_addr constant [6 x i8] c"delay\00" @.str327 = private unnamed_addr constant [6 x i8] c"value\00" @.str328 = private unnamed_addr constant [5 x i8] c"stop\00" @.str329 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str330 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str331 = private unnamed_addr constant [2 x i8] c"[\00" @.str332 = private unnamed_addr constant [3 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 [54 x i8] c"build/cfree/selfhost.ludic:1158: index out of range: \00" @.str337 = private unnamed_addr constant [10 x i8] c"p_postfix\00" @.str338 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str339 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str340 = private unnamed_addr constant [2 x i8] c"-\00" @.str341 = private unnamed_addr constant [2 x i8] c"-\00" @.str342 = private unnamed_addr constant [2 x i8] c"~\00" @.str343 = private unnamed_addr constant [2 x i8] c"~\00" @.str344 = private unnamed_addr constant [4 x i8] c"not\00" @.str345 = private unnamed_addr constant [4 x i8] c"not\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 [3 x i8] c"<<\00" @.str350 = private unnamed_addr constant [3 x i8] c">>\00" @.str351 = private unnamed_addr constant [2 x i8] c"&\00" @.str352 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1181: index out of range: \00" @.str353 = private unnamed_addr constant [2 x i8] c"+\00" @.str354 = private unnamed_addr constant [2 x i8] c"-\00" @.str355 = private unnamed_addr constant [2 x i8] c"|\00" @.str356 = private unnamed_addr constant [2 x i8] c"^\00" @.str357 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1187: index out of range: \00" @.str358 = private unnamed_addr constant [2 x i8] c"<\00" @.str359 = private unnamed_addr constant [3 x i8] c"<=\00" @.str360 = private unnamed_addr constant [2 x i8] c">\00" @.str361 = private unnamed_addr constant [3 x i8] c">=\00" @.str362 = private unnamed_addr constant [3 x i8] c"==\00" @.str363 = private unnamed_addr constant [3 x i8] c"!=\00" @.str364 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1193: index out of range: \00" @.str365 = private unnamed_addr constant [4 x i8] c"and\00" @.str366 = private unnamed_addr constant [4 x i8] c"and\00" @.str367 = private unnamed_addr constant [3 x i8] c"or\00" @.str368 = private unnamed_addr constant [3 x i8] c"or\00" @.str369 = private unnamed_addr constant [2 x i8] c"{\00" @.str370 = private unnamed_addr constant [2 x i8] c"}\00" @.str371 = private unnamed_addr constant [2 x i8] c":\00" @.str372 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1217: index out of range: \00" @.str373 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1217: index out of range: \00" @.str374 = private unnamed_addr constant [7 x i8] c"record\00" @.str375 = private unnamed_addr constant [2 x i8] c",\00" @.str376 = private unnamed_addr constant [2 x i8] c"}\00" @.str377 = private unnamed_addr constant [2 x i8] c"{\00" @.str378 = private unnamed_addr constant [2 x i8] c"}\00" @.str379 = private unnamed_addr constant [6 x i8] c"block\00" @.str380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1232: index out of range: \00" @.str381 = private unnamed_addr constant [2 x i8] c"}\00" @.str382 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str383 = private unnamed_addr constant [2 x i8] c"}\00" @.str384 = private unnamed_addr constant [2 x i8] c"@\00" @.str385 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1245: index out of range: \00" @.str386 = private unnamed_addr constant [9 x i8] c"alloc_ok\00" @.str387 = private unnamed_addr constant [2 x i8] c"(\00" @.str388 = private unnamed_addr constant [72 x i8] c"@alloc_ok needs its reason: @alloc_ok(\22a memo miss, bounded by MM_CAP\22)\00" @.str389 = private unnamed_addr constant [2 x i8] c")\00" @.str390 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1254: index out of range: \00" @.str391 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1262: index out of range: \00" @.str392 = private unnamed_addr constant [4 x i8] c"let\00" @.str393 = private unnamed_addr constant [4 x i8] c"var\00" @.str394 = private unnamed_addr constant [4 x i8] c"var\00" @.str395 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1266: index out of range: \00" @.str396 = private unnamed_addr constant [2 x i8] c":\00" @.str397 = private unnamed_addr constant [2 x i8] c"=\00" @.str398 = private unnamed_addr constant [7 x i8] c"return\00" @.str399 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1273: index out of range: \00" @.str400 = private unnamed_addr constant [2 x i8] c"}\00" @.str401 = private unnamed_addr constant [3 x i8] c"if\00" @.str402 = private unnamed_addr constant [5 x i8] c"else\00" @.str403 = private unnamed_addr constant [3 x i8] c"if\00" @.str404 = private unnamed_addr constant [6 x i8] c"while\00" @.str405 = private unnamed_addr constant [4 x i8] c"for\00" @.str406 = private unnamed_addr constant [2 x i8] c"(\00" @.str407 = private unnamed_addr constant [3 x i8] c"..\00" @.str408 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str409 = private unnamed_addr constant [9 x i8] c"dispatch\00" @.str410 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1294: index out of range: \00" @.str411 = private unnamed_addr constant [8 x i8] c"machine\00" @.str412 = private unnamed_addr constant [2 x i8] c"{\00" @.str413 = private unnamed_addr constant [2 x i8] c"}\00" @.str414 = private unnamed_addr constant [2 x i8] c"=\00" @.str415 = private unnamed_addr constant [10 x i8] c"stmt_body\00" @.str416 = private unnamed_addr constant [2 x i8] c"}\00" @.str417 = private unnamed_addr constant [5 x i8] c"emit\00" @.str418 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1310: index out of range: \00" @.str419 = private unnamed_addr constant [7 x i8] c"become\00" @.str420 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str421 = private unnamed_addr constant [7 x i8] c"enable\00" @.str422 = private unnamed_addr constant [8 x i8] c"disable\00" @.str423 = private unnamed_addr constant [7 x i8] c"enable\00" @.str424 = private unnamed_addr constant [6 x i8] c"layer\00" @.str425 = private unnamed_addr constant [6 x i8] c"layer\00" @.str426 = private unnamed_addr constant [7 x i8] c"system\00" @.str427 = private unnamed_addr constant [7 x i8] c"system\00" @.str428 = private unnamed_addr constant [3 x i8] c"on\00" @.str429 = private unnamed_addr constant [7 x i8] c"attach\00" @.str430 = private unnamed_addr constant [3 x i8] c"on\00" @.str431 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str432 = private unnamed_addr constant [2 x i8] c"{\00" @.str433 = private unnamed_addr constant [7 x i8] c"detach\00" @.str434 = private unnamed_addr constant [3 x i8] c"on\00" @.str435 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str436 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str437 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1335: index out of range: \00" @.str438 = private unnamed_addr constant [2 x i8] c"{\00" @.str439 = private unnamed_addr constant [6 x i8] c"break\00" @.str440 = private unnamed_addr constant [9 x i8] c"continue\00" @.str441 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str442 = private unnamed_addr constant [6 x i8] c"match\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 [2 x i8] c"{\00" @.str448 = private unnamed_addr constant [2 x i8] c"}\00" @.str449 = private unnamed_addr constant [2 x i8] c"=\00" @.str450 = private unnamed_addr constant [3 x i8] c"+=\00" @.str451 = private unnamed_addr constant [3 x i8] c"-=\00" @.str452 = private unnamed_addr constant [3 x i8] c"*=\00" @.str453 = private unnamed_addr constant [3 x i8] c"/=\00" @.str454 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1359: index out of range: \00" @.str455 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1359: index out of range: \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:1368: index out of range: \00" @.str459 = private unnamed_addr constant [2 x i8] c":\00" @.str460 = private unnamed_addr constant [2 x i8] c"=\00" @.str461 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1375: index out of range: \00" @.str462 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1375: index out of range: \00" @.str463 = private unnamed_addr constant [4 x i8] c"new\00" @.str464 = private unnamed_addr constant [6 x i8] c"match\00" @.str465 = private unnamed_addr constant [8 x i8] c"machine\00" @.str466 = private unnamed_addr constant [7 x i8] c"become\00" @.str467 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str468 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str469 = private unnamed_addr constant [6 x i8] c"query\00" @.str470 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str471 = private unnamed_addr constant [6 x i8] c"scene\00" @.str472 = private unnamed_addr constant [6 x i8] c"layer\00" @.str473 = private unnamed_addr constant [8 x i8] c"handler\00" @.str474 = private unnamed_addr constant [9 x i8] c"property\00" @.str475 = private unnamed_addr constant [6 x i8] c"model\00" @.str476 = private unnamed_addr constant [5 x i8] c"enum\00" @.str477 = private unnamed_addr constant [6 x i8] c"event\00" @.str478 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str479 = private unnamed_addr constant [9 x i8] c"function\00" @.str480 = private unnamed_addr constant [4 x i8] c"let\00" @.str481 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str482 = private unnamed_addr constant [4 x i8] c"var\00" @.str483 = private unnamed_addr constant [6 x i8] c"const\00" @.str484 = private unnamed_addr constant [3 x i8] c"if\00" @.str485 = private unnamed_addr constant [5 x i8] c"else\00" @.str486 = private unnamed_addr constant [6 x i8] c"while\00" @.str487 = private unnamed_addr constant [4 x i8] c"for\00" @.str488 = private unnamed_addr constant [7 x i8] c"return\00" @.str489 = private unnamed_addr constant [7 x i8] c"import\00" @.str490 = private unnamed_addr constant [8 x i8] c"program\00" @.str491 = private unnamed_addr constant [6 x i8] c"entry\00" @.str492 = private unnamed_addr constant [3 x i8] c"ui\00" @.str493 = private unnamed_addr constant [6 x i8] c"break\00" @.str494 = private unnamed_addr constant [9 x i8] c"continue\00" @.str495 = private unnamed_addr constant [4 x i8] c"and\00" @.str496 = private unnamed_addr constant [3 x i8] c"or\00" @.str497 = private unnamed_addr constant [4 x i8] c"not\00" @.str498 = private unnamed_addr constant [5 x i8] c"true\00" @.str499 = private unnamed_addr constant [6 x i8] c"false\00" @.str500 = private unnamed_addr constant [5 x i8] c"null\00" @.str501 = private unnamed_addr constant [2 x i8] c"<\00" @.str502 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1397: index out of range: \00" @.str503 = private unnamed_addr constant [2 x i8] c"(\00" @.str504 = private unnamed_addr constant [2 x i8] c"'\00" @.str505 = private unnamed_addr constant [9 x i8] c"parse_fn\00" @.str506 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\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 [2 x i8] c",\00" @.str511 = private unnamed_addr constant [2 x i8] c")\00" @.str512 = private unnamed_addr constant [5 x i8] c"void\00" @.str513 = private unnamed_addr constant [3 x i8] c"->\00" @.str514 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1428: index out of range: \00" @.str515 = private unnamed_addr constant [17 x i8] c"ns_rewrite_calls\00" @.str516 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1440: index out of range: \00" @.str517 = private unnamed_addr constant [2 x i8] c"{\00" @.str518 = private unnamed_addr constant [16 x i8] c"parse_namespace\00" @.str519 = private unnamed_addr constant [10 x i8] c"new []int\00" @.str520 = private unnamed_addr constant [2 x i8] c"}\00" @.str521 = private unnamed_addr constant [7 x i8] c"export\00" @.str522 = private unnamed_addr constant [9 x i8] c"internal\00" @.str523 = private unnamed_addr constant [6 x i8] c"alias\00" @.str524 = private unnamed_addr constant [9 x i8] c"function\00" @.str525 = private unnamed_addr constant [76 x i8] c"a namespace body holds functions or aliases: expected `function` or `alias`\00" @.str526 = private unnamed_addr constant [2 x i8] c"}\00" @.str527 = private unnamed_addr constant [2 x i8] c"_\00" @.str528 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1474: index out of range: \00" @.str529 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1474: index out of range: \00" @.str530 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1476: index out of range: \00" @.str531 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1481: index out of range: \00" @.str532 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1481: index out of range: \00" @.str533 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1482: index out of range: \00" @.str534 = private unnamed_addr constant [3 x i8] c"OS\00" @.str535 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str536 = private unnamed_addr constant [12 x i8] c"fwd_slashes\00" @.str537 = private unnamed_addr constant [1 x i8] c"\00" @.str538 = private unnamed_addr constant [7 x i8] c"dir_of\00" @.str539 = private unnamed_addr constant [10 x i8] c"join_path\00" @.str540 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str541 = private unnamed_addr constant [1 x i8] c"\00" @.str542 = private unnamed_addr constant [11 x i8] c"ludic_home\00" @.str543 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str544 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str545 = private unnamed_addr constant [1 x i8] c"\00" @.str546 = private unnamed_addr constant [16 x i8] c"path_lookup_dir\00" @.str547 = private unnamed_addr constant [3 x i8] c"rb\00" @.str548 = private unnamed_addr constant [5 x i8] c".exe\00" @.str549 = private unnamed_addr constant [3 x i8] c"rb\00" @.str550 = private unnamed_addr constant [1 x i8] c"\00" @.str551 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str552 = private unnamed_addr constant [17 x i8] c"warn_draw_sprite\00" @.str553 = 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" @.str554 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1646: index out of range: \00" @.str555 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1651: index out of range: \00" @.str556 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1664: index out of range: \00" @.str557 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1673: index out of range: \00" @.str558 = private unnamed_addr constant [19 x i8] c"register_namespace\00" @.str559 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1678: index out of range: \00" @.str560 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1684: index out of range: \00" @.str561 = private unnamed_addr constant [3 x i8] c"On\00" @.str562 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str563 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" @.str564 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str565 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str566 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str567 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str568 = private unnamed_addr constant [6 x i8] c"Start\00" @.str569 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str570 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str571 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1730: index out of range: \00" @.str572 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1735: index out of range: \00" @.str573 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1740: index out of range: \00" @.str574 = private unnamed_addr constant [2 x i8] c"@\00" @.str575 = private unnamed_addr constant [7 x i8] c"export\00" @.str576 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1769: index out of range: \00" @.str577 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1769: index out of range: \00" @.str578 = private unnamed_addr constant [2 x i8] c"@\00" @.str579 = private unnamed_addr constant [7 x i8] c"export\00" @.str580 = private unnamed_addr constant [7 x i8] c"export\00" @.str581 = private unnamed_addr constant [7 x i8] c"Public\00" @.str582 = private unnamed_addr constant [3 x i8] c"On\00" @.str583 = private unnamed_addr constant [2 x i8] c"(\00" @.str584 = private unnamed_addr constant [2 x i8] c")\00" @.str585 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str586 = private unnamed_addr constant [8 x i8] c"OnSpawn\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"OnDespawn\00" @.str590 = private unnamed_addr constant [2 x i8] c"(\00" @.str591 = private unnamed_addr constant [2 x i8] c",\00" @.str592 = private unnamed_addr constant [2 x i8] c":\00" @.str593 = private unnamed_addr constant [2 x i8] c")\00" @.str594 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str595 = private unnamed_addr constant [2 x i8] c"(\00" @.str596 = private unnamed_addr constant [2 x i8] c")\00" @.str597 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str598 = private unnamed_addr constant [2 x i8] c"(\00" @.str599 = private unnamed_addr constant [2 x i8] c")\00" @.str600 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str601 = private unnamed_addr constant [2 x i8] c"(\00" @.str602 = private unnamed_addr constant [2 x i8] c")\00" @.str603 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str604 = private unnamed_addr constant [2 x i8] c"(\00" @.str605 = private unnamed_addr constant [2 x i8] c")\00" @.str606 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str607 = private unnamed_addr constant [6 x i8] c"Start\00" @.str608 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str609 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str610 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str611 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str612 = private unnamed_addr constant [7 x i8] c"Server\00" @.str613 = private unnamed_addr constant [7 x i8] c"server\00" @.str614 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str615 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str616 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str617 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str618 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str619 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str620 = private unnamed_addr constant [7 x i8] c"System\00" @.str621 = private unnamed_addr constant [7 x i8] c"Update\00" @.str622 = private unnamed_addr constant [2 x i8] c"(\00" @.str623 = private unnamed_addr constant [2 x i8] c")\00" @.str624 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str625 = private unnamed_addr constant [2 x i8] c"(\00" @.str626 = private unnamed_addr constant [2 x i8] c",\00" @.str627 = private unnamed_addr constant [2 x i8] c")\00" @.str628 = private unnamed_addr constant [10 x i8] c"Namespace\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 [14 x i8] c"deterministic\00" @.str632 = private unnamed_addr constant [8 x i8] c"RowVerb\00" @.str633 = private unnamed_addr constant [8 x i8] c"Machine\00" @.str634 = private unnamed_addr constant [11 x i8] c"AppendOnly\00" @.str635 = private unnamed_addr constant [6 x i8] c"ByKey\00" @.str636 = private unnamed_addr constant [7 x i8] c"PerMap\00" @.str637 = private unnamed_addr constant [8 x i8] c"Chunked\00" @.str638 = private unnamed_addr constant [8 x i8] c"TextKey\00" @.str639 = private unnamed_addr constant [9 x i8] c"alloc_ok\00" @.str640 = private unnamed_addr constant [2 x i8] c"(\00" @.str641 = private unnamed_addr constant [72 x i8] c"@alloc_ok needs its reason: @alloc_ok(\22a memo miss, bounded by MM_CAP\22)\00" @.str642 = private unnamed_addr constant [2 x i8] c")\00" @.str643 = private unnamed_addr constant [8 x i8] c"creates\00" @.str644 = private unnamed_addr constant [9 x i8] c"releases\00" @.str645 = private unnamed_addr constant [2 x i8] c"(\00" @.str646 = private unnamed_addr constant [2 x i8] c")\00" @.str647 = private unnamed_addr constant [8 x i8] c"creates\00" @.str648 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str649 = private unnamed_addr constant [2 x i8] c"(\00" @.str650 = private unnamed_addr constant [2 x i8] c")\00" @.str651 = private unnamed_addr constant [2 x i8] c"(\00" @.str652 = private unnamed_addr constant [2 x i8] c"(\00" @.str653 = private unnamed_addr constant [2 x i8] c")\00" @.str654 = private unnamed_addr constant [7 x i8] c"friend\00" @.str655 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1838: index out of range: \00" @.str656 = private unnamed_addr constant [7 x i8] c"module\00" @.str657 = private unnamed_addr constant [7 x i8] c"module\00" @.str658 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1842: index out of range: \00" @.str659 = private unnamed_addr constant [8 x i8] c"numbers\00" @.str660 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1846: index out of range: \00" @.str661 = private unnamed_addr constant [6 x i8] c"float\00" @.str662 = private unnamed_addr constant [7 x i8] c"import\00" @.str663 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1852: index out of range: \00" @.str664 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str665 = private unnamed_addr constant [5 x i8] c"enum\00" @.str666 = private unnamed_addr constant [18 x i8] c"parse_one_decl_in\00" @.str667 = private unnamed_addr constant [6 x i8] c"event\00" @.str668 = private unnamed_addr constant [9 x i8] c"property\00" @.str669 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1866: index out of range: \00" @.str670 = private unnamed_addr constant [6 x i8] c"model\00" @.str671 = private unnamed_addr constant [6 x i8] c"scene\00" @.str672 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str673 = private unnamed_addr constant [8 x i8] c"handler\00" @.str674 = private unnamed_addr constant [7 x i8] c"server\00" @.str675 = private unnamed_addr constant [7 x i8] c"model_\00" @.str676 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str677 = private unnamed_addr constant [7 x i8] c"model_\00" @.str678 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str679 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str680 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str681 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str682 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str683 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str684 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str685 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str686 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str687 = private unnamed_addr constant [6 x i8] c"Start\00" @.str688 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str689 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str690 = private unnamed_addr constant [3 x i8] c"ui\00" @.str691 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str692 = private unnamed_addr constant [5 x i8] c"port\00" @.str693 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1913: index out of range: \00" @.str694 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1913: index out of range: \00" @.str695 = private unnamed_addr constant [2 x i8] c"{\00" @.str696 = private unnamed_addr constant [5 x i8] c"bind\00" @.str697 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1914: index out of range: \00" @.str698 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1914: index out of range: \00" @.str699 = private unnamed_addr constant [2 x i8] c"{\00" @.str700 = private unnamed_addr constant [5 x i8] c"open\00" @.str701 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1915: index out of range: \00" @.str702 = private unnamed_addr constant [9 x i8] c"registry\00" @.str703 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1918: index out of range: \00" @.str704 = private unnamed_addr constant [9 x i8] c"registry\00" @.str705 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1921: index out of range: \00" @.str706 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1921: index out of range: \00" @.str707 = private unnamed_addr constant [3 x i8] c"of\00" @.str708 = private unnamed_addr constant [4 x i8] c"def\00" @.str709 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1922: index out of range: \00" @.str710 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1922: index out of range: \00" @.str711 = private unnamed_addr constant [5 x i8] c"view\00" @.str712 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1923: index out of range: \00" @.str713 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1923: index out of range: \00" @.str714 = private unnamed_addr constant [2 x i8] c"{\00" @.str715 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1923: index out of range: \00" @.str716 = private unnamed_addr constant [2 x i8] c"(\00" @.str717 = private unnamed_addr constant [10 x i8] c"component\00" @.str718 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1924: index out of range: \00" @.str719 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1924: index out of range: \00" @.str720 = private unnamed_addr constant [2 x i8] c"{\00" @.str721 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1924: index out of range: \00" @.str722 = private unnamed_addr constant [2 x i8] c"(\00" @.str723 = private unnamed_addr constant [6 x i8] c"state\00" @.str724 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1925: index out of range: \00" @.str725 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1925: index out of range: \00" @.str726 = private unnamed_addr constant [2 x i8] c"{\00" @.str727 = private unnamed_addr constant [7 x i8] c"action\00" @.str728 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1926: index out of range: \00" @.str729 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1926: index out of range: \00" @.str730 = private unnamed_addr constant [2 x i8] c"{\00" @.str731 = private unnamed_addr constant [8 x i8] c"reducer\00" @.str732 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1927: index out of range: \00" @.str733 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1927: index out of range: \00" @.str734 = private unnamed_addr constant [3 x i8] c"on\00" @.str735 = private unnamed_addr constant [8 x i8] c"reducer\00" @.str736 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1928: index out of range: \00" @.str737 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1928: index out of range: \00" @.str738 = private unnamed_addr constant [3 x i8] c"in\00" @.str739 = private unnamed_addr constant [4 x i8] c"var\00" @.str740 = 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" @.str741 = private unnamed_addr constant [4 x i8] c"let\00" @.str742 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1936: index out of range: \00" @.str743 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1936: index out of range: \00" @.str744 = private unnamed_addr constant [2 x i8] c":\00" @.str745 = private unnamed_addr constant [20 x i8] c"a module-level let \00" @.str746 = private unnamed_addr constant [17 x i8] c" needs its value\00" @.str747 = private unnamed_addr constant [6 x i8] c"const\00" @.str748 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str749 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1945: index out of range: \00" @.str750 = private unnamed_addr constant [9 x i8] c"function\00" @.str751 = private unnamed_addr constant [9 x i8] c"function\00" @.str752 = private unnamed_addr constant [7 x i8] c"extern\00" @.str753 = private unnamed_addr constant [6 x i8] c"entry\00" @.str754 = private unnamed_addr constant [5 x i8] c"test\00" @.str755 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str756 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1973: index out of range: \00" @.str757 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1975: index out of range: \00" @.str758 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str759 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1977: index out of range: \00" @.str760 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:1979: index out of range: \00" @.str761 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str762 = private unnamed_addr constant [14 x i8] c"do_import_dir\00" @.str763 = private unnamed_addr constant [8 x i8] c"fs_list\00" @.str764 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str765 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2022: index out of range: \00" @.str766 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2022: index out of range: \00" @.str767 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2023: index out of range: \00" @.str768 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2023: index out of range: \00" @.str769 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2023: index out of range: \00" @.str770 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2023: index out of range: \00" @.str771 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2028: index out of range: \00" @.str772 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str773 = private unnamed_addr constant [2 x i8] c"/\00" @.str774 = private unnamed_addr constant [10 x i8] c"barrel_of\00" @.str775 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str776 = private unnamed_addr constant [1 x i8] c"\00" @.str777 = private unnamed_addr constant [12 x i8] c"index.ludic\00" @.str778 = private unnamed_addr constant [13 x i8] c"/index.ludic\00" @.str779 = private unnamed_addr constant [10 x i8] c"do_import\00" @.str780 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str781 = private unnamed_addr constant [1 x i8] c"\00" @.str782 = private unnamed_addr constant [9 x i8] c"import: \00" @.str783 = private unnamed_addr constant [42 x i8] c" is a directory with no index.ludic (add \00" @.str784 = private unnamed_addr constant [22 x i8] c" listing its imports)\00" @.str785 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str786 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str787 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str788 = private unnamed_addr constant [1 x i8] c"\00" @.str789 = private unnamed_addr constant [1 x i8] c"\00" @.str790 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str791 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str792 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2108: index out of range: \00" @.str793 = private unnamed_addr constant [5 x i8] c"seed\00" @.str794 = private unnamed_addr constant [5 x i8] c"rng_\00" @.str795 = private unnamed_addr constant [7 x i8] c"value_\00" @.str796 = private unnamed_addr constant [6 x i8] c"json_\00" @.str797 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2125: index out of range: \00" @.str798 = private unnamed_addr constant [1 x i8] c"\00" @.str799 = private unnamed_addr constant [32 x i8] c"runtime/native/namespaces.ludic\00" @.str800 = private unnamed_addr constant [27 x i8] c"runtime/native/bytes.ludic\00" @.str801 = private unnamed_addr constant [5 x i8] c"rng_\00" @.str802 = private unnamed_addr constant [5 x i8] c"seed\00" @.str803 = private unnamed_addr constant [1 x i8] c"\00" @.str804 = private unnamed_addr constant [25 x i8] c"runtime/native/rng.ludic\00" @.str805 = private unnamed_addr constant [1 x i8] c"\00" @.str806 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str807 = private unnamed_addr constant [1 x i8] c"\00" @.str808 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str809 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str810 = private unnamed_addr constant [1 x i8] c"\00" @.str811 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str812 = private unnamed_addr constant [1 x i8] c"\00" @.str813 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str814 = private unnamed_addr constant [1 x i8] c"\00" @.str815 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str816 = private unnamed_addr constant [1 x i8] c"\00" @.str817 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str818 = private unnamed_addr constant [1 x i8] c"\00" @.str819 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str820 = private unnamed_addr constant [1 x i8] c"\00" @.str821 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str822 = private unnamed_addr constant [7 x i8] c"value_\00" @.str823 = private unnamed_addr constant [6 x i8] c"json_\00" @.str824 = private unnamed_addr constant [1 x i8] c"\00" @.str825 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str826 = private unnamed_addr constant [1 x i8] c"\00" @.str827 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str828 = private unnamed_addr constant [1 x i8] c"\00" @.str829 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str830 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str831 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str832 = private unnamed_addr constant [1 x i8] c"\00" @.str833 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str834 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str835 = private unnamed_addr constant [1 x i8] c"\00" @.str836 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str837 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str838 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str839 = private unnamed_addr constant [1 x i8] c"\00" @.str840 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str841 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str842 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str843 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str844 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str845 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str846 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str847 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str848 = private unnamed_addr constant [1 x i8] c"\00" @.str849 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str850 = private unnamed_addr constant [1 x i8] c"\00" @.str851 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str852 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str853 = private unnamed_addr constant [1 x i8] c"\00" @.str854 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str855 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str856 = private unnamed_addr constant [1 x i8] c"\00" @.str857 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str858 = private unnamed_addr constant [1 x i8] c"\00" @.str859 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str860 = private unnamed_addr constant [1 x i8] c"\00" @.str861 = private unnamed_addr constant [25 x i8] c"runtime/native/udp.ludic\00" @.str862 = private unnamed_addr constant [1 x i8] c"\00" @.str863 = private unnamed_addr constant [26 x i8] c"runtime/native/lres.ludic\00" @.str864 = private unnamed_addr constant [1 x i8] c"\00" @.str865 = private unnamed_addr constant [29 x i8] c"runtime/native/process.ludic\00" @.str866 = private unnamed_addr constant [1 x i8] c"\00" @.str867 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str868 = private unnamed_addr constant [1 x i8] c"\00" @.str869 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str870 = private unnamed_addr constant [1 x i8] c"\00" @.str871 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str872 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str873 = private unnamed_addr constant [1 x i8] c"\00" @.str874 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str875 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str876 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str877 = private unnamed_addr constant [5 x i8] c"Body\00" @.str878 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str879 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str880 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str881 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str882 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str883 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str884 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str885 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str886 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str887 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str888 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str889 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str890 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str891 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str892 = private unnamed_addr constant [14 x i8] c"parse_program\00" @.str893 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str894 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str895 = private unnamed_addr constant [7 x i8] c"Update\00" @.str896 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str897 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str898 = private unnamed_addr constant [7 x i8] c"Update\00" @.str899 = private unnamed_addr constant [5 x i8] c"Body\00" @.str900 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str901 = private unnamed_addr constant [7 x i8] c"Update\00" @.str902 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str903 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str904 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str905 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str906 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str907 = private unnamed_addr constant [7 x i8] c"Render\00" @.str908 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str909 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str910 = private unnamed_addr constant [7 x i8] c"Render\00" @.str911 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str912 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str913 = private unnamed_addr constant [7 x i8] c"Render\00" @.str914 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str915 = private unnamed_addr constant [7 x i8] c"import\00" @.str916 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2469: index out of range: \00" @.str917 = private unnamed_addr constant [2 x i8] c"@\00" @.str918 = private unnamed_addr constant [2 x i8] c"(\00" @.str919 = private unnamed_addr constant [2 x i8] c"(\00" @.str920 = private unnamed_addr constant [2 x i8] c")\00" @.str921 = private unnamed_addr constant [8 x i8] c"program\00" @.str922 = private unnamed_addr constant [2 x i8] c"{\00" @.str923 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2480: index out of range: \00" @.str924 = private unnamed_addr constant [2 x i8] c"}\00" @.str925 = private unnamed_addr constant [2 x i8] c"<\00" @.str926 = private unnamed_addr constant [2 x i8] c"{\00" @.str927 = private unnamed_addr constant [2 x i8] c"}\00" @.str928 = private unnamed_addr constant [2 x i8] c"@\00" @.str929 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str930 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str931 = private unnamed_addr constant [6 x i8] c"frame\00" @.str932 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str933 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str934 = private unnamed_addr constant [3 x i8] c"[]\00" @.str935 = private unnamed_addr constant [7 x i8] c"Target\00" @.str936 = private unnamed_addr constant [7 x i8] c"Column\00" @.str937 = private unnamed_addr constant [7 x i8] c"Target\00" @.str938 = private unnamed_addr constant [3 x i8] c"[]\00" @.str939 = private unnamed_addr constant [5 x i8] c"owns\00" @.str940 = private unnamed_addr constant [2 x i8] c"(\00" @.str941 = private unnamed_addr constant [2 x i8] c")\00" @.str942 = private unnamed_addr constant [3 x i8] c"[\22\00" @.str943 = private unnamed_addr constant [16 x i8] c"parse_component\00" @.str944 = private unnamed_addr constant [3 x i8] c"\22]\00" @.str945 = private unnamed_addr constant [4 x i8] c"max\00" @.str946 = private unnamed_addr constant [2 x i8] c"(\00" @.str947 = private unnamed_addr constant [48 x i8] c"@max takes the most the list may hold: @max(64)\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 [2 x i8] c"]\00" @.str951 = private unnamed_addr constant [2 x i8] c"(\00" @.str952 = private unnamed_addr constant [2 x i8] c"(\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 [2 x i8] c".\00" @.str956 = private unnamed_addr constant [2 x i8] c".\00" @.str957 = private unnamed_addr constant [2 x i8] c"=\00" @.str958 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2561: index out of range: \00" @.str959 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2561: index out of range: \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 [12 x i8] c"cancellable\00" @.str963 = private unnamed_addr constant [2 x i8] c"{\00" @.str964 = private unnamed_addr constant [2 x i8] c"}\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 [54 x i8] c"build/cfree/selfhost.ludic:2585: index out of range: \00" @.str968 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2585: index out of range: \00" @.str969 = private unnamed_addr constant [12 x i8] c"parse_event\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 [7 x i8] c"Update\00" @.str973 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2594: index out of range: \00" @.str974 = private unnamed_addr constant [2 x i8] c"@\00" @.str975 = private unnamed_addr constant [2 x i8] c"(\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"phase\00" @.str979 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str980 = private unnamed_addr constant [13 x i8] c"parse_system\00" @.str981 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\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 [17 x i8] c"parse_query_tail\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 [2 x i8] c"]\00" @.str989 = private unnamed_addr constant [6 x i8] c"where\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 [16 x i8] c"parse_query_for\00" @.str993 = private unnamed_addr constant [2 x i8] c",\00" @.str994 = private unnamed_addr constant [2 x i8] c")\00" @.str995 = private unnamed_addr constant [6 x i8] c"query\00" @.str996 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str997 = private unnamed_addr constant [4 x i8] c"and\00" @.str998 = private unnamed_addr constant [2 x i8] c"(\00" @.str999 = private unnamed_addr constant [2 x i8] c")\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 [6 x i8] c"these\00" @.str1003 = private unnamed_addr constant [2 x i8] c"[\00" @.str1004 = private unnamed_addr constant [2 x i8] c"]\00" @.str1005 = private unnamed_addr constant [19 x i8] c"parse_queries_anno\00" @.str1006 = private unnamed_addr constant [2 x i8] c"{\00" @.str1007 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2695: index out of range: \00" @.str1008 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2695: index out of range: \00" @.str1009 = private unnamed_addr constant [2 x i8] c"}\00" @.str1010 = private unnamed_addr constant [2 x i8] c",\00" @.str1011 = private unnamed_addr constant [2 x i8] c"]\00" @.str1012 = private unnamed_addr constant [3 x i8] c"on\00" @.str1013 = private unnamed_addr constant [2 x i8] c",\00" @.str1014 = private unnamed_addr constant [2 x i8] c")\00" @.str1015 = private unnamed_addr constant [2 x i8] c"{\00" @.str1016 = private unnamed_addr constant [2 x i8] c"}\00" @.str1017 = private unnamed_addr constant [2 x i8] c"}\00" @.str1018 = private unnamed_addr constant [24 x i8] c"parse_component_records\00" @.str1019 = private unnamed_addr constant [2 x i8] c",\00" @.str1020 = private unnamed_addr constant [2 x i8] c":\00" @.str1021 = private unnamed_addr constant [2 x i8] c"{\00" @.str1022 = private unnamed_addr constant [2 x i8] c"}\00" @.str1023 = private unnamed_addr constant [6 x i8] c"start\00" @.str1024 = private unnamed_addr constant [7 x i8] c"public\00" @.str1025 = private unnamed_addr constant [6 x i8] c"shows\00" @.str1026 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str1027 = private unnamed_addr constant [6 x i8] c"loads\00" @.str1028 = private unnamed_addr constant [6 x i8] c"start\00" @.str1029 = private unnamed_addr constant [6 x i8] c"shows\00" @.str1030 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str1031 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2755: index out of range: \00" @.str1032 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2755: index out of range: \00" @.str1033 = private unnamed_addr constant [5 x i8] c"then\00" @.str1034 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str1035 = private unnamed_addr constant [6 x i8] c"loads\00" @.str1036 = private unnamed_addr constant [5 x i8] c"then\00" @.str1037 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str1038 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str1039 = private unnamed_addr constant [12 x i8] c"parse_scene\00" @.str1040 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str1041 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str1042 = private unnamed_addr constant [6 x i8] c"_exit\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 [2 x i8] c"}\00" @.str1046 = private unnamed_addr constant [3 x i8] c"on\00" @.str1047 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2767: index out of range: \00" @.str1048 = private unnamed_addr constant [6 x i8] c"enter\00" @.str1049 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1050 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str1051 = private unnamed_addr constant [6 x i8] c"layer\00" @.str1052 = private unnamed_addr constant [2 x i8] c",\00" @.str1053 = private unnamed_addr constant [7 x i8] c"public\00" @.str1054 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str1055 = private unnamed_addr constant [6 x i8] c"_show\00" @.str1056 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str1057 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str1058 = private unnamed_addr constant [2 x i8] c"{\00" @.str1059 = private unnamed_addr constant [2 x i8] c"}\00" @.str1060 = private unnamed_addr constant [2 x i8] c"@\00" @.str1061 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str1062 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str1063 = private unnamed_addr constant [2 x i8] c")\00" @.str1064 = private unnamed_addr constant [8 x i8] c"handler\00" @.str1065 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str1066 = private unnamed_addr constant [2 x i8] c"_\00" @.str1067 = private unnamed_addr constant [2 x i8] c"}\00" @.str1068 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str1069 = private unnamed_addr constant [2 x i8] c"}\00" @.str1070 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str1071 = private unnamed_addr constant [17 x i8] c"scene_add_loader\00" @.str1072 = private unnamed_addr constant [7 x i8] c"Update\00" @.str1073 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str1074 = private unnamed_addr constant [5 x i8] c"pump\00" @.str1075 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str1076 = private unnamed_addr constant [6 x i8] c"ready\00" @.str1077 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str1078 = private unnamed_addr constant [7 x i8] c"Render\00" @.str1079 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str1080 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str1081 = private unnamed_addr constant [16 x i8] c"scene_add_timer\00" @.str1082 = private unnamed_addr constant [6 x i8] c"_left\00" @.str1083 = private unnamed_addr constant [4 x i8] c"int\00" @.str1084 = private unnamed_addr constant [2 x i8] c"=\00" @.str1085 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2839: index out of range: \00" @.str1086 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str1087 = private unnamed_addr constant [7 x i8] c"Update\00" @.str1088 = private unnamed_addr constant [3 x i8] c"-=\00" @.str1089 = private unnamed_addr constant [3 x i8] c"<=\00" @.str1090 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2859: index out of range: \00" @.str1091 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2859: index out of range: \00" @.str1092 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2859: index out of range: \00" @.str1093 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2868: index out of range: \00" @.str1094 = private unnamed_addr constant [3 x i8] c"id\00" @.str1095 = private unnamed_addr constant [5 x i8] c"goto\00" @.str1096 = private unnamed_addr constant [3 x i8] c"==\00" @.str1097 = private unnamed_addr constant [3 x i8] c"id\00" @.str1098 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str1099 = private unnamed_addr constant [12 x i8] c"ui_gotos_in\00" @.str1100 = private unnamed_addr constant [10 x i8] c"UiClicked\00" @.str1101 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2882: index out of range: \00" @.str1102 = private unnamed_addr constant [2 x i8] c"{\00" @.str1103 = private unnamed_addr constant [2 x i8] c"}\00" @.str1104 = private unnamed_addr constant [2 x i8] c"(\00" @.str1105 = private unnamed_addr constant [2 x i8] c")\00" @.str1106 = private unnamed_addr constant [11 x i8] c"parse_enum\00" @.str1107 = private unnamed_addr constant [2 x i8] c",\00" @.str1108 = private unnamed_addr constant [2 x i8] c")\00" @.str1109 = private unnamed_addr constant [2 x i8] c",\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 [5 x i8] c"Sync\00" @.str1115 = private unnamed_addr constant [16 x i8] c"parse_archetype\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 [2 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 [13 x i8] c"parse_extern\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 [5 x i8] c"void\00" @.str1125 = private unnamed_addr constant [3 x i8] c"->\00" @.str1126 = private unnamed_addr constant [2 x i8] c"=\00" @.str1127 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2937: index out of range: \00" @.str1128 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2946: index out of range: \00" @.str1129 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2946: index out of range: \00" @.str1130 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:2946: index out of range: \00" @.str1131 = private unnamed_addr constant [2 x i8] c":\00" @.str1132 = private unnamed_addr constant [2 x i8] c":\00" @.str1133 = private unnamed_addr constant [13 x i8] c"parse_widget\00" @.str1134 = private unnamed_addr constant [2 x i8] c"{\00" @.str1135 = private unnamed_addr constant [2 x i8] c"}\00" @.str1136 = private unnamed_addr constant [2 x i8] c"}\00" @.str1137 = private unnamed_addr constant [2 x i8] c"{\00" @.str1138 = private unnamed_addr constant [2 x i8] c"}\00" @.str1139 = private unnamed_addr constant [2 x i8] c"<\00" @.str1140 = private unnamed_addr constant [1 x i8] c"\00" @.str1141 = private unnamed_addr constant [2 x i8] c">\00" @.str1142 = private unnamed_addr constant [2 x i8] c"|\00" @.str1143 = private unnamed_addr constant [11 x i8] c"gen_params\00" @.str1144 = private unnamed_addr constant [2 x i8] c",\00" @.str1145 = private unnamed_addr constant [2 x i8] c">\00" @.str1146 = private unnamed_addr constant [1 x i8] c"\00" @.str1147 = private unnamed_addr constant [4 x i8] c"Sl_\00" @.str1148 = private unnamed_addr constant [11 x i8] c"gen_mangle\00" @.str1149 = private unnamed_addr constant [2 x i8] c"_\00" @.str1150 = private unnamed_addr constant [10 x i8] c"gen_split\00" @.str1151 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3031: index out of range: \00" @.str1152 = private unnamed_addr constant [13 x i8] c"gen_mentions\00" @.str1153 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3054: index out of range: \00" @.str1154 = private unnamed_addr constant [1 x i8] c"\00" @.str1155 = private unnamed_addr constant [2 x i8] c"$\00" @.str1156 = private unnamed_addr constant [13 x i8] c"gen_instance\00" @.str1157 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3066: index out of range: \00" @.str1158 = private unnamed_addr constant [2 x i8] c"|\00" @.str1159 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3068: index out of range: \00" @.str1160 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3069: index out of range: \00" @.str1161 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3070: index out of range: \00" @.str1162 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3070: index out of range: \00" @.str1163 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3070: index out of range: \00" @.str1164 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3080: index out of range: \00" @.str1165 = private unnamed_addr constant [2 x i8] c"<\00" @.str1166 = private unnamed_addr constant [14 x i8] c"gen_type_args\00" @.str1167 = private unnamed_addr constant [3 x i8] c">>\00" @.str1168 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3091: index out of range: \00" @.str1169 = private unnamed_addr constant [2 x i8] c">\00" @.str1170 = private unnamed_addr constant [2 x i8] c">\00" @.str1171 = private unnamed_addr constant [2 x i8] c",\00" @.str1172 = private unnamed_addr constant [2 x i8] c"(\00" @.str1173 = private unnamed_addr constant [1 x i8] c"\00" @.str1174 = private unnamed_addr constant [2 x i8] c")\00" @.str1175 = private unnamed_addr constant [2 x i8] c"|\00" @.str1176 = private unnamed_addr constant [15 x i8] c"ns_parse_alias\00" @.str1177 = private unnamed_addr constant [2 x i8] c",\00" @.str1178 = private unnamed_addr constant [2 x i8] c")\00" @.str1179 = private unnamed_addr constant [2 x i8] c"=\00" @.str1180 = private unnamed_addr constant [2 x i8] c".\00" @.str1181 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str1182 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3145: index out of range: \00" @.str1183 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3145: index out of range: \00" @.str1184 = private unnamed_addr constant [16 x i8] c"ns_alias_labels\00" @.str1185 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3152: index out of range: \00" @.str1186 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3154: index out of range: \00" @.str1187 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3155: index out of range: \00" @.str1188 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3160: index out of range: \00" @.str1189 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3163: index out of range: \00" @.str1190 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3163: index out of range: \00" @.str1191 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3164: index out of range: \00" @.str1192 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3181: index out of range: \00" @.str1193 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3185: index out of range: \00" @.str1194 = private unnamed_addr constant [2 x i8] c",\00" @.str1195 = private unnamed_addr constant [13 x i8] c"mod_list_has\00" @.str1196 = private unnamed_addr constant [2 x i8] c",\00" @.str1197 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3214: index out of range: \00" @.str1198 = private unnamed_addr constant [2 x i8] c",\00" @.str1199 = private unnamed_addr constant [16 x i8] c"mod_parse_names\00" @.str1200 = private unnamed_addr constant [2 x i8] c",\00" @.str1201 = private unnamed_addr constant [2 x i8] c",\00" @.str1202 = private unnamed_addr constant [2 x i8] c",\00" @.str1203 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3236: index out of range: \00" @.str1204 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3236: index out of range: \00" @.str1205 = private unnamed_addr constant [1 x i8] c"\00" @.str1206 = private unnamed_addr constant [1 x i8] c"\00" @.str1207 = private unnamed_addr constant [8 x i8] c"module \00" @.str1208 = private unnamed_addr constant [14 x i8] c"mod_set_layer\00" @.str1209 = private unnamed_addr constant [14 x i8] c" is in layer \00" @.str1210 = private unnamed_addr constant [34 x i8] c", and this line puts it in layer \00" @.str1211 = private unnamed_addr constant [3 x i8] c"in\00" @.str1212 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3254: index out of range: \00" @.str1213 = private unnamed_addr constant [6 x i8] c"layer\00" @.str1214 = private unnamed_addr constant [5 x i8] c"uses\00" @.str1215 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3260: index out of range: \00" @.str1216 = private unnamed_addr constant [2 x i8] c",\00" @.str1217 = private unnamed_addr constant [5 x i8] c"uses\00" @.str1218 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3265: index out of range: \00" @.str1219 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3269: index out of range: \00" @.str1220 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3269: index out of range: \00" @.str1221 = private unnamed_addr constant [15 x i8] c"mod_parse_line\00" @.str1222 = private unnamed_addr constant [1 x i8] c"\00" @.str1223 = private unnamed_addr constant [3 x i8] c"of\00" @.str1224 = private unnamed_addr constant [17 x i8] c"mod_parse_friend\00" @.str1225 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3294: index out of range: \00" @.str1226 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3295: index out of range: \00" @.str1227 = private unnamed_addr constant [1 x i8] c"\00" @.str1228 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3295: index out of range: \00" @.str1229 = private unnamed_addr constant [12 x i8] c"pkg_name_of\00" @.str1230 = private unnamed_addr constant [1 x i8] c"\00" @.str1231 = private unnamed_addr constant [2 x i8] c"_\00" @.str1232 = private unnamed_addr constant [13 x i8] c"pkg_file_set\00" @.str1233 = private unnamed_addr constant [1 x i8] c"\00" @.str1234 = private unnamed_addr constant [1 x i8] c"\00" @.str1235 = private unnamed_addr constant [1 x i8] c"\00" @.str1236 = private unnamed_addr constant [1 x i8] c"\00" @.str1237 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3337: index out of range: \00" @.str1238 = private unnamed_addr constant [10 x i8] c"mod_names\00" @.str1239 = private unnamed_addr constant [1 x i8] c"\00" @.str1240 = private unnamed_addr constant [7 x i8] c"layer \00" @.str1241 = private unnamed_addr constant [9 x i8] c"mod_node\00" @.str1242 = private unnamed_addr constant [2 x i8] c",\00" @.str1243 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3366: index out of range: \00" @.str1244 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3367: index out of range: \00" @.str1245 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3370: index out of range: \00" @.str1246 = private unnamed_addr constant [2 x i8] c",\00" @.str1247 = private unnamed_addr constant [15 x i8] c"mod_node_edges\00" @.str1248 = private unnamed_addr constant [2 x i8] c",\00" @.str1249 = private unnamed_addr constant [2 x i8] c",\00" @.str1250 = private unnamed_addr constant [4 x i8] c"-> \00" @.str1251 = private unnamed_addr constant [9 x i8] c"mod_walk\00" @.str1252 = private unnamed_addr constant [4 x i8] c"-> \00" @.str1253 = private unnamed_addr constant [5 x i8] c" -> \00" @.str1254 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3382: index out of range: \00" @.str1255 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3383: index out of range: \00" @.str1256 = private unnamed_addr constant [41 x i8] c"the modules' uses go round in a circle: \00" @.str1257 = 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" @.str1258 = private unnamed_addr constant [2 x i8] c",\00" @.str1259 = private unnamed_addr constant [2 x i8] c",\00" @.str1260 = private unnamed_addr constant [2 x i8] c",\00" @.str1261 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3392: index out of range: \00" @.str1262 = private unnamed_addr constant [5 x i8] c" -> \00" @.str1263 = private unnamed_addr constant [2 x i8] c",\00" @.str1264 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3402: index out of range: \00" @.str1265 = private unnamed_addr constant [1 x i8] c"\00" @.str1266 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3402: index out of range: \00" @.str1267 = private unnamed_addr constant [20 x i8] c"LUDIC_NATIVE_TARGET\00" @.str1268 = private unnamed_addr constant [12 x i8] c"windows-x64\00" @.str1269 = private unnamed_addr constant [16 x i8] c"/System/Library\00" @.str1270 = private unnamed_addr constant [12 x i8] c"macos-arm64\00" @.str1271 = private unnamed_addr constant [10 x i8] c"linux-x64\00" @.str1272 = private unnamed_addr constant [13 x i8] c"native_words\00" @.str1273 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3453: index out of range: \00" @.str1274 = private unnamed_addr constant [16 x i8] c"native_note_pkg\00" @.str1275 = private unnamed_addr constant [2 x i8] c"/\00" @.str1276 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str1277 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3476: index out of range: \00" @.str1278 = private unnamed_addr constant [7 x i8] c"native\00" @.str1279 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3476: index out of range: \00" @.str1280 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3477: index out of range: \00" @.str1281 = private unnamed_addr constant [1 x i8] c"\00" @.str1282 = private unnamed_addr constant [17 x i8] c"; ludic-native: \00" @.str1283 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3488: index out of range: \00" @.str1284 = private unnamed_addr constant [16 x i8] c"native_ir_lines\00" @.str1285 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1286 = private unnamed_addr constant [1 x i8] c"\00" @.str1287 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3498: index out of range: \00" @.str1288 = private unnamed_addr constant [3 x i8] c" \22\00" @.str1289 = private unnamed_addr constant [17 x i8] c"native_link_args\00" @.str1290 = private unnamed_addr constant [6 x i8] c".lib\22\00" @.str1291 = private unnamed_addr constant [2 x i8] c".\00" @.str1292 = private unnamed_addr constant [10 x i8] c"copy /y \22\00" @.str1293 = private unnamed_addr constant [4 x i8] c"\22 \22\00" @.str1294 = private unnamed_addr constant [13 x i8] c"\22 >nul 2>nul\00" @.str1295 = private unnamed_addr constant [3 x i8] c" \22\00" @.str1296 = private unnamed_addr constant [14 x i8] c"\22 -Wl,-rpath,\00" @.str1297 = private unnamed_addr constant [43 x i8] c" -Wl,-rpath,@executable_path/../Frameworks\00" @.str1298 = private unnamed_addr constant [6 x i8] c"_port\00" @.str1299 = private unnamed_addr constant [11 x i8] c"parse_port\00" @.str1300 = private unnamed_addr constant [11 x i8] c"parse_bind\00" @.str1301 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3562: index out of range: \00" @.str1302 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3571: index out of range: \00" @.str1303 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3576: index out of range: \00" @.str1304 = private unnamed_addr constant [6 x i8] c"port \00" @.str1305 = private unnamed_addr constant [17 x i8] c"port_check_bound\00" @.str1306 = private unnamed_addr constant [61 x i8] c" is used here but never bound: the program has to say 'bind \00" @.str1307 = private unnamed_addr constant [41 x i8] c" { ... }' once, where it is put together\00" @.str1308 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1309 = private unnamed_addr constant [14 x i8] c"port_bind_one\00" @.str1310 = private unnamed_addr constant [20 x i8] c": there is no port \00" @.str1311 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3587: index out of range: \00" @.str1312 = private unnamed_addr constant [6 x i8] c"port \00" @.str1313 = private unnamed_addr constant [27 x i8] c" is bound twice (first at \00" @.str1314 = private unnamed_addr constant [2 x i8] c":\00" @.str1315 = private unnamed_addr constant [2 x i8] c")\00" @.str1316 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3589: index out of range: \00" @.str1317 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3590: index out of range: \00" @.str1318 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3594: index out of range: \00" @.str1319 = private unnamed_addr constant [6 x i8] c"port \00" @.str1320 = private unnamed_addr constant [16 x i8] c" has no member \00" @.str1321 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3594: index out of range: \00" @.str1322 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3599: index out of range: \00" @.str1323 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3599: index out of range: \00" @.str1324 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1325 = private unnamed_addr constant [13 x i8] c" leaves out \00" @.str1326 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3600: index out of range: \00" @.str1327 = private unnamed_addr constant [23 x i8] c", which has no default\00" @.str1328 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3607: index out of range: \00" @.str1329 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3608: index out of range: \00" @.str1330 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3609: index out of range: \00" @.str1331 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3615: index out of range: \00" @.str1332 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3619: index out of range: \00" @.str1333 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3635: index out of range: \00" @.str1334 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3638: index out of range: \00" @.str1335 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3641: index out of range: \00" @.str1336 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3647: index out of range: \00" @.str1337 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1338 = private unnamed_addr constant [14 x i8] c"port_bind_var\00" @.str1339 = private unnamed_addr constant [3 x i8] c": \00" @.str1340 = private unnamed_addr constant [3 x i8] c": \00" @.str1341 = private unnamed_addr constant [47 x i8] c" is not a variable (a function is bound as fn \00" @.str1342 = private unnamed_addr constant [2 x i8] c")\00" @.str1343 = private unnamed_addr constant [7 x i8] c"fn()->\00" @.str1344 = private unnamed_addr constant [6 x i8] c"bind \00" @.str1345 = private unnamed_addr constant [3 x i8] c": \00" @.str1346 = private unnamed_addr constant [7 x i8] c" is a \00" @.str1347 = private unnamed_addr constant [66 x i8] c", and only a member that takes nothing can be bound to a variable\00" @.str1348 = private unnamed_addr constant [6 x i8] c"bind_\00" @.str1349 = private unnamed_addr constant [2 x i8] c"_\00" @.str1350 = private unnamed_addr constant [10 x i8] c"function \00" @.str1351 = private unnamed_addr constant [7 x i8] c"() -> \00" @.str1352 = private unnamed_addr constant [13 x i8] c" {\0A return \00" @.str1353 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str1354 = private unnamed_addr constant [10 x i8] c"function \00" @.str1355 = private unnamed_addr constant [6 x i8] c"(st: \00" @.str1356 = private unnamed_addr constant [6 x i8] c") -> \00" @.str1357 = private unnamed_addr constant [16 x i8] c" {\0A return st.\00" @.str1358 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str1359 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3698: index out of range: \00" @.str1360 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3703: index out of range: \00" @.str1361 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3738: index out of range: \00" @.str1362 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3738: index out of range: \00" @.str1363 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3738: index out of range: \00" @.str1364 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3738: index out of range: \00" @.str1365 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3739: index out of range: \00" @.str1366 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3739: index out of range: \00" @.str1367 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3742: index out of range: \00" @.str1368 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3742: index out of range: \00" @.str1369 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3749: index out of range: \00" @.str1370 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3749: index out of range: \00" @.str1371 = private unnamed_addr constant [1 x i8] c"\00" @.str1372 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3756: index out of range: \00" @.str1373 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3763: index out of range: \00" @.str1374 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3764: index out of range: \00" @.str1375 = private unnamed_addr constant [1 x i8] c"\00" @.str1376 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3770: index out of range: \00" @.str1377 = private unnamed_addr constant [9 x i8] c"priv_run\00" @.str1378 = private unnamed_addr constant [2 x i8] c"$\00" @.str1379 = private unnamed_addr constant [16 x i8] c"privates_rename\00" @.str1380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3790: index out of range: \00" @.str1381 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3790: index out of range: \00" @.str1382 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3800: index out of range: \00" @.str1383 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3800: index out of range: \00" @.str1384 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3801: index out of range: \00" @.str1385 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3801: index out of range: \00" @.str1386 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3809: index out of range: \00" @.str1387 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3809: index out of range: \00" @.str1388 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3809: index out of range: \00" @.str1389 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3825: index out of range: \00" @.str1390 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3825: index out of range: \00" @.str1391 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3826: index out of range: \00" @.str1392 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3826: index out of range: \00" @.str1393 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3835: index out of range: \00" @.str1394 = private unnamed_addr constant [2 x i8] c",\00" @.str1395 = private unnamed_addr constant [14 x i8] c"priv_shadowed\00" @.str1396 = private unnamed_addr constant [2 x i8] c",\00" @.str1397 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3868: index out of range: \00" @.str1398 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3869: index out of range: \00" @.str1399 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3869: index out of range: \00" @.str1400 = private unnamed_addr constant [10 x i8] c"priv_walk\00" @.str1401 = private unnamed_addr constant [2 x i8] c",\00" @.str1402 = private unnamed_addr constant [2 x i8] c",\00" @.str1403 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3885: index out of range: \00" @.str1404 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3886: index out of range: \00" @.str1405 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3886: index out of range: \00" @.str1406 = private unnamed_addr constant [2 x i8] c",\00" @.str1407 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3901: index out of range: \00" @.str1408 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3909: index out of range: \00" @.str1409 = private unnamed_addr constant [2 x i8] c",\00" @.str1410 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3917: index out of range: \00" @.str1411 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3930: index out of range: \00" @.str1412 = private unnamed_addr constant [2 x i8] c",\00" @.str1413 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3947: index out of range: \00" @.str1414 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3947: index out of range: \00" @.str1415 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3948: index out of range: \00" @.str1416 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3971: index out of range: \00" @.str1417 = private unnamed_addr constant [2 x i8] c"|\00" @.str1418 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3982: 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:3982: 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:3987: index out of range: \00" @.str1426 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:3991: index out of range: \00" @.str1427 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4004: index out of range: \00" @.str1428 = private unnamed_addr constant [1 x i8] c"\00" @.str1429 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4010: index out of range: \00" @.str1430 = private unnamed_addr constant [11 x i8] c"pt_records\00" @.str1431 = private unnamed_addr constant [3 x i8] c"__\00" @.str1432 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4026: index out of range: \00" @.str1433 = private unnamed_addr constant [1 x i8] c"\00" @.str1434 = private unnamed_addr constant [1 x i8] c"\00" @.str1435 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4033: index out of range: \00" @.str1436 = private unnamed_addr constant [1 x i8] c"\00" @.str1437 = private unnamed_addr constant [10 x i8] c"pt_events\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:4075: index out of range: \00" @.str1442 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4077: index out of range: \00" @.str1443 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4077: index out of range: \00" @.str1444 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4077: index out of range: \00" @.str1445 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4087: index out of range: \00" @.str1446 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4087: index out of range: \00" @.str1447 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4087: index out of range: \00" @.str1448 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4103: index out of range: \00" @.str1449 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4112: index out of range: \00" @.str1450 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4119: index out of range: \00" @.str1451 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4123: index out of range: \00" @.str1452 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4123: index out of range: \00" @.str1453 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4124: index out of range: \00" @.str1454 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4134: index out of range: \00" @.str1455 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4140: index out of range: \00" @.str1456 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4157: index out of range: \00" @.str1457 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4157: index out of range: \00" @.str1458 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4157: index out of range: \00" @.str1459 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4168: index out of range: \00" @.str1460 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4168: index out of range: \00" @.str1461 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4168: index out of range: \00" @.str1462 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4169: index out of range: \00" @.str1463 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4170: index out of range: \00" @.str1464 = private unnamed_addr constant [8 x i8] c"event '\00" @.str1465 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4171: index out of range: \00" @.str1466 = private unnamed_addr constant [16 x i8] c"pt_events_twice\00" @.str1467 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str1468 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4171: index out of range: \00" @.str1469 = private unnamed_addr constant [2 x i8] c":\00" @.str1470 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4171: index out of range: \00" @.str1471 = private unnamed_addr constant [2 x i8] c")\00" @.str1472 = private unnamed_addr constant [16 x i8] c"runtime/native/\00" @.str1473 = private unnamed_addr constant [18 x i8] c"state_params_onto\00" @.str1474 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4222: index out of range: \00" @.str1475 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4223: index out of range: \00" @.str1476 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4224: index out of range: \00" @.str1477 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4225: index out of range: \00" @.str1478 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4226: index out of range: \00" @.str1479 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4232: index out of range: \00" @.str1480 = private unnamed_addr constant [7 x i8] c"state$\00" @.str1481 = private unnamed_addr constant [13 x i8] c"state_global\00" @.str1482 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4243: index out of range: \00" @.str1483 = private unnamed_addr constant [12 x i8] c"parse_state\00" @.str1484 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4268: index out of range: \00" @.str1485 = private unnamed_addr constant [4 x i8] c"mut\00" @.str1486 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4269: index out of range: \00" @.str1487 = private unnamed_addr constant [19 x i8] c"parse_entry_params\00" @.str1488 = private unnamed_addr constant [2 x i8] c"(\00" @.str1489 = private unnamed_addr constant [2 x i8] c")\00" @.str1490 = private unnamed_addr constant [2 x i8] c":\00" @.str1491 = private unnamed_addr constant [2 x i8] c",\00" @.str1492 = private unnamed_addr constant [2 x i8] c")\00" @.str1493 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4302: index out of range: \00" @.str1494 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4303: index out of range: \00" @.str1495 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4312: index out of range: \00" @.str1496 = private unnamed_addr constant [13 x i8] c"state_inject\00" @.str1497 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4319: index out of range: \00" @.str1498 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4324: index out of range: \00" @.str1499 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4332: index out of range: \00" @.str1500 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4346: index out of range: \00" @.str1501 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4353: index out of range: \00" @.str1502 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4353: index out of range: \00" @.str1503 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4353: index out of range: \00" @.str1504 = private unnamed_addr constant [11 x i8] c"entry_bind\00" @.str1505 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4362: index out of range: \00" @.str1506 = private unnamed_addr constant [6 x i8] c"state\00" @.str1507 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4383: index out of range: \00" @.str1508 = private unnamed_addr constant [13 x i8] c"parse_action\00" @.str1509 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4424: index out of range: \00" @.str1510 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4425: index out of range: \00" @.str1511 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4425: index out of range: \00" @.str1512 = private unnamed_addr constant [3 x i8] c"on\00" @.str1513 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4425: index out of range: \00" @.str1514 = private unnamed_addr constant [72 x i8] c"a reducer is `reducer State on Action(s: mut State, a: Action) { ... }`\00" @.str1515 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4428: index out of range: \00" @.str1516 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4430: index out of range: \00" @.str1517 = private unnamed_addr constant [9 x i8] c"function\00" @.str1518 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str1519 = private unnamed_addr constant [14 x i8] c"parse_reducer\00" @.str1520 = private unnamed_addr constant [3 x i8] c"__\00" @.str1521 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4445: index out of range: \00" @.str1522 = private unnamed_addr constant [2 x i8] c"{\00" @.str1523 = private unnamed_addr constant [16 x i8] c"ludic_act_new__\00" @.str1524 = private unnamed_addr constant [15 x i8] c"parse_dispatch\00" @.str1525 = private unnamed_addr constant [15 x i8] c"ludic_act_push\00" @.str1526 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4480: index out of range: \00" @.str1527 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4498: index out of range: \00" @.str1528 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4503: index out of range: \00" @.str1529 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4504: index out of range: \00" @.str1530 = private unnamed_addr constant [10 x i8] c"dispatch \00" @.str1531 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4504: index out of range: \00" @.str1532 = private unnamed_addr constant [15 x i8] c"actions_finish\00" @.str1533 = private unnamed_addr constant [3 x i8] c": \00" @.str1534 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4504: index out of range: \00" @.str1535 = private unnamed_addr constant [44 x i8] c" is not an action - declare it with action \00" @.str1536 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4504: index out of range: \00" @.str1537 = private unnamed_addr constant [9 x i8] c" { ... }\00" @.str1538 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4505: index out of range: \00" @.str1539 = private unnamed_addr constant [45 x i8] c"export function drain_actions() -> void {\0A}\0A\00" @.str1540 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4521: index out of range: \00" @.str1541 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4522: index out of range: \00" @.str1542 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4523: index out of range: \00" @.str1543 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1544 = private unnamed_addr constant [10 x i8] c"red_check\00" @.str1545 = private unnamed_addr constant [5 x i8] c" on \00" @.str1546 = private unnamed_addr constant [3 x i8] c": \00" @.str1547 = private unnamed_addr constant [44 x i8] c" is not an action - declare it with action \00" @.str1548 = private unnamed_addr constant [9 x i8] c" { ... }\00" @.str1549 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1550 = private unnamed_addr constant [5 x i8] c" on \00" @.str1551 = private unnamed_addr constant [3 x i8] c": \00" @.str1552 = private unnamed_addr constant [16 x i8] c" is not a state\00" @.str1553 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4529: index out of range: \00" @.str1554 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4529: index out of range: \00" @.str1555 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4535: index out of range: \00" @.str1556 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1557 = private unnamed_addr constant [5 x i8] c" on \00" @.str1558 = private unnamed_addr constant [3 x i8] c": \00" @.str1559 = private unnamed_addr constant [7 x i8] c" is a \00" @.str1560 = 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" @.str1561 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1562 = private unnamed_addr constant [5 x i8] c" on \00" @.str1563 = private unnamed_addr constant [35 x i8] c": a reducer writes one state, and \00" @.str1564 = private unnamed_addr constant [11 x i8] c" is a mut \00" @.str1565 = private unnamed_addr constant [13 x i8] c" - read it (\00" @.str1566 = private unnamed_addr constant [3 x i8] c": \00" @.str1567 = private unnamed_addr constant [26 x i8] c"), or dispatch an action \00" @.str1568 = private unnamed_addr constant [21 x i8] c"'s own reducer takes\00" @.str1569 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4540: index out of range: \00" @.str1570 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4540: index out of range: \00" @.str1571 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1572 = private unnamed_addr constant [5 x i8] c" on \00" @.str1573 = private unnamed_addr constant [72 x i8] c": its parameters are its state, any states it reads, and the action - (\00" @.str1574 = private unnamed_addr constant [7 x i8] c": mut \00" @.str1575 = private unnamed_addr constant [6 x i8] c", a: \00" @.str1576 = private unnamed_addr constant [2 x i8] c")\00" @.str1577 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4545: index out of range: \00" @.str1578 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4545: index out of range: \00" @.str1579 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4545: 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 [30 x i8] c" is declared twice (first at \00" @.str1583 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4545: index out of range: \00" @.str1584 = private unnamed_addr constant [2 x i8] c":\00" @.str1585 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4545: index out of range: \00" @.str1586 = private unnamed_addr constant [2 x i8] c")\00" @.str1587 = 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" @.str1588 = private unnamed_addr constant [7 x i8] c" kept\00" @.str1589 = private unnamed_addr constant [8 x i8] c"act_src\00" @.str1590 = private unnamed_addr constant [5 x i8] c": []\00" @.str1591 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4554: index out of range: \00" @.str1592 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str1593 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4554: index out of range: \00" @.str1594 = private unnamed_addr constant [8 x i8] c"\0A used\00" @.str1595 = private unnamed_addr constant [11 x i8] c": int = 0\0A\00" @.str1596 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str1597 = 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" @.str1598 = 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" @.str1599 = 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" @.str1600 = private unnamed_addr constant [18 x i8] c" if pass >= \00" @.str1601 = private unnamed_addr constant [47 x i8] c" { ludic_act_runaway(q.kinds[q.head]) }\0A }\0A\00" @.str1602 = 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" @.str1603 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4567: index out of range: \00" @.str1604 = private unnamed_addr constant [13 x i8] c" if k == \00" @.str1605 = private unnamed_addr constant [4 x i8] c" {\0A\00" @.str1606 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4572: index out of range: \00" @.str1607 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4572: index out of range: \00" @.str1608 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4573: index out of range: \00" @.str1609 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4573: index out of range: \00" @.str1610 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4573: index out of range: \00" @.str1611 = private unnamed_addr constant [7 x i8] c" \00" @.str1612 = private unnamed_addr constant [5 x i8] c"(v)\0A\00" @.str1613 = private unnamed_addr constant [7 x i8] c" }\0A\00" @.str1614 = 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" @.str1615 = private unnamed_addr constant [9 x i8] c" q.used\00" @.str1616 = private unnamed_addr constant [6 x i8] c" = 0\0A\00" @.str1617 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str1618 = private unnamed_addr constant [70 x i8] c"export function ludic_act_runaway(k: int) -> void {\0A var name = \22?\22\0A\00" @.str1619 = private unnamed_addr constant [11 x i8] c" if k == \00" @.str1620 = private unnamed_addr constant [12 x i8] c" { name = \22\00" @.str1621 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4591: index out of range: \00" @.str1622 = private unnamed_addr constant [5 x i8] c"\22 }\0A\00" @.str1623 = private unnamed_addr constant [58 x i8] c" print(`actions: {name} is still being dispatched after \00" @.str1624 = private unnamed_addr constant [77 x i8] c" rounds of reducers - a reducer dispatches what dispatches it`)\0A exit(1)\0A}\0A\00" @.str1625 = private unnamed_addr constant [1 x i8] c"\00" @.str1626 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4603: index out of range: \00" @.str1627 = private unnamed_addr constant [32 x i8] c"export function ludic_act_new__\00" @.str1628 = private unnamed_addr constant [12 x i8] c"act_new_src\00" @.str1629 = private unnamed_addr constant [26 x i8] c"(q: mut LudicActions) -> \00" @.str1630 = private unnamed_addr constant [15 x i8] c" {\0A if q.used\00" @.str1631 = private unnamed_addr constant [15 x i8] c" >= len(q.kept\00" @.str1632 = private unnamed_addr constant [16 x i8] c") { push(q.kept\00" @.str1633 = private unnamed_addr constant [7 x i8] c", new \00" @.str1634 = private unnamed_addr constant [13 x i8] c") }\0A q.used\00" @.str1635 = private unnamed_addr constant [22 x i8] c" += 1\0A return q.kept\00" @.str1636 = private unnamed_addr constant [8 x i8] c"[q.used\00" @.str1637 = private unnamed_addr constant [9 x i8] c" - 1]\0A}\0A\00" @.str1638 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4612: index out of range: \00" @.str1639 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4612: index out of range: \00" @.str1640 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4613: index out of range: \00" @.str1641 = private unnamed_addr constant [2 x i8] c"\09\00" @.str1642 = private unnamed_addr constant [8 x i8] c"red_key\00" @.str1643 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4613: index out of range: \00" @.str1644 = private unnamed_addr constant [11 x i8] c"red_sorted\00" @.str1645 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4619: index out of range: \00" @.str1646 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4624: index out of range: \00" @.str1647 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4626: index out of range: \00" @.str1648 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4627: index out of range: \00" @.str1649 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4627: index out of range: \00" @.str1650 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4630: index out of range: \00" @.str1651 = private unnamed_addr constant [14 x i8] c"drain_actions\00" @.str1652 = private unnamed_addr constant [15 x i8] c"ludic_act_push\00" @.str1653 = private unnamed_addr constant [16 x i8] c"ludic_act_new__\00" @.str1654 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4669: index out of range: \00" @.str1655 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4670: index out of range: \00" @.str1656 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4671: index out of range: \00" @.str1657 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4671: index out of range: \00" @.str1658 = private unnamed_addr constant [2 x i8] c".\00" @.str1659 = private unnamed_addr constant [1 x i8] c"\00" @.str1660 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4675: index out of range: \00" @.str1661 = private unnamed_addr constant [2 x i8] c".\00" @.str1662 = private unnamed_addr constant [18 x i8] c"parse_row_reducer\00" @.str1663 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4677: index out of range: \00" @.str1664 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4678: index out of range: \00" @.str1665 = private unnamed_addr constant [2 x i8] c".\00" @.str1666 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4681: index out of range: \00" @.str1667 = private unnamed_addr constant [3 x i8] c"on\00" @.str1668 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4681: index out of range: \00" @.str1669 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4682: index out of range: \00" @.str1670 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4684: index out of range: \00" @.str1671 = private unnamed_addr constant [9 x i8] c"function\00" @.str1672 = private unnamed_addr constant [15 x i8] c"ludic_rowred__\00" @.str1673 = private unnamed_addr constant [3 x i8] c"__\00" @.str1674 = private unnamed_addr constant [1 x i8] c"\00" @.str1675 = private unnamed_addr constant [12 x i8] c"__machine__\00" @.str1676 = private unnamed_addr constant [13 x i8] c"rr_mc_suffix\00" @.str1677 = private unnamed_addr constant [98 x i8] c"a row reducer is `reducer Record in State.table on Action(r: mut Row, a: Action) { ... }`\00" @.str1678 = private unnamed_addr constant [1 x i8] c"\00" @.str1679 = private unnamed_addr constant [3 x i8] c"__\00" @.str1680 = private unnamed_addr constant [10 x i8] c"rr_suffix\00" @.str1681 = private unnamed_addr constant [7 x i8] c"__in__\00" @.str1682 = private unnamed_addr constant [3 x i8] c"__\00" @.str1683 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str1684 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4722: index out of range: \00" @.str1685 = private unnamed_addr constant [13 x i8] c"rr_wrap_name\00" @.str1686 = private unnamed_addr constant [3 x i8] c"__\00" @.str1687 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4722: index out of range: \00" @.str1688 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4722: index out of range: \00" @.str1689 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4722: index out of range: \00" @.str1690 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4722: index out of range: \00" @.str1691 = private unnamed_addr constant [14 x i8] c"rr_field_attr\00" @.str1692 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4739: index out of range: \00" @.str1693 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4739: index out of range: \00" @.str1694 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4748: index out of range: \00" @.str1695 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4759: index out of range: \00" @.str1696 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4759: index out of range: \00" @.str1697 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4759: index out of range: \00" @.str1698 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4767: index out of range: \00" @.str1699 = private unnamed_addr constant [13 x i8] c"rr_is_row_ty\00" @.str1700 = private unnamed_addr constant [5 x i8] c"Row$\00" @.str1701 = private unnamed_addr constant [1 x i8] c"\00" @.str1702 = private unnamed_addr constant [12 x i8] c"the program\00" @.str1703 = private unnamed_addr constant [8 x i8] c"module \00" @.str1704 = private unnamed_addr constant [12 x i8] c"rr_mod_name\00" @.str1705 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4790: index out of range: \00" @.str1706 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4791: index out of range: \00" @.str1707 = private unnamed_addr constant [9 x i8] c"@Target \00" @.str1708 = private unnamed_addr constant [19 x i8] c"rows_finish_checks\00" @.str1709 = private unnamed_addr constant [2 x i8] c".\00" @.str1710 = private unnamed_addr constant [87 x i8] c": @Target marks the field of an action that holds the handle of the row it names, and \00" @.str1711 = private unnamed_addr constant [18 x i8] c" is not an action\00" @.str1712 = private unnamed_addr constant [4 x i8] c"int\00" @.str1713 = private unnamed_addr constant [9 x i8] c"@Target \00" @.str1714 = private unnamed_addr constant [2 x i8] c".\00" @.str1715 = private unnamed_addr constant [37 x i8] c": a row's handle is an int (@Target \00" @.str1716 = private unnamed_addr constant [20 x i8] c": int = -1), not a \00" @.str1717 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4796: index out of range: \00" @.str1718 = private unnamed_addr constant [26 x i8] c" has two @Target fields, \00" @.str1719 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4796: index out of range: \00" @.str1720 = private unnamed_addr constant [6 x i8] c" and \00" @.str1721 = private unnamed_addr constant [53 x i8] c": an action names one row - dispatch it once per row\00" @.str1722 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4803: index out of range: \00" @.str1723 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4808: index out of range: \00" @.str1724 = private unnamed_addr constant [15 x i8] c"ludic_rowred__\00" @.str1725 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4817: index out of range: \00" @.str1726 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4817: index out of range: \00" @.str1727 = private unnamed_addr constant [10 x i8] c"@RowVerb \00" @.str1728 = private unnamed_addr constant [9 x i8] c"rv_check\00" @.str1729 = private unnamed_addr constant [37 x i8] c": a row verb takes the row first - (\00" @.str1730 = private unnamed_addr constant [2 x i8] c"r\00" @.str1731 = private unnamed_addr constant [24 x i8] c": mut Row, ...)\00" @.str1732 = private unnamed_addr constant [10 x i8] c"@RowVerb \00" @.str1733 = private unnamed_addr constant [17 x i8] c" is declared in \00" @.str1734 = private unnamed_addr constant [7 x i8] c", and \00" @.str1735 = private unnamed_addr constant [5 x i8] c" is \00" @.str1736 = private unnamed_addr constant [63 x i8] c"'s: a row changes only through its record's own module's verbs\00" @.str1737 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4829: index out of range: \00" @.str1738 = private unnamed_addr constant [10 x i8] c"@RowVerb \00" @.str1739 = private unnamed_addr constant [40 x i8] c": a row verb takes one row, first, and \00" @.str1740 = private unnamed_addr constant [13 x i8] c" is a second\00" @.str1741 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4840: index out of range: \00" @.str1742 = private unnamed_addr constant [16 x i8] c"rr_no_row_param\00" @.str1743 = private unnamed_addr constant [19 x i8] c" is handed a row (\00" @.str1744 = private unnamed_addr constant [7 x i8] c": Row<\00" @.str1745 = private unnamed_addr constant [46 x i8] c">), and is not a @RowVerb: only the verbs of \00" @.str1746 = private unnamed_addr constant [50 x i8] c"'s own module take a row - mark it @RowVerb there\00" @.str1747 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4850: index out of range: \00" @.str1748 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4851: index out of range: \00" @.str1749 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4852: index out of range: \00" @.str1750 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4853: index out of range: \00" @.str1751 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4854: index out of range: \00" @.str1752 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1753 = private unnamed_addr constant [9 x i8] c"rr_check\00" @.str1754 = private unnamed_addr constant [5 x i8] c" in \00" @.str1755 = private unnamed_addr constant [2 x i8] c".\00" @.str1756 = private unnamed_addr constant [5 x i8] c" on \00" @.str1757 = private unnamed_addr constant [3 x i8] c": \00" @.str1758 = private unnamed_addr constant [44 x i8] c" is not an action - declare it with action \00" @.str1759 = private unnamed_addr constant [9 x i8] c" { ... }\00" @.str1760 = private unnamed_addr constant [3 x i8] c": \00" @.str1761 = private unnamed_addr constant [16 x i8] c" is not a state\00" @.str1762 = private unnamed_addr constant [3 x i8] c": \00" @.str1763 = private unnamed_addr constant [5 x i8] c" is \00" @.str1764 = private unnamed_addr constant [28 x i8] c"'s, and this reducer is in \00" @.str1765 = private unnamed_addr constant [69 x i8] c" - a table's rows are reduced only by the module that owns its state\00" @.str1766 = private unnamed_addr constant [7 x i8] c"Table$\00" @.str1767 = private unnamed_addr constant [3 x i8] c": \00" @.str1768 = private unnamed_addr constant [2 x i8] c".\00" @.str1769 = private unnamed_addr constant [5 x i8] c" is \00" @.str1770 = private unnamed_addr constant [13 x i8] c", not Table<\00" @.str1771 = private unnamed_addr constant [2 x i8] c">\00" @.str1772 = private unnamed_addr constant [3 x i8] c": \00" @.str1773 = private unnamed_addr constant [69 x i8] c" names no row - mark the field that holds the row's handle @Target (\00" @.str1774 = private unnamed_addr constant [22 x i8] c"@Target who: int = -1\00" @.str1775 = private unnamed_addr constant [2 x i8] c")\00" @.str1776 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4866: index out of range: \00" @.str1777 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1778 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1779 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1780 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1781 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1782 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1783 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1784 = private unnamed_addr constant [30 x i8] c" is declared twice (first at \00" @.str1785 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1786 = private unnamed_addr constant [2 x i8] c":\00" @.str1787 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4870: index out of range: \00" @.str1788 = private unnamed_addr constant [2 x i8] c")\00" @.str1789 = private unnamed_addr constant [2 x i8] c"?\00" @.str1790 = private unnamed_addr constant [11 x i8] c"rr_ty_text\00" @.str1791 = private unnamed_addr constant [2 x i8] c"<\00" @.str1792 = private unnamed_addr constant [2 x i8] c">\00" @.str1793 = private unnamed_addr constant [11 x i8] c"rr_path_ty\00" @.str1794 = private unnamed_addr constant [3 x i8] c": \00" @.str1795 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str1796 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4904: index out of range: \00" @.str1797 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4904: index out of range: \00" @.str1798 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4912: index out of range: \00" @.str1799 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4913: index out of range: \00" @.str1800 = private unnamed_addr constant [10 x i8] c"rr_params\00" @.str1801 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4917: index out of range: \00" @.str1802 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4917: index out of range: \00" @.str1803 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4920: index out of range: \00" @.str1804 = private unnamed_addr constant [5 x i8] c"Row$\00" @.str1805 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4920: index out of range: \00" @.str1806 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4920: index out of range: \00" @.str1807 = private unnamed_addr constant [81 x i8] c": its parameters are its row, any states it reads, and the action - (r: mut Row<\00" @.str1808 = private unnamed_addr constant [7 x i8] c">, a: \00" @.str1809 = private unnamed_addr constant [2 x i8] c")\00" @.str1810 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4925: index out of range: \00" @.str1811 = private unnamed_addr constant [3 x i8] c": \00" @.str1812 = private unnamed_addr constant [7 x i8] c" is a \00" @.str1813 = private unnamed_addr constant [118 x i8] c" - between its row and the action a row reducer takes only states it reads; what it needs to know rides in the action\00" @.str1814 = private unnamed_addr constant [43 x i8] c": a row reducer writes its row alone, and \00" @.str1815 = private unnamed_addr constant [11 x i8] c" is a mut \00" @.str1816 = private unnamed_addr constant [13 x i8] c" - read it (\00" @.str1817 = private unnamed_addr constant [3 x i8] c": \00" @.str1818 = private unnamed_addr constant [26 x i8] c"), or dispatch an action \00" @.str1819 = private unnamed_addr constant [21 x i8] c"'s own reducer takes\00" @.str1820 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4930: index out of range: \00" @.str1821 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4934: index out of range: \00" @.str1822 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4937: index out of range: \00" @.str1823 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4938: index out of range: \00" @.str1824 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4943: index out of range: \00" @.str1825 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str1826 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4944: index out of range: \00" @.str1827 = private unnamed_addr constant [7 x i8] c"rr_err\00" @.str1828 = private unnamed_addr constant [5 x i8] c" in \00" @.str1829 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4944: index out of range: \00" @.str1830 = private unnamed_addr constant [2 x i8] c".\00" @.str1831 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4944: index out of range: \00" @.str1832 = private unnamed_addr constant [5 x i8] c" on \00" @.str1833 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4944: index out of range: \00" @.str1834 = private unnamed_addr constant [3 x i8] c": \00" @.str1835 = private unnamed_addr constant [4 x i8] c"rec\00" @.str1836 = private unnamed_addr constant [2 x i8] c"h\00" @.str1837 = private unnamed_addr constant [2 x i8] c".\00" @.str1838 = private unnamed_addr constant [8 x i8] c"rr_walk\00" @.str1839 = private unnamed_addr constant [54 x i8] c": a row reducer reaches its row's record and handle (\00" @.str1840 = private unnamed_addr constant [7 x i8] c".rec, \00" @.str1841 = private unnamed_addr constant [46 x i8] c".h) and no further - its table is written by \00" @.str1842 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4950: index out of range: \00" @.str1843 = private unnamed_addr constant [40 x i8] c"'s @RowVerbs and read through its state\00" @.str1844 = private unnamed_addr constant [2 x i8] c".\00" @.str1845 = private unnamed_addr constant [68 x i8] c" is the drain's view of the row, not the reducer's to set - change \00" @.str1846 = private unnamed_addr constant [34 x i8] c".rec's fields, or call a @RowVerb\00" @.str1847 = private unnamed_addr constant [4 x i8] c"rec\00" @.str1848 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4956: index out of range: \00" @.str1849 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4957: index out of range: \00" @.str1850 = private unnamed_addr constant [2 x i8] c".\00" @.str1851 = private unnamed_addr constant [126 x i8] c" is mirrored by a column of the table (@Column) - write it through a @RowVerb, which keeps the column and its indexes with it\00" @.str1852 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4964: index out of range: \00" @.str1853 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4966: index out of range: \00" @.str1854 = private unnamed_addr constant [50 x i8] c" goes no further than its record, its handle and \00" @.str1855 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4971: index out of range: \00" @.str1856 = private unnamed_addr constant [75 x i8] c"'s @RowVerbs: the drain keeps it, so it is not stored, copied or handed on\00" @.str1857 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4977: index out of range: \00" @.str1858 = private unnamed_addr constant [9 x i8] c"a method\00" @.str1859 = private unnamed_addr constant [62 x i8] c" is handed the row, and is not a @RowVerb: only the verbs of \00" @.str1860 = private unnamed_addr constant [13 x i8] c"rr_call_verb\00" @.str1861 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4985: index out of range: \00" @.str1862 = private unnamed_addr constant [25 x i8] c"'s own module take a row\00" @.str1863 = private unnamed_addr constant [1 x i8] c"\00" @.str1864 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4995: index out of range: \00" @.str1865 = private unnamed_addr constant [6 x i8] c" row\00" @.str1866 = private unnamed_addr constant [14 x i8] c"rr_fields_src\00" @.str1867 = private unnamed_addr constant [7 x i8] c": Row<\00" @.str1868 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4996: index out of range: \00" @.str1869 = private unnamed_addr constant [13 x i8] c"> = new Row<\00" @.str1870 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:4996: index out of range: \00" @.str1871 = private unnamed_addr constant [3 x i8] c">\0A\00" @.str1872 = private unnamed_addr constant [21 x i8] c" row_log: int = -1\0A\00" @.str1873 = private unnamed_addr constant [1 x i8] c"\00" @.str1874 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5011: index out of range: \00" @.str1875 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5014: index out of range: \00" @.str1876 = private unnamed_addr constant [17 x i8] c"export function \00" @.str1877 = private unnamed_addr constant [16 x i8] c"rr_wrappers_src\00" @.str1878 = private unnamed_addr constant [30 x i8] c"(q: mut LudicActions, s: mut \00" @.str1879 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5015: index out of range: \00" @.str1880 = private unnamed_addr constant [6 x i8] c", a: \00" @.str1881 = private unnamed_addr constant [13 x i8] c") -> void {\0A\00" @.str1882 = private unnamed_addr constant [13 x i8] c" let h = a.\00" @.str1883 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5016: index out of range: \00" @.str1884 = private unnamed_addr constant [15 x i8] c"\0A let tb = s.\00" @.str1885 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5016: index out of range: \00" @.str1886 = private unnamed_addr constant [57 x i8] c"\0A var row = -1\0A if tb != null { row = tb_row(tb, h) }\0A\00" @.str1887 = private unnamed_addr constant [40 x i8] c" if row < 0 {\0A ludic_act_stale(q, \22\00" @.str1888 = private unnamed_addr constant [5 x i8] c"\22, \22\00" @.str1889 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5017: index out of range: \00" @.str1890 = private unnamed_addr constant [22 x i8] c"\22, h)\0A return\0A }\0A\00" @.str1891 = private unnamed_addr constant [16 x i8] c" let r = q.row\00" @.str1892 = private unnamed_addr constant [66 x i8] c"\0A r.tb = tb\0A r.row = row\0A r.h = h\0A r.rec = tb_rec(tb, row)\0A \00" @.str1893 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5018: index out of range: \00" @.str1894 = private unnamed_addr constant [10 x i8] c"(r, a)\0A}\0A\00" @.str1895 = private unnamed_addr constant [74 x i8] c"@alloc_ok(\22a stale handle's line, printed only under LUDIC_ACTIONS_LOG\22)\0A\00" @.str1896 = private unnamed_addr constant [98 x i8] c"export function ludic_act_stale(q: mut LudicActions, act: string, rec: string, h: int) -> void {\0A\00" @.str1897 = private unnamed_addr constant [101 x i8] c" if q.row_log < 0 {\0A q.row_log = 0\0A if Os.has_env(\22LUDIC_ACTIONS_LOG\22) { q.row_log = 1 }\0A }\0A\00" @.str1898 = private unnamed_addr constant [122 x i8] c" if q.row_log == 1 { print(`actions: {act} names a {rec} that is gone (handle {h}) - its row reducers run nothing`) }\0A}\0A\00" @.str1899 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5034: index out of range: \00" @.str1900 = private unnamed_addr constant [10 x i8] c"rv_record\00" @.str1901 = private unnamed_addr constant [2 x i8] c"(\00" @.str1902 = private unnamed_addr constant [2 x i8] c".\00" @.str1903 = private unnamed_addr constant [83 x i8] c"@Machine names the record's field that holds the state: @Machine(WildAnimal.state)\00" @.str1904 = private unnamed_addr constant [2 x i8] c")\00" @.str1905 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5104: index out of range: \00" @.str1906 = private unnamed_addr constant [8 x i8] c"Machine\00" @.str1907 = private unnamed_addr constant [3 x i8] c"[\22\00" @.str1908 = private unnamed_addr constant [14 x i8] c"mc_parse_attr\00" @.str1909 = private unnamed_addr constant [2 x i8] c".\00" @.str1910 = private unnamed_addr constant [3 x i8] c"\22]\00" @.str1911 = private unnamed_addr constant [9 x i8] c"registry\00" @.str1912 = private unnamed_addr constant [5 x i8] c"open\00" @.str1913 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5110: index out of range: \00" @.str1914 = private unnamed_addr constant [9 x i8] c"registry\00" @.str1915 = private unnamed_addr constant [10 x i8] c"@Machine(\00" @.str1916 = private unnamed_addr constant [15 x i8] c"mc_attr_placed\00" @.str1917 = private unnamed_addr constant [2 x i8] c".\00" @.str1918 = private unnamed_addr constant [59 x i8] c") marks the registry of a machine's transitions: @Machine(\00" @.str1919 = private unnamed_addr constant [2 x i8] c".\00" @.str1920 = private unnamed_addr constant [43 x i8] c") registry Steps of Step from \22steps.lres\22\00" @.str1921 = private unnamed_addr constant [10 x i8] c"registry \00" @.str1922 = private unnamed_addr constant [8 x i8] c"mc_take\00" @.str1923 = private unnamed_addr constant [103 x i8] c": a machine's transitions are the program's, compiled in - a @PerMap registry is read when a map loads\00" @.str1924 = private unnamed_addr constant [2 x i8] c",\00" @.str1925 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5134: index out of range: \00" @.str1926 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5143: index out of range: \00" @.str1927 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5143: index out of range: \00" @.str1928 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5151: index out of range: \00" @.str1929 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5160: index out of range: \00" @.str1930 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5166: index out of range: \00" @.str1931 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5166: index out of range: \00" @.str1932 = private unnamed_addr constant [10 x i8] c"@Machine(\00" @.str1933 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5166: index out of range: \00" @.str1934 = private unnamed_addr constant [7 x i8] c"mc_err\00" @.str1935 = private unnamed_addr constant [2 x i8] c".\00" @.str1936 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5166: index out of range: \00" @.str1937 = private unnamed_addr constant [12 x i8] c") registry \00" @.str1938 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5166: index out of range: \00" @.str1939 = private unnamed_addr constant [3 x i8] c": \00" @.str1940 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5169: index out of range: \00" @.str1941 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5169: index out of range: \00" @.str1942 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5169: index out of range: \00" @.str1943 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5169: index out of range: \00" @.str1944 = private unnamed_addr constant [2 x i8] c" \00" @.str1945 = private unnamed_addr constant [11 x i8] c"mc_row_err\00" @.str1946 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5169: index out of range: \00" @.str1947 = private unnamed_addr constant [3 x i8] c": \00" @.str1948 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5174: index out of range: \00" @.str1949 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5183: index out of range: \00" @.str1950 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5193: index out of range: \00" @.str1951 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5193: index out of range: \00" @.str1952 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5193: index out of range: \00" @.str1953 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5201: index out of range: \00" @.str1954 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5216: index out of range: \00" @.str1955 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5251: index out of range: \00" @.str1956 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5252: index out of range: \00" @.str1957 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5253: index out of range: \00" @.str1958 = private unnamed_addr constant [79 x i8] c" is not a record - @Machine names a property's enum field: @Machine(Deer.mood)\00" @.str1959 = private unnamed_addr constant [11 x i8] c"mc_resolve\00" @.str1960 = private unnamed_addr constant [88 x i8] c" is a state or an action - a machine's state is a field of the records held in a Table<\00" @.str1961 = private unnamed_addr constant [23 x i8] c">, one machine per row\00" @.str1962 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str1963 = private unnamed_addr constant [2 x i8] c".\00" @.str1964 = private unnamed_addr constant [5 x i8] c" is \00" @.str1965 = private unnamed_addr constant [64 x i8] c" - a machine's state is a plain enum, its variants the states (\00" @.str1966 = private unnamed_addr constant [20 x i8] c": Mood = Mood.Calm)\00" @.str1967 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5273: index out of range: \00" @.str1968 = private unnamed_addr constant [2 x i8] c".\00" @.str1969 = private unnamed_addr constant [59 x i8] c" has no start - its default is the state a row starts in (\00" @.str1970 = private unnamed_addr constant [3 x i8] c": \00" @.str1971 = private unnamed_addr constant [4 x i8] c" = \00" @.str1972 = private unnamed_addr constant [2 x i8] c".\00" @.str1973 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5276: index out of range: \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 [103 x i8] c" is @Column - a machine writes its state on the row's record, and a column mirroring it would go stale\00" @.str1978 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5282: index out of range: \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:5284: index out of range: \00" @.str1981 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5285: index out of range: \00" @.str1982 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5286: index out of range: \00" @.str1983 = private unnamed_addr constant [5 x i8] c" is \00" @.str1984 = private unnamed_addr constant [28 x i8] c"'s, and this machine is in \00" @.str1985 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5286: index out of range: \00" @.str1986 = private unnamed_addr constant [69 x i8] c" - a table's rows are reduced only by the module that owns its state\00" @.str1987 = private unnamed_addr constant [1 x i8] c"\00" @.str1988 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5296: index out of range: \00" @.str1989 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5300: index out of range: \00" @.str1990 = private unnamed_addr constant [7 x i8] c"Table$\00" @.str1991 = private unnamed_addr constant [17 x i8] c"mc_resolve_table\00" @.str1992 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5303: index out of range: \00" @.str1993 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5304: index out of range: \00" @.str1994 = private unnamed_addr constant [3 x i8] c", \00" @.str1995 = private unnamed_addr constant [2 x i8] c".\00" @.str1996 = private unnamed_addr constant [24 x i8] c"no state holds a Table<\00" @.str1997 = private unnamed_addr constant [65 x i8] c"> - a machine runs on the rows of one (state Herd { deer: Table<\00" @.str1998 = private unnamed_addr constant [12 x i8] c"> = null })\00" @.str1999 = private unnamed_addr constant [30 x i8] c" states' fields hold a Table<\00" @.str2000 = private unnamed_addr constant [4 x i8] c"> (\00" @.str2001 = private unnamed_addr constant [32 x i8] c") - a machine runs on one table\00" @.str2002 = private unnamed_addr constant [7 x i8] c"from: \00" @.str2003 = private unnamed_addr constant [17 x i8] c"mc_resolve_shape\00" @.str2004 = private unnamed_addr constant [7 x i8] c", to: \00" @.str2005 = private unnamed_addr constant [29 x i8] c", on: string, guard: fn(Row<\00" @.str2006 = private unnamed_addr constant [32 x i8] c">, ...) -> bool, enter: fn(Row<\00" @.str2007 = private unnamed_addr constant [16 x i8] c">, ...) -> void\00" @.str2008 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5321: index out of range: \00" @.str2009 = private unnamed_addr constant [12 x i8] c"its record \00" @.str2010 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5323: index out of range: \00" @.str2011 = private unnamed_addr constant [39 x i8] c" is not a property - a transition is (\00" @.str2012 = private unnamed_addr constant [2 x i8] c")\00" @.str2013 = private unnamed_addr constant [5 x i8] c"from\00" @.str2014 = private unnamed_addr constant [3 x i8] c"to\00" @.str2015 = private unnamed_addr constant [3 x i8] c"on\00" @.str2016 = private unnamed_addr constant [7 x i8] c"string\00" @.str2017 = private unnamed_addr constant [40 x i8] c" is not a transition - its fields are (\00" @.str2018 = private unnamed_addr constant [2 x i8] c")\00" @.str2019 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2020 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2021 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2022 = private unnamed_addr constant [5 x i8] c"void\00" @.str2023 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str2024 = private unnamed_addr constant [2 x i8] c".\00" @.str2025 = private unnamed_addr constant [12 x i8] c"mc_shape_fn\00" @.str2026 = private unnamed_addr constant [5 x i8] c" is \00" @.str2027 = private unnamed_addr constant [21 x i8] c" - a transition is (\00" @.str2028 = private unnamed_addr constant [2 x i8] c")\00" @.str2029 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5344: index out of range: \00" @.str2030 = private unnamed_addr constant [5 x i8] c"Row$\00" @.str2031 = private unnamed_addr constant [2 x i8] c".\00" @.str2032 = private unnamed_addr constant [30 x i8] c" takes the row first: fn(Row<\00" @.str2033 = private unnamed_addr constant [12 x i8] c">, ...) -> \00" @.str2034 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5350: index out of range: \00" @.str2035 = private unnamed_addr constant [2 x i8] c".\00" @.str2036 = private unnamed_addr constant [51 x i8] c": after the row it takes the states it reads, and \00" @.str2037 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5350: index out of range: \00" @.str2038 = private unnamed_addr constant [16 x i8] c" is not a state\00" @.str2039 = private unnamed_addr constant [8 x i8] c"mc_rows\00" @.str2040 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5366: index out of range: \00" @.str2041 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5367: index out of range: \00" @.str2042 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5368: index out of range: \00" @.str2043 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5372: index out of range: \00" @.str2044 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5373: index out of range: \00" @.str2045 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5374: index out of range: \00" @.str2046 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5376: index out of range: \00" @.str2047 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5377: index out of range: \00" @.str2048 = private unnamed_addr constant [5 x i8] c"from\00" @.str2049 = private unnamed_addr constant [3 x i8] c"to\00" @.str2050 = private unnamed_addr constant [3 x i8] c"on\00" @.str2051 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2052 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2053 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2054 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2055 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5384: index out of range: \00" @.str2056 = private unnamed_addr constant [24 x i8] c"from is not a state of \00" @.str2057 = private unnamed_addr constant [37 x i8] c" - write one of its variants (from: \00" @.str2058 = private unnamed_addr constant [2 x i8] c".\00" @.str2059 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5384: index out of range: \00" @.str2060 = private unnamed_addr constant [2 x i8] c")\00" @.str2061 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5385: index out of range: \00" @.str2062 = private unnamed_addr constant [22 x i8] c"to is not a state of \00" @.str2063 = private unnamed_addr constant [35 x i8] c" - write one of its variants (to: \00" @.str2064 = private unnamed_addr constant [2 x i8] c".\00" @.str2065 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5385: index out of range: \00" @.str2066 = private unnamed_addr constant [2 x i8] c")\00" @.str2067 = private unnamed_addr constant [1 x i8] c"\00" @.str2068 = private unnamed_addr constant [87 x i8] c"on is an action's name as a string (on: \22Spook\22), or \22\22 for a transition the tick asks\00" @.str2069 = private unnamed_addr constant [1 x i8] c"\00" @.str2070 = private unnamed_addr constant [1 x i8] c"\00" @.str2071 = private unnamed_addr constant [6 x i8] c"on: \22\00" @.str2072 = private unnamed_addr constant [6 x i8] c"mc_on\00" @.str2073 = private unnamed_addr constant [40 x i8] c"\22 names no action - declare it (action \00" @.str2074 = private unnamed_addr constant [57 x i8] c" { @Target who: int = -1 }), or leave on \22\22 for the tick\00" @.str2075 = private unnamed_addr constant [6 x i8] c"on: \22\00" @.str2076 = private unnamed_addr constant [36 x i8] c"\22 names no row - mark the field of \00" @.str2077 = private unnamed_addr constant [61 x i8] c" that holds the row's handle @Target (@Target who: int = -1)\00" @.str2078 = private unnamed_addr constant [22 x i8] c" names a function of \00" @.str2079 = private unnamed_addr constant [9 x i8] c"mc_fn_of\00" @.str2080 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5408: index out of range: \00" @.str2081 = private unnamed_addr constant [12 x i8] c"'s module: \00" @.str2082 = private unnamed_addr constant [11 x i8] c": fn deer_\00" @.str2083 = private unnamed_addr constant [6 x i8] c": fn \00" @.str2084 = private unnamed_addr constant [25 x i8] c" - there is no function \00" @.str2085 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5422: index out of range: \00" @.str2086 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5425: index out of range: \00" @.str2087 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5425: index out of range: \00" @.str2088 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5425: index out of range: \00" @.str2089 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5425: index out of range: \00" @.str2090 = private unnamed_addr constant [19 x i8] c"a transition from \00" @.str2091 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5426: index out of range: \00" @.str2092 = private unnamed_addr constant [9 x i8] c"mc_graph\00" @.str2093 = private unnamed_addr constant [83 x i8] c" to itself with no guard would be taken every time - give it a guard, or remove it\00" @.str2094 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2095 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2096 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2097 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2098 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2099 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5430: index out of range: \00" @.str2100 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2101 = private unnamed_addr constant [6 x i8] c" and \00" @.str2102 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2103 = private unnamed_addr constant [13 x i8] c" both leave \00" @.str2104 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2105 = private unnamed_addr constant [2 x i8] c" \00" @.str2106 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2107 = private unnamed_addr constant [7 x i8] c", and \00" @.str2108 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2109 = private unnamed_addr constant [17 x i8] c" has no guard - \00" @.str2110 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2111 = private unnamed_addr constant [29 x i8] c" could never be taken; give \00" @.str2112 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5431: index out of range: \00" @.str2113 = private unnamed_addr constant [9 x i8] c" a guard\00" @.str2114 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5439: index out of range: \00" @.str2115 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5444: index out of range: \00" @.str2116 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5444: index out of range: \00" @.str2117 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5444: index out of range: \00" @.str2118 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5444: index out of range: \00" @.str2119 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5444: index out of range: \00" @.str2120 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5444: index out of range: \00" @.str2121 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5451: index out of range: \00" @.str2122 = private unnamed_addr constant [2 x i8] c".\00" @.str2123 = private unnamed_addr constant [35 x i8] c" is never reached from the start, \00" @.str2124 = private unnamed_addr constant [2 x i8] c".\00" @.str2125 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5452: index out of range: \00" @.str2126 = private unnamed_addr constant [59 x i8] c" - no transition leads to it; add one, or remove the state\00" @.str2127 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5456: index out of range: \00" @.str2128 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5456: index out of range: \00" @.str2129 = private unnamed_addr constant [2 x i8] c".\00" @.str2130 = private unnamed_addr constant [59 x i8] c" has no way out - no transition leaves it; add one (from: \00" @.str2131 = private unnamed_addr constant [2 x i8] c".\00" @.str2132 = private unnamed_addr constant [2 x i8] c")\00" @.str2133 = private unnamed_addr constant [12 x i8] c"on the tick\00" @.str2134 = private unnamed_addr constant [4 x i8] c"on \00" @.str2135 = private unnamed_addr constant [11 x i8] c"mc_trigger\00" @.str2136 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5470: index out of range: \00" @.str2137 = private unnamed_addr constant [9 x i8] c"mc_reads\00" @.str2138 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2139 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2140 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5513: index out of range: \00" @.str2141 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5513: index out of range: \00" @.str2142 = private unnamed_addr constant [12 x i8] c"mc_reads_of\00" @.str2143 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5520: index out of range: \00" @.str2144 = private unnamed_addr constant [2 x i8] c"r\00" @.str2145 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5532: index out of range: \00" @.str2146 = private unnamed_addr constant [10 x i8] c", ludic_s\00" @.str2147 = private unnamed_addr constant [8 x i8] c"mc_args\00" @.str2148 = private unnamed_addr constant [11 x i8] c", ludic_mc\00" @.str2149 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5532: index out of range: \00" @.str2150 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5539: index out of range: \00" @.str2151 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5540: index out of range: \00" @.str2152 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5541: index out of range: \00" @.str2153 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2154 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2155 = private unnamed_addr constant [17 x i8] c"let cur = r.rec.\00" @.str2156 = private unnamed_addr constant [13 x i8] c"mc_steps_src\00" @.str2157 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5544: index out of range: \00" @.str2158 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2159 = private unnamed_addr constant [18 x i8] c"var took = false\0A\00" @.str2160 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5547: index out of range: \00" @.str2161 = private unnamed_addr constant [21 x i8] c"not took and cur == \00" @.str2162 = private unnamed_addr constant [2 x i8] c".\00" @.str2163 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5548: index out of range: \00" @.str2164 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5549: index out of range: \00" @.str2165 = private unnamed_addr constant [6 x i8] c" and \00" @.str2166 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5549: index out of range: \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 [4 x i8] c"if \00" @.str2170 = private unnamed_addr constant [4 x i8] c" {\0A\00" @.str2171 = private unnamed_addr constant [15 x i8] c" took = true\0A\00" @.str2172 = private unnamed_addr constant [9 x i8] c" r.rec.\00" @.str2173 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5550: index out of range: \00" @.str2174 = private unnamed_addr constant [4 x i8] c" = \00" @.str2175 = private unnamed_addr constant [2 x i8] c".\00" @.str2176 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5550: index out of range: \00" @.str2177 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2178 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5551: index out of range: \00" @.str2179 = private unnamed_addr constant [3 x i8] c" \00" @.str2180 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5551: index out of range: \00" @.str2181 = private unnamed_addr constant [2 x i8] c"(\00" @.str2182 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str2183 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2184 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5559: index out of range: \00" @.str2185 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5560: index out of range: \00" @.str2186 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5561: index out of range: \00" @.str2187 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5563: index out of range: \00" @.str2188 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5564: index out of range: \00" @.str2189 = private unnamed_addr constant [1 x i8] c"\00" @.str2190 = private unnamed_addr constant [11 x i8] c", ludic_mc\00" @.str2191 = private unnamed_addr constant [9 x i8] c"mc_write\00" @.str2192 = private unnamed_addr constant [3 x i8] c": \00" @.str2193 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5568: index out of range: \00" @.str2194 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5575: index out of range: \00" @.str2195 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5577: index out of range: \00" @.str2196 = private unnamed_addr constant [2 x i8] c",\00" @.str2197 = private unnamed_addr constant [2 x i8] c",\00" @.str2198 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5578: index out of range: \00" @.str2199 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5578: index out of range: \00" @.str2200 = private unnamed_addr constant [2 x i8] c",\00" @.str2201 = private unnamed_addr constant [9 x i8] c"reducer \00" @.str2202 = private unnamed_addr constant [5 x i8] c" in \00" @.str2203 = private unnamed_addr constant [2 x i8] c".\00" @.str2204 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5579: index out of range: \00" @.str2205 = private unnamed_addr constant [5 x i8] c" on \00" @.str2206 = private unnamed_addr constant [13 x i8] c"(r: mut Row<\00" @.str2207 = private unnamed_addr constant [2 x i8] c">\00" @.str2208 = private unnamed_addr constant [6 x i8] c", a: \00" @.str2209 = private unnamed_addr constant [5 x i8] c") {\0A\00" @.str2210 = private unnamed_addr constant [3 x i8] c" \00" @.str2211 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2212 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5580: index out of range: \00" @.str2213 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5588: index out of range: \00" @.str2214 = private unnamed_addr constant [6 x i8] c"_tick\00" @.str2215 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5589: index out of range: \00" @.str2216 = private unnamed_addr constant [1 x i8] c"\00" @.str2217 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5593: index out of range: \00" @.str2218 = private unnamed_addr constant [11 x i8] c", ludic_mc\00" @.str2219 = private unnamed_addr constant [3 x i8] c": \00" @.str2220 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5593: index out of range: \00" @.str2221 = private unnamed_addr constant [7 x i8] c"state \00" @.str2222 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5596: index out of range: \00" @.str2223 = private unnamed_addr constant [20 x i8] c"Machine { row: Row<\00" @.str2224 = private unnamed_addr constant [13 x i8] c"> = new Row<\00" @.str2225 = private unnamed_addr constant [5 x i8] c"> }\0A\00" @.str2226 = private unnamed_addr constant [10 x i8] c"function \00" @.str2227 = private unnamed_addr constant [15 x i8] c"(ludic_m: mut \00" @.str2228 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5597: index out of range: \00" @.str2229 = private unnamed_addr constant [23 x i8] c"Machine, ludic_s: mut \00" @.str2230 = private unnamed_addr constant [13 x i8] c") -> void {\0A\00" @.str2231 = private unnamed_addr constant [20 x i8] c" let tb = ludic_s.\00" @.str2232 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5598: index out of range: \00" @.str2233 = private unnamed_addr constant [104 x i8] c"\0A if tb == null { return }\0A let r = ludic_m.row\0A r.tb = tb\0A var row = 0\0A while row < tb_len(tb) {\0A\00" @.str2234 = private unnamed_addr constant [74 x i8] c" r.row = row\0A r.h = tb_handle(tb, row)\0A r.rec = tb_rec(tb, row)\0A\00" @.str2235 = private unnamed_addr constant [1 x i8] c"\00" @.str2236 = private unnamed_addr constant [5 x i8] c" \00" @.str2237 = private unnamed_addr constant [20 x i8] c" row += 1\0A }\0A}\0A\00" @.str2238 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5610: index out of range: \00" @.str2239 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5610: index out of range: \00" @.str2240 = private unnamed_addr constant [13 x i8] c"mc_parse_gen\00" @.str2241 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5617: index out of range: \00" @.str2242 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5618: index out of range: \00" @.str2243 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5619: index out of range: \00" @.str2244 = private unnamed_addr constant [13 x i8] c"mc_check_fns\00" @.str2245 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5624: index out of range: \00" @.str2246 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5624: index out of range: \00" @.str2247 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2248 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2249 = private unnamed_addr constant [12 x i8] c"mc_check_fn\00" @.str2250 = private unnamed_addr constant [6 x i8] c"enter\00" @.str2251 = private unnamed_addr constant [6 x i8] c"guard\00" @.str2252 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5637: index out of range: \00" @.str2253 = private unnamed_addr constant [4 x i8] c"'s \00" @.str2254 = private unnamed_addr constant [2 x i8] c" \00" @.str2255 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5641: index out of range: \00" @.str2256 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5641: index out of range: \00" @.str2257 = private unnamed_addr constant [5 x i8] c"Row$\00" @.str2258 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5644: index out of range: \00" @.str2259 = private unnamed_addr constant [25 x i8] c" takes the row first - (\00" @.str2260 = private unnamed_addr constant [2 x i8] c"r\00" @.str2261 = private unnamed_addr constant [7 x i8] c": Row<\00" @.str2262 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5645: index out of range: \00" @.str2263 = private unnamed_addr constant [13 x i8] c">, reads...)\00" @.str2264 = private unnamed_addr constant [17 x i8] c" is declared in \00" @.str2265 = private unnamed_addr constant [7 x i8] c", and \00" @.str2266 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5649: index out of range: \00" @.str2267 = private unnamed_addr constant [5 x i8] c" is \00" @.str2268 = private unnamed_addr constant [67 x i8] c"'s: a row changes only through its record's own module's functions\00" @.str2269 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5661: index out of range: \00" @.str2270 = private unnamed_addr constant [4 x i8] c"rec\00" @.str2271 = private unnamed_addr constant [2 x i8] c"h\00" @.str2272 = private unnamed_addr constant [3 x i8] c": \00" @.str2273 = private unnamed_addr constant [8 x i8] c"mc_walk\00" @.str2274 = private unnamed_addr constant [2 x i8] c".\00" @.str2275 = private unnamed_addr constant [62 x i8] c" - a machine's function reaches its row's record and handle (\00" @.str2276 = private unnamed_addr constant [7 x i8] c".rec, \00" @.str2277 = private unnamed_addr constant [45 x i8] c".h) and no further; its table is written by \00" @.str2278 = private unnamed_addr constant [13 x i8] c"'s @RowVerbs\00" @.str2279 = private unnamed_addr constant [46 x i8] c" asks and changes nothing: it writes through \00" @.str2280 = private unnamed_addr constant [46 x i8] c" - a change belongs in the transition's enter\00" @.str2281 = private unnamed_addr constant [4 x i8] c"rec\00" @.str2282 = private unnamed_addr constant [3 x i8] c": \00" @.str2283 = private unnamed_addr constant [2 x i8] c".\00" @.str2284 = private unnamed_addr constant [126 x i8] c" is mirrored by a column of the table (@Column) - write it through a @RowVerb, which keeps the column and its indexes with it\00" @.str2285 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5678: index out of range: \00" @.str2286 = private unnamed_addr constant [37 x i8] c" asks and changes nothing: it hands \00" @.str2287 = private unnamed_addr constant [14 x i8] c" to the verb \00" @.str2288 = private unnamed_addr constant [9 x i8] c"a method\00" @.str2289 = private unnamed_addr constant [3 x i8] c": \00" @.str2290 = private unnamed_addr constant [63 x i8] c" is handed the row, and is not a @RowVerb - only the verbs of \00" @.str2291 = private unnamed_addr constant [25 x i8] c"'s own module take a row\00" @.str2292 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5687: index out of range: \00" @.str2293 = private unnamed_addr constant [3 x i8] c": \00" @.str2294 = private unnamed_addr constant [50 x i8] c" goes no further than its record, its handle and \00" @.str2295 = private unnamed_addr constant [73 x i8] c"'s @RowVerbs - it is the machine's view, not stored, copied or handed on\00" @.str2296 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5698: index out of range: \00" @.str2297 = private unnamed_addr constant [1 x i8] c"\00" @.str2298 = private unnamed_addr constant [9 x i8] c"mg_camel\00" @.str2299 = private unnamed_addr constant [13 x i8] c"mg_param_for\00" @.str2300 = private unnamed_addr constant [6 x i8] c"State\00" @.str2301 = private unnamed_addr constant [1 x i8] c"\00" @.str2302 = private unnamed_addr constant [2 x i8] c"_\00" @.str2303 = private unnamed_addr constant [4 x i8] c"_st\00" @.str2304 = private unnamed_addr constant [9 x i8] c"mg_short\00" @.str2305 = private unnamed_addr constant [7 x i8] c"ludic_\00" @.str2306 = private unnamed_addr constant [17 x i8] c"mg_state_of_file\00" @.str2307 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str2308 = private unnamed_addr constant [2 x i8] c"@\00" @.str2309 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str2310 = private unnamed_addr constant [1 x i8] c"\00" @.str2311 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5813: index out of range: \00" @.str2312 = private unnamed_addr constant [1 x i8] c"\00" @.str2313 = private unnamed_addr constant [1 x i8] c"\00" @.str2314 = private unnamed_addr constant [1 x i8] c"\00" @.str2315 = private unnamed_addr constant [1 x i8] c"\00" @.str2316 = private unnamed_addr constant [5 x i8] c"_app\00" @.str2317 = private unnamed_addr constant [1 x i8] c"\00" @.str2318 = private unnamed_addr constant [1 x i8] c"\00" @.str2319 = private unnamed_addr constant [2 x i8] c"@\00" @.str2320 = private unnamed_addr constant [12 x i8] c"mg_dir_name\00" @.str2321 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str2322 = private unnamed_addr constant [1 x i8] c"\00" @.str2323 = private unnamed_addr constant [7 x i8] c"ludic.\00" @.str2324 = private unnamed_addr constant [1 x i8] c"\00" @.str2325 = private unnamed_addr constant [2 x i8] c"_\00" @.str2326 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5863: index out of range: \00" @.str2327 = private unnamed_addr constant [6 x i8] c"State\00" @.str2328 = private unnamed_addr constant [16 x i8] c"mg_state_of_mod\00" @.str2329 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5870: index out of range: \00" @.str2330 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5871: index out of range: \00" @.str2331 = private unnamed_addr constant [4 x i8] c"_st\00" @.str2332 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5884: index out of range: \00" @.str2333 = private unnamed_addr constant [1 x i8] c"\00" @.str2334 = private unnamed_addr constant [9 x i8] c"program:\00" @.str2335 = private unnamed_addr constant [13 x i8] c"mg_state_key\00" @.str2336 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5890: index out of range: \00" @.str2337 = private unnamed_addr constant [8 x i8] c"module:\00" @.str2338 = private unnamed_addr constant [2 x i8] c"@\00" @.str2339 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5890: index out of range: \00" @.str2340 = private unnamed_addr constant [9 x i8] c"package:\00" @.str2341 = private unnamed_addr constant [16 x i8] c"packages/ludic.\00" @.str2342 = private unnamed_addr constant [13 x i8] c"mg_pkg_named\00" @.str2343 = private unnamed_addr constant [15 x i8] c"/package.ludic\00" @.str2344 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str2345 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str2346 = private unnamed_addr constant [7 x i8] c"ludic.\00" @.str2347 = private unnamed_addr constant [15 x i8] c"/package.ludic\00" @.str2348 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5904: index out of range: \00" @.str2349 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5904: index out of range: \00" @.str2350 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5904: index out of range: \00" @.str2351 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5904: index out of range: \00" @.str2352 = private unnamed_addr constant [12 x i8] c"mg_src_name\00" @.str2353 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str2354 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5934: index out of range: \00" @.str2355 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5934: index out of range: \00" @.str2356 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5941: index out of range: \00" @.str2357 = private unnamed_addr constant [13 x i8] c"mg_field_var\00" @.str2358 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5971: index out of range: \00" @.str2359 = private unnamed_addr constant [11 x i8] c"mg_collect\00" @.str2360 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5979: index out of range: \00" @.str2361 = private unnamed_addr constant [8 x i8] c"mg_unit\00" @.str2362 = private unnamed_addr constant [2 x i8] c",\00" @.str2363 = private unnamed_addr constant [2 x i8] c",\00" @.str2364 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5995: index out of range: \00" @.str2365 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5995: index out of range: \00" @.str2366 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5996: index out of range: \00" @.str2367 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:5998: index out of range: \00" @.str2368 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6008: index out of range: \00" @.str2369 = private unnamed_addr constant [2 x i8] c"=\00" @.str2370 = private unnamed_addr constant [15 x i8] c"mg_state_named\00" @.str2371 = private unnamed_addr constant [2 x i8] c",\00" @.str2372 = private unnamed_addr constant [8 x i8] c"mg_need\00" @.str2373 = private unnamed_addr constant [2 x i8] c",\00" @.str2374 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6022: index out of range: \00" @.str2375 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6023: index out of range: \00" @.str2376 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6023: index out of range: \00" @.str2377 = private unnamed_addr constant [2 x i8] c",\00" @.str2378 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6026: index out of range: \00" @.str2379 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6027: index out of range: \00" @.str2380 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6027: index out of range: \00" @.str2381 = private unnamed_addr constant [2 x i8] c",\00" @.str2382 = private unnamed_addr constant [7 x i8] c"mg_ref\00" @.str2383 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6047: index out of range: \00" @.str2384 = private unnamed_addr constant [67 x i8] c" is the runtime's; change it through the runtime's function for it\00" @.str2385 = private unnamed_addr constant [9 x i8] c"mg_write\00" @.str2386 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6052: index out of range: \00" @.str2387 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6059: index out of range: \00" @.str2388 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6060: index out of range: \00" @.str2389 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6060: index out of range: \00" @.str2390 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6060: index out of range: \00" @.str2391 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6065: index out of range: \00" @.str2392 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6065: index out of range: \00" @.str2393 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6065: index out of range: \00" @.str2394 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6065: index out of range: \00" @.str2395 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6065: index out of range: \00" @.str2396 = private unnamed_addr constant [1 x i8] c"\00" @.str2397 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str2398 = private unnamed_addr constant [11 x i8] c"/packages/\00" @.str2399 = private unnamed_addr constant [15 x i8] c"ludic_modules/\00" @.str2400 = private unnamed_addr constant [1 x i8] c"\00" @.str2401 = private unnamed_addr constant [13 x i8] c"s_has_prefix\00" @.str2402 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6084: index out of range: \00" @.str2403 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6085: index out of range: \00" @.str2404 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6089: index out of range: \00" @.str2405 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6089: index out of range: \00" @.str2406 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6092: index out of range: \00" @.str2407 = private unnamed_addr constant [4 x i8] c"int\00" @.str2408 = private unnamed_addr constant [6 x i8] c"float\00" @.str2409 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2410 = private unnamed_addr constant [5 x i8] c"long\00" @.str2411 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2412 = private unnamed_addr constant [7 x i8] c"string\00" @.str2413 = private unnamed_addr constant [5 x i8] c"byte\00" @.str2414 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6109: index out of range: \00" @.str2415 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6110: index out of range: \00" @.str2416 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6111: index out of range: \00" @.str2417 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6112: index out of range: \00" @.str2418 = private unnamed_addr constant [5 x i8] c"REF \00" @.str2419 = private unnamed_addr constant [14 x i8] c"mg_read_needs\00" @.str2420 = private unnamed_addr constant [2 x i8] c" \00" @.str2421 = private unnamed_addr constant [2 x i8] c" \00" @.str2422 = private unnamed_addr constant [2 x i8] c" \00" @.str2423 = private unnamed_addr constant [3 x i8] c"()\00" @.str2424 = private unnamed_addr constant [1 x i8] c"\00" @.str2425 = private unnamed_addr constant [65 x i8] c" is the runtime's; read it through the runtime's function for it\00" @.str2426 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6120: index out of range: \00" @.str2427 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6121: index out of range: \00" @.str2428 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6122: index out of range: \00" @.str2429 = private unnamed_addr constant [72 x i8] c" is read where no function is (a global's initializer); move it by hand\00" @.str2430 = private unnamed_addr constant [16 x i8] c"a reference to \00" @.str2431 = private unnamed_addr constant [62 x i8] c" in generated code (a component, a view, a registry's lookup)\00" @.str2432 = private unnamed_addr constant [8 x i8] c"mg_call\00" @.str2433 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6140: index out of range: \00" @.str2434 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6141: index out of range: \00" @.str2435 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6142: index out of range: \00" @.str2436 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6152: index out of range: \00" @.str2437 = private unnamed_addr constant [14 x i8] c"mg_state_args\00" @.str2438 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6159: index out of range: \00" @.str2439 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6163: index out of range: \00" @.str2440 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6164: index out of range: \00" @.str2441 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6173: index out of range: \00" @.str2442 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6188: index out of range: \00" @.str2443 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6188: index out of range: \00" @.str2444 = private unnamed_addr constant [2 x i8] c"?\00" @.str2445 = private unnamed_addr constant [2 x i8] c":\00" @.str2446 = private unnamed_addr constant [7 x i8] c"mg_say\00" @.str2447 = private unnamed_addr constant [3 x i8] c"? \00" @.str2448 = private unnamed_addr constant [2 x i8] c" \00" @.str2449 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6217: index out of range: \00" @.str2450 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6218: index out of range: \00" @.str2451 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6219: index out of range: \00" @.str2452 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6222: index out of range: \00" @.str2453 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6223: index out of range: \00" @.str2454 = private unnamed_addr constant [2 x i8] c",\00" @.str2455 = private unnamed_addr constant [12 x i8] c"mg_fixpoint\00" @.str2456 = private unnamed_addr constant [2 x i8] c",\00" @.str2457 = private unnamed_addr constant [8 x i8] c"mg_list\00" @.str2458 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6250: index out of range: \00" @.str2459 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6252: index out of range: \00" @.str2460 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6252: index out of range: \00" @.str2461 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6252: index out of range: \00" @.str2462 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6253: index out of range: \00" @.str2463 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6253: index out of range: \00" @.str2464 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6256: index out of range: \00" @.str2465 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6266: index out of range: \00" @.str2466 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6266: index out of range: \00" @.str2467 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6266: index out of range: \00" @.str2468 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6277: index out of range: \00" @.str2469 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6278: index out of range: \00" @.str2470 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6279: index out of range: \00" @.str2471 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6279: index out of range: \00" @.str2472 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6286: index out of range: \00" @.str2473 = private unnamed_addr constant [2 x i8] c",\00" @.str2474 = private unnamed_addr constant [14 x i8] c"mg_param_text\00" @.str2475 = private unnamed_addr constant [2 x i8] c",\00" @.str2476 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6286: index out of range: \00" @.str2477 = private unnamed_addr constant [7 x i8] c": mut \00" @.str2478 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6286: index out of range: \00" @.str2479 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6287: index out of range: \00" @.str2480 = private unnamed_addr constant [3 x i8] c": \00" @.str2481 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6287: index out of range: \00" @.str2482 = private unnamed_addr constant [8 x i8] c"mg_emit\00" @.str2483 = private unnamed_addr constant [13 x i8] c"mg_norm_line\00" @.str2484 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6307: index out of range: \00" @.str2485 = private unnamed_addr constant [4 x i8] c"VAR\00" @.str2486 = private unnamed_addr constant [4 x i8] c"REF\00" @.str2487 = private unnamed_addr constant [4 x i8] c"INS\00" @.str2488 = private unnamed_addr constant [4 x i8] c"LET\00" @.str2489 = private unnamed_addr constant [6 x i8] c"CLOSE\00" @.str2490 = private unnamed_addr constant [8 x i8] c"DELITEM\00" @.str2491 = private unnamed_addr constant [7 x i8] c"DELMUT\00" @.str2492 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6308: index out of range: \00" @.str2493 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6308: index out of range: \00" @.str2494 = private unnamed_addr constant [2 x i8] c"?\00" @.str2495 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6309: index out of range: \00" @.str2496 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6309: index out of range: \00" @.str2497 = private unnamed_addr constant [4 x i8] c"VAR\00" @.str2498 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6310: index out of range: \00" @.str2499 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6310: index out of range: \00" @.str2500 = private unnamed_addr constant [6 x i8] c"STATE\00" @.str2501 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6312: index out of range: \00" @.str2502 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6312: index out of range: \00" @.str2503 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6313: index out of range: \00" @.str2504 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6313: index out of range: \00" @.str2505 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6315: index out of range: \00" @.str2506 = private unnamed_addr constant [2 x i8] c" \00" @.str2507 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6318: index out of range: \00" @.str2508 = private unnamed_addr constant [12 x i8] c"mg_norm_key\00" @.str2509 = private unnamed_addr constant [1 x i8] c"\00" @.str2510 = private unnamed_addr constant [9 x i8] c"packages\00" @.str2511 = private unnamed_addr constant [10 x i8] c"/packages\00" @.str2512 = private unnamed_addr constant [1 x i8] c"\00" @.str2513 = private unnamed_addr constant [2 x i8] c"_\00" @.str2514 = private unnamed_addr constant [9 x i8] c"package:\00" @.str2515 = private unnamed_addr constant [2 x i8] c"@\00" @.str2516 = private unnamed_addr constant [9 x i8] c"package:\00" @.str2517 = private unnamed_addr constant [8 x i8] c"program\00" @.str2518 = private unnamed_addr constant [9 x i8] c"program:\00" @.str2519 = private unnamed_addr constant [4 x i8] c"PWD\00" @.str2520 = private unnamed_addr constant [2 x i8] c"/\00" @.str2521 = private unnamed_addr constant [8 x i8] c"mg_norm\00" @.str2522 = private unnamed_addr constant [3 x i8] c"..\00" @.str2523 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6382: index out of range: \00" @.str2524 = private unnamed_addr constant [3 x i8] c"..\00" @.str2525 = private unnamed_addr constant [2 x i8] c".\00" @.str2526 = private unnamed_addr constant [1 x i8] c"\00" @.str2527 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6384: index out of range: \00" @.str2528 = private unnamed_addr constant [1 x i8] c"\00" @.str2529 = private unnamed_addr constant [2 x i8] c"/\00" @.str2530 = private unnamed_addr constant [2 x i8] c"/\00" @.str2531 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6396: index out of range: \00" @.str2532 = private unnamed_addr constant [2 x i8] c"/\00" @.str2533 = private unnamed_addr constant [1 x i8] c"\00" @.str2534 = private unnamed_addr constant [3 x i8] c"\5Cs\00" @.str2535 = private unnamed_addr constant [7 x i8] c"mg_esc\00" @.str2536 = private unnamed_addr constant [3 x i8] c"\5Cn\00" @.str2537 = private unnamed_addr constant [3 x i8] c"\5C\5C\00" @.str2538 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6414: index out of range: \00" @.str2539 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6417: index out of range: \00" @.str2540 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6417: index out of range: \00" @.str2541 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6426: index out of range: \00" @.str2542 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6434: index out of range: \00" @.str2543 = private unnamed_addr constant [16 x i8] c"mg_mut_upgrades\00" @.str2544 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6437: index out of range: \00" @.str2545 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6439: index out of range: \00" @.str2546 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6439: index out of range: \00" @.str2547 = private unnamed_addr constant [6 x i8] c"state\00" @.str2548 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6440: index out of range: \00" @.str2549 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6446: index out of range: \00" @.str2550 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6449: index out of range: \00" @.str2551 = private unnamed_addr constant [2 x i8] c",\00" @.str2552 = private unnamed_addr constant [2 x i8] c",\00" @.str2553 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2554 = private unnamed_addr constant [2 x i8] c" \00" @.str2555 = private unnamed_addr constant [2 x i8] c" \00" @.str2556 = private unnamed_addr constant [5 x i8] c"mut \00" @.str2557 = private unnamed_addr constant [1 x i8] c"\00" @.str2558 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6457: index out of range: \00" @.str2559 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6458: index out of range: \00" @.str2560 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6465: index out of range: \00" @.str2561 = private unnamed_addr constant [1 x i8] c"\00" @.str2562 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6470: index out of range: \00" @.str2563 = private unnamed_addr constant [3 x i8] c", \00" @.str2564 = private unnamed_addr constant [9 x i8] c"mg_units\00" @.str2565 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6472: index out of range: \00" @.str2566 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6484: index out of range: \00" @.str2567 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str2568 = private unnamed_addr constant [15 x i8] c"ludic_rowred__\00" @.str2569 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6490: index out of range: \00" @.str2570 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6492: index out of range: \00" @.str2571 = private unnamed_addr constant [2 x i8] c",\00" @.str2572 = private unnamed_addr constant [14 x i8] c"mg_prune_unit\00" @.str2573 = private unnamed_addr constant [2 x i8] c",\00" @.str2574 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str2575 = private unnamed_addr constant [2 x i8] c" \00" @.str2576 = private unnamed_addr constant [1 x i8] c"\00" @.str2577 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6493: index out of range: \00" @.str2578 = private unnamed_addr constant [2 x i8] c",\00" @.str2579 = private unnamed_addr constant [2 x i8] c",\00" @.str2580 = private unnamed_addr constant [8 x i8] c"DELMUT \00" @.str2581 = private unnamed_addr constant [2 x i8] c" \00" @.str2582 = private unnamed_addr constant [1 x i8] c"\00" @.str2583 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6503: index out of range: \00" @.str2584 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6503: index out of range: \00" @.str2585 = private unnamed_addr constant [6 x i8] c"state\00" @.str2586 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6504: index out of range: \00" @.str2587 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6505: index out of range: \00" @.str2588 = private unnamed_addr constant [2 x i8] c",\00" @.str2589 = private unnamed_addr constant [2 x i8] c",\00" @.str2590 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str2591 = private unnamed_addr constant [2 x i8] c" \00" @.str2592 = private unnamed_addr constant [1 x i8] c"\00" @.str2593 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6515: index out of range: \00" @.str2594 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6516: index out of range: \00" @.str2595 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6517: index out of range: \00" @.str2596 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6518: index out of range: \00" @.str2597 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6519: index out of range: \00" @.str2598 = private unnamed_addr constant [2 x i8] c",\00" @.str2599 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6519: index out of range: \00" @.str2600 = private unnamed_addr constant [14 x i8] c"mg_prune_args\00" @.str2601 = private unnamed_addr constant [2 x i8] c",\00" @.str2602 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6520: index out of range: \00" @.str2603 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str2604 = private unnamed_addr constant [2 x i8] c" \00" @.str2605 = private unnamed_addr constant [1 x i8] c"\00" @.str2606 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6529: index out of range: \00" @.str2607 = private unnamed_addr constant [2 x i8] c",\00" @.str2608 = private unnamed_addr constant [13 x i8] c"mg_unit_edit\00" @.str2609 = private unnamed_addr constant [2 x i8] c",\00" @.str2610 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6536: index out of range: \00" @.str2611 = private unnamed_addr constant [2 x i8] c",\00" @.str2612 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6539: index out of range: \00" @.str2613 = private unnamed_addr constant [2 x i8] c",\00" @.str2614 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6540: index out of range: \00" @.str2615 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6540: index out of range: \00" @.str2616 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6540: index out of range: \00" @.str2617 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6540: index out of range: \00" @.str2618 = private unnamed_addr constant [2 x i8] c",\00" @.str2619 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6541: index out of range: \00" @.str2620 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6541: index out of range: \00" @.str2621 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6541: index out of range: \00" @.str2622 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6541: index out of range: \00" @.str2623 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6541: index out of range: \00" @.str2624 = private unnamed_addr constant [2 x i8] c",\00" @.str2625 = private unnamed_addr constant [6 x i8] c"bind_\00" @.str2626 = private unnamed_addr constant [8 x i8] c" needs \00" @.str2627 = private unnamed_addr constant [55 x i8] c" and is generated code: its caller cannot be rewritten\00" @.str2628 = private unnamed_addr constant [3 x i8] c", \00" @.str2629 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2630 = private unnamed_addr constant [2 x i8] c" \00" @.str2631 = private unnamed_addr constant [2 x i8] c" \00" @.str2632 = private unnamed_addr constant [2 x i8] c"@\00" @.str2633 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6560: index out of range: \00" @.str2634 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6560: index out of range: \00" @.str2635 = private unnamed_addr constant [6 x i8] c"state\00" @.str2636 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6563: index out of range: \00" @.str2637 = private unnamed_addr constant [1 x i8] c"\00" @.str2638 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6570: index out of range: \00" @.str2639 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6570: index out of range: \00" @.str2640 = private unnamed_addr constant [6 x i8] c"state\00" @.str2641 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6571: index out of range: \00" @.str2642 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6571: index out of range: \00" @.str2643 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6571: index out of range: \00" @.str2644 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6572: index out of range: \00" @.str2645 = private unnamed_addr constant [3 x i8] c", \00" @.str2646 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6575: index out of range: \00" @.str2647 = private unnamed_addr constant [46 x i8] c"this entry point declares states already; add\00" @.str2648 = private unnamed_addr constant [17 x i8] c" to them by hand\00" @.str2649 = private unnamed_addr constant [7 x i8] c"CLOSE \00" @.str2650 = private unnamed_addr constant [2 x i8] c" \00" @.str2651 = private unnamed_addr constant [2 x i8] c" \00" @.str2652 = private unnamed_addr constant [1 x i8] c"\00" @.str2653 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2654 = private unnamed_addr constant [2 x i8] c" \00" @.str2655 = private unnamed_addr constant [2 x i8] c" \00" @.str2656 = private unnamed_addr constant [2 x i8] c"(\00" @.str2657 = private unnamed_addr constant [3 x i8] c") \00" @.str2658 = private unnamed_addr constant [2 x i8] c"@\00" @.str2659 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2660 = private unnamed_addr constant [2 x i8] c" \00" @.str2661 = private unnamed_addr constant [2 x i8] c" \00" @.str2662 = private unnamed_addr constant [2 x i8] c"(\00" @.str2663 = private unnamed_addr constant [2 x i8] c")\00" @.str2664 = private unnamed_addr constant [2 x i8] c"@\00" @.str2665 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2666 = private unnamed_addr constant [2 x i8] c" \00" @.str2667 = private unnamed_addr constant [2 x i8] c" \00" @.str2668 = private unnamed_addr constant [3 x i8] c" (\00" @.str2669 = private unnamed_addr constant [2 x i8] c")\00" @.str2670 = private unnamed_addr constant [2 x i8] c"@\00" @.str2671 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2672 = private unnamed_addr constant [2 x i8] c" \00" @.str2673 = private unnamed_addr constant [2 x i8] c" \00" @.str2674 = private unnamed_addr constant [3 x i8] c" (\00" @.str2675 = private unnamed_addr constant [2 x i8] c")\00" @.str2676 = private unnamed_addr constant [2 x i8] c"@\00" @.str2677 = private unnamed_addr constant [24 x i8] c"a listener that needs (\00" @.str2678 = private unnamed_addr constant [27 x i8] c") whose place is not known\00" @.str2679 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2680 = private unnamed_addr constant [2 x i8] c" \00" @.str2681 = private unnamed_addr constant [2 x i8] c" \00" @.str2682 = private unnamed_addr constant [2 x i8] c"(\00" @.str2683 = private unnamed_addr constant [2 x i8] c")\00" @.str2684 = private unnamed_addr constant [2 x i8] c"@\00" @.str2685 = private unnamed_addr constant [2 x i8] c",\00" @.str2686 = private unnamed_addr constant [12 x i8] c"mg_comp_acc\00" @.str2687 = private unnamed_addr constant [2 x i8] c",\00" @.str2688 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6604: index out of range: \00" @.str2689 = private unnamed_addr constant [2 x i8] c",\00" @.str2690 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6607: index out of range: \00" @.str2691 = private unnamed_addr constant [2 x i8] c",\00" @.str2692 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6608: index out of range: \00" @.str2693 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6608: index out of range: \00" @.str2694 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6608: index out of range: \00" @.str2695 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6608: index out of range: \00" @.str2696 = private unnamed_addr constant [2 x i8] c",\00" @.str2697 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6609: index out of range: \00" @.str2698 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6609: index out of range: \00" @.str2699 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6609: index out of range: \00" @.str2700 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6609: index out of range: \00" @.str2701 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6609: index out of range: \00" @.str2702 = private unnamed_addr constant [2 x i8] c",\00" @.str2703 = private unnamed_addr constant [2 x i8] c",\00" @.str2704 = private unnamed_addr constant [9 x i8] c"mg_comps\00" @.str2705 = private unnamed_addr constant [2 x i8] c",\00" @.str2706 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6624: index out of range: \00" @.str2707 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6625: index out of range: \00" @.str2708 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6625: index out of range: \00" @.str2709 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6626: index out of range: \00" @.str2710 = private unnamed_addr constant [2 x i8] c",\00" @.str2711 = private unnamed_addr constant [2 x i8] c",\00" @.str2712 = private unnamed_addr constant [9 x i8] c"DELITEM \00" @.str2713 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6626: index out of range: \00" @.str2714 = private unnamed_addr constant [2 x i8] c" \00" @.str2715 = private unnamed_addr constant [1 x i8] c"\00" @.str2716 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6630: index out of range: \00" @.str2717 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6631: index out of range: \00" @.str2718 = private unnamed_addr constant [1 x i8] c"\00" @.str2719 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6635: index out of range: \00" @.str2720 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6636: index out of range: \00" @.str2721 = private unnamed_addr constant [2 x i8] c",\00" @.str2722 = private unnamed_addr constant [2 x i8] c",\00" @.str2723 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6640: index out of range: \00" @.str2724 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6640: index out of range: \00" @.str2725 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6640: index out of range: \00" @.str2726 = private unnamed_addr constant [3 x i8] c", \00" @.str2727 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6645: index out of range: \00" @.str2728 = private unnamed_addr constant [7 x i8] c": mut \00" @.str2729 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6645: index out of range: \00" @.str2730 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6645: index out of range: \00" @.str2731 = private unnamed_addr constant [3 x i8] c": \00" @.str2732 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6645: index out of range: \00" @.str2733 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2734 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6647: index out of range: \00" @.str2735 = private unnamed_addr constant [2 x i8] c" \00" @.str2736 = private unnamed_addr constant [2 x i8] c" \00" @.str2737 = private unnamed_addr constant [5 x i8] c"mut \00" @.str2738 = private unnamed_addr constant [1 x i8] c"\00" @.str2739 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2740 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6652: index out of range: \00" @.str2741 = private unnamed_addr constant [2 x i8] c" \00" @.str2742 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6652: index out of range: \00" @.str2743 = private unnamed_addr constant [2 x i8] c" \00" @.str2744 = private unnamed_addr constant [3 x i8] c" (\00" @.str2745 = private unnamed_addr constant [2 x i8] c")\00" @.str2746 = private unnamed_addr constant [1 x i8] c"\00" @.str2747 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6654: index out of range: \00" @.str2748 = private unnamed_addr constant [7 x i8] c"CLOSE \00" @.str2749 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6655: index out of range: \00" @.str2750 = private unnamed_addr constant [2 x i8] c" \00" @.str2751 = private unnamed_addr constant [2 x i8] c" \00" @.str2752 = private unnamed_addr constant [3 x i8] c", \00" @.str2753 = private unnamed_addr constant [1 x i8] c"\00" @.str2754 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6664: index out of range: \00" @.str2755 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6666: index out of range: \00" @.str2756 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6667: index out of range: \00" @.str2757 = private unnamed_addr constant [6 x i8] c"view \00" @.str2758 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6667: index out of range: \00" @.str2759 = private unnamed_addr constant [9 x i8] c"mg_views\00" @.str2760 = private unnamed_addr constant [52 x i8] c" declares states already; add what it needs by hand\00" @.str2761 = private unnamed_addr constant [1 x i8] c"\00" @.str2762 = private unnamed_addr constant [3 x i8] c", \00" @.str2763 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2764 = private unnamed_addr constant [2 x i8] c",\00" @.str2765 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2766 = private unnamed_addr constant [2 x i8] c",\00" @.str2767 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2768 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2769 = private unnamed_addr constant [7 x i8] c": mut \00" @.str2770 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2771 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2772 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2773 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2774 = private unnamed_addr constant [3 x i8] c": \00" @.str2775 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2776 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6672: index out of range: \00" @.str2777 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2778 = private unnamed_addr constant [2 x i8] c" \00" @.str2779 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6675: index out of range: \00" @.str2780 = private unnamed_addr constant [2 x i8] c" \00" @.str2781 = private unnamed_addr constant [3 x i8] c" (\00" @.str2782 = private unnamed_addr constant [2 x i8] c")\00" @.str2783 = private unnamed_addr constant [1 x i8] c"\00" @.str2784 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6684: index out of range: \00" @.str2785 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6685: index out of range: \00" @.str2786 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6686: index out of range: \00" @.str2787 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6687: index out of range: \00" @.str2788 = private unnamed_addr constant [1 x i8] c"\00" @.str2789 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6690: index out of range: \00" @.str2790 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6693: index out of range: \00" @.str2791 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6693: index out of range: \00" @.str2792 = private unnamed_addr constant [3 x i8] c", \00" @.str2793 = private unnamed_addr constant [9 x i8] c"mg_calls\00" @.str2794 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6695: index out of range: \00" @.str2795 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6695: index out of range: \00" @.str2796 = private unnamed_addr constant [11 x i8] c"a call to \00" @.str2797 = private unnamed_addr constant [23 x i8] c" with no place needs (\00" @.str2798 = private unnamed_addr constant [2 x i8] c")\00" @.str2799 = private unnamed_addr constant [3 x i8] c", \00" @.str2800 = private unnamed_addr constant [5 x i8] c"INS \00" @.str2801 = private unnamed_addr constant [2 x i8] c" \00" @.str2802 = private unnamed_addr constant [2 x i8] c" \00" @.str2803 = private unnamed_addr constant [2 x i8] c"@\00" @.str2804 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6713: index out of range: \00" @.str2805 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6714: index out of range: \00" @.str2806 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6718: index out of range: \00" @.str2807 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6718: index out of range: \00" @.str2808 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6719: index out of range: \00" @.str2809 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6719: index out of range: \00" @.str2810 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6720: index out of range: \00" @.str2811 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6720: index out of range: \00" @.str2812 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6722: index out of range: \00" @.str2813 = private unnamed_addr constant [2 x i8] c".\00" @.str2814 = private unnamed_addr constant [8 x i8] c"mg_refs\00" @.str2815 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6723: index out of range: \00" @.str2816 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6723: index out of range: \00" @.str2817 = private unnamed_addr constant [2 x i8] c".\00" @.str2818 = private unnamed_addr constant [5 x i8] c"REF \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 [2 x i8] c" \00" @.str2822 = private unnamed_addr constant [2 x i8] c"@\00" @.str2823 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6733: index out of range: \00" @.str2824 = private unnamed_addr constant [1 x i8] c"\00" @.str2825 = private unnamed_addr constant [2 x i8] c"@\00" @.str2826 = private unnamed_addr constant [11 x i8] c"mg_exports\00" @.str2827 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6737: index out of range: \00" @.str2828 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6740: index out of range: \00" @.str2829 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6740: index out of range: \00" @.str2830 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6740: index out of range: \00" @.str2831 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6740: index out of range: \00" @.str2832 = private unnamed_addr constant [12 x i8] c"mg_bind_var\00" @.str2833 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6755: index out of range: \00" @.str2834 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6763: index out of range: \00" @.str2835 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6766: index out of range: \00" @.str2836 = private unnamed_addr constant [5 x i8] c"REF \00" @.str2837 = private unnamed_addr constant [9 x i8] c"mg_binds\00" @.str2838 = private unnamed_addr constant [2 x i8] c" \00" @.str2839 = private unnamed_addr constant [2 x i8] c" \00" @.str2840 = private unnamed_addr constant [2 x i8] c" \00" @.str2841 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6768: index out of range: \00" @.str2842 = private unnamed_addr constant [2 x i8] c".\00" @.str2843 = private unnamed_addr constant [1 x i8] c"\00" @.str2844 = private unnamed_addr constant [10 x i8] c"mg_finish\00" @.str2845 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6789: index out of range: \00" @.str2846 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6790: index out of range: \00" @.str2847 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6791: index out of range: \00" @.str2848 = private unnamed_addr constant [5 x i8] c"LET \00" @.str2849 = private unnamed_addr constant [2 x i8] c" \00" @.str2850 = private unnamed_addr constant [1 x i8] c"\00" @.str2851 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6792: index out of range: \00" @.str2852 = private unnamed_addr constant [5 x i8] c"VAR \00" @.str2853 = private unnamed_addr constant [2 x i8] c" \00" @.str2854 = private unnamed_addr constant [2 x i8] c" \00" @.str2855 = private unnamed_addr constant [2 x i8] c" \00" @.str2856 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6792: index out of range: \00" @.str2857 = private unnamed_addr constant [2 x i8] c" \00" @.str2858 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6792: index out of range: \00" @.str2859 = private unnamed_addr constant [1 x i8] c"\00" @.str2860 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6801: index out of range: \00" @.str2861 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6801: index out of range: \00" @.str2862 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6804: index out of range: \00" @.str2863 = private unnamed_addr constant [7 x i8] c"STATE \00" @.str2864 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6806: index out of range: \00" @.str2865 = private unnamed_addr constant [2 x i8] c" \00" @.str2866 = private unnamed_addr constant [2 x i8] c" \00" @.str2867 = private unnamed_addr constant [2 x i8] c" \00" @.str2868 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6806: index out of range: \00" @.str2869 = private unnamed_addr constant [2 x i8] c" \00" @.str2870 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6806: index out of range: \00" @.str2871 = private unnamed_addr constant [2 x i8] c" \00" @.str2872 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6806: index out of range: \00" @.str2873 = private unnamed_addr constant [6 x i8] c" more\00" @.str2874 = private unnamed_addr constant [1 x i8] c"\00" @.str2875 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6808: index out of range: \00" @.str2876 = private unnamed_addr constant [7 x i8] c"STATE \00" @.str2877 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6809: index out of range: \00" @.str2878 = private unnamed_addr constant [2 x i8] c" \00" @.str2879 = private unnamed_addr constant [2 x i8] c" \00" @.str2880 = private unnamed_addr constant [2 x i8] c" \00" @.str2881 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6809: index out of range: \00" @.str2882 = private unnamed_addr constant [2 x i8] c" \00" @.str2883 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6809: index out of range: \00" @.str2884 = private unnamed_addr constant [2 x i8] c" \00" @.str2885 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6809: index out of range: \00" @.str2886 = private unnamed_addr constant [1 x i8] c"\00" @.str2887 = private unnamed_addr constant [3 x i8] c"wb\00" @.str2888 = private unnamed_addr constant [41 x i8] c"ludicc: cannot write the migration plan\0A\00" @.str2889 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6824: index out of range: \00" @.str2890 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6824: index out of range: \00" @.str2891 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2892 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6830: index out of range: \00" @.str2893 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6830: index out of range: \00" @.str2894 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2895 = private unnamed_addr constant [8 x i8] c"df_push\00" @.str2896 = private unnamed_addr constant [10 x i8] c"reg_upper\00" @.str2897 = private unnamed_addr constant [10 x i8] c"reg_lower\00" @.str2898 = private unnamed_addr constant [3 x i8] c"of\00" @.str2899 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2900 = private unnamed_addr constant [15 x i8] c"parse_registry\00" @.str2901 = private unnamed_addr constant [32 x i8] c": say what it holds - registry \00" @.str2902 = private unnamed_addr constant [15 x i8] c" of SomeRecord\00" @.str2903 = private unnamed_addr constant [3 x i8] c"as\00" @.str2904 = private unnamed_addr constant [10 x i8] c"registry \00" @.str2905 = 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" @.str2906 = private unnamed_addr constant [6 x i8] c"_find\00" @.str2907 = private unnamed_addr constant [5 x i8] c"from\00" @.str2908 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6921: index out of range: \00" @.str2909 = private unnamed_addr constant [3 x i8] c"[]\00" @.str2910 = private unnamed_addr constant [5 x i8] c"from\00" @.str2911 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6943: index out of range: \00" @.str2912 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6944: index out of range: \00" @.str2913 = private unnamed_addr constant [5 x i8] c"def \00" @.str2914 = private unnamed_addr constant [10 x i8] c"parse_def\00" @.str2915 = private unnamed_addr constant [6 x i8] c" from\00" @.str2916 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6949: index out of range: \00" @.str2917 = private unnamed_addr constant [1 x i8] c"\00" @.str2918 = private unnamed_addr constant [2 x i8] c":\00" @.str2919 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6958: index out of range: \00" @.str2920 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6966: index out of range: \00" @.str2921 = private unnamed_addr constant [4 x i8] c"int\00" @.str2922 = private unnamed_addr constant [10 x i8] c"reg_const\00" @.str2923 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6994: index out of range: \00" @.str2924 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6995: index out of range: \00" @.str2925 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6996: index out of range: \00" @.str2926 = private unnamed_addr constant [5 x i8] c"def \00" @.str2927 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6998: index out of range: \00" @.str2928 = private unnamed_addr constant [18 x i8] c"registries_finish\00" @.str2929 = private unnamed_addr constant [2 x i8] c" \00" @.str2930 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6998: index out of range: \00" @.str2931 = private unnamed_addr constant [24 x i8] c": there is no registry \00" @.str2932 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:6998: index out of range: \00" @.str2933 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7012: index out of range: \00" @.str2934 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7013: index out of range: \00" @.str2935 = private unnamed_addr constant [4 x i8] c"key\00" @.str2936 = private unnamed_addr constant [9 x i8] c"reg_fill\00" @.str2937 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7024: index out of range: \00" @.str2938 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7025: index out of range: \00" @.str2939 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7026: index out of range: \00" @.str2940 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7029: index out of range: \00" @.str2941 = private unnamed_addr constant [5 x i8] c"def \00" @.str2942 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7033: index out of range: \00" @.str2943 = private unnamed_addr constant [2 x i8] c" \00" @.str2944 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str2945 = private unnamed_addr constant [6 x i8] c"COUNT\00" @.str2946 = private unnamed_addr constant [5 x i8] c"def \00" @.str2947 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7042: index out of range: \00" @.str2948 = private unnamed_addr constant [2 x i8] c" \00" @.str2949 = private unnamed_addr constant [25 x i8] c": its constant would be \00" @.str2950 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7042: index out of range: \00" @.str2951 = private unnamed_addr constant [65 x i8] c"_COUNT, which is the registry's size; give the entry another key\00" @.str2952 = private unnamed_addr constant [4 x i8] c"key\00" @.str2953 = private unnamed_addr constant [4 x i8] c"key\00" @.str2954 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7053: index out of range: \00" @.str2955 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7053: index out of range: \00" @.str2956 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7060: index out of range: \00" @.str2957 = private unnamed_addr constant [2 x i8] c"_\00" @.str2958 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7064: index out of range: \00" @.str2959 = private unnamed_addr constant [7 x i8] c"_COUNT\00" @.str2960 = private unnamed_addr constant [6 x i8] c"_find\00" @.str2961 = private unnamed_addr constant [12 x i8] c"reg_find_fn\00" @.str2962 = private unnamed_addr constant [10 x i8] c"function \00" @.str2963 = private unnamed_addr constant [52 x i8] c"(key: string) -> int {\0A var i = 0\0A while i < len(\00" @.str2964 = private unnamed_addr constant [12 x i8] c") {\0A if \00" @.str2965 = private unnamed_addr constant [58 x i8] c"[i].key == key { return i }\0A i += 1\0A }\0A return -1\0A}\0A\00" @.str2966 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7092: index out of range: \00" @.str2967 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7111: index out of range: \00" @.str2968 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7112: index out of range: \00" @.str2969 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7113: index out of range: \00" @.str2970 = private unnamed_addr constant [1 x i8] c"\00" @.str2971 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7121: index out of range: \00" @.str2972 = private unnamed_addr constant [5 x i8] c"def \00" @.str2973 = private unnamed_addr constant [14 x i8] c"reg_def_check\00" @.str2974 = private unnamed_addr constant [2 x i8] c" \00" @.str2975 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7122: index out of range: \00" @.str2976 = private unnamed_addr constant [12 x i8] c": registry \00" @.str2977 = private unnamed_addr constant [58 x i8] c" is not open to other modules; declare it 'open registry \00" @.str2978 = private unnamed_addr constant [13 x i8] c"' in module \00" @.str2979 = private unnamed_addr constant [25 x i8] c", or write the def there\00" @.str2980 = private unnamed_addr constant [10 x i8] c"reg_order\00" @.str2981 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7139: index out of range: \00" @.str2982 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7143: index out of range: \00" @.str2983 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7143: index out of range: \00" @.str2984 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7144: index out of range: \00" @.str2985 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7150: index out of range: \00" @.str2986 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7161: index out of range: \00" @.str2987 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7163: index out of range: \00" @.str2988 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7164: index out of range: \00" @.str2989 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7164: index out of range: \00" @.str2990 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7167: index out of range: \00" @.str2991 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7174: index out of range: \00" @.str2992 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7174: index out of range: \00" @.str2993 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7174: index out of range: \00" @.str2994 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7174: index out of range: \00" @.str2995 = private unnamed_addr constant [9 x i8] c"at_group\00" @.str2996 = private unnamed_addr constant [8 x i8] c"at_push\00" @.str2997 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7235: index out of range: \00" @.str2998 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7235: index out of range: \00" @.str2999 = private unnamed_addr constant [2 x i8] c"(\00" @.str3000 = private unnamed_addr constant [3 x i8] c"[]\00" @.str3001 = private unnamed_addr constant [2 x i8] c"[\00" @.str3002 = private unnamed_addr constant [2 x i8] c")\00" @.str3003 = private unnamed_addr constant [2 x i8] c"-\00" @.str3004 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7259: index out of range: \00" @.str3005 = private unnamed_addr constant [2 x i8] c"-\00" @.str3006 = private unnamed_addr constant [8 x i8] c"at_args\00" @.str3007 = private unnamed_addr constant [2 x i8] c"-\00" @.str3008 = private unnamed_addr constant [62 x i8] c"an attribute's argument is a name, a string or a number, not \00" @.str3009 = private unnamed_addr constant [3 x i8] c", \00" @.str3010 = private unnamed_addr constant [2 x i8] c",\00" @.str3011 = private unnamed_addr constant [2 x i8] c")\00" @.str3012 = private unnamed_addr constant [2 x i8] c"]\00" @.str3013 = private unnamed_addr constant [3 x i8] c"-0\00" @.str3014 = private unnamed_addr constant [9 x i8] c"at_lead0\00" @.str3015 = private unnamed_addr constant [2 x i8] c"0\00" @.str3016 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3017 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3018 = private unnamed_addr constant [6 x i8] c"Range\00" @.str3019 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str3020 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str3021 = private unnamed_addr constant [6 x i8] c"Color\00" @.str3022 = private unnamed_addr constant [5 x i8] c"Node\00" @.str3023 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str3024 = private unnamed_addr constant [9 x i8] c"Material\00" @.str3025 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str3026 = private unnamed_addr constant [6 x i8] c"Color\00" @.str3027 = private unnamed_addr constant [8 x i8] c"Derived\00" @.str3028 = private unnamed_addr constant [5 x i8] c"Text\00" @.str3029 = private unnamed_addr constant [10 x i8] c"Multiline\00" @.str3030 = private unnamed_addr constant [4 x i8] c"Key\00" @.str3031 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3032 = private unnamed_addr constant [5 x i8] c"Node\00" @.str3033 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str3034 = private unnamed_addr constant [9 x i8] c"Material\00" @.str3035 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str3036 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7312: index out of range: \00" @.str3037 = private unnamed_addr constant [2 x i8] c"@\00" @.str3038 = private unnamed_addr constant [9 x i8] c"at_field\00" @.str3039 = private unnamed_addr constant [19 x i8] c" takes one name: @\00" @.str3040 = private unnamed_addr constant [8 x i8] c"(Items)\00" @.str3041 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3042 = 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" @.str3043 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3044 = private unnamed_addr constant [6 x i8] c"Range\00" @.str3045 = private unnamed_addr constant [52 x i8] c"@Range takes the least and the most: @Range(0, 1.5)\00" @.str3046 = private unnamed_addr constant [6 x i8] c"Range\00" @.str3047 = private unnamed_addr constant [41 x i8] c"@Range takes two numbers: @Range(0, 1.5)\00" @.str3048 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str3049 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7318: index out of range: \00" @.str3050 = private unnamed_addr constant [2 x i8] c"@\00" @.str3051 = private unnamed_addr constant [21 x i8] c" takes one string: @\00" @.str3052 = private unnamed_addr constant [8 x i8] c"(\22m/s\22)\00" @.str3053 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str3054 = 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" @.str3055 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str3056 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7320: index out of range: \00" @.str3057 = private unnamed_addr constant [2 x i8] c"@\00" @.str3058 = private unnamed_addr constant [15 x i8] c" takes nothing\00" @.str3059 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7329: index out of range: \00" @.str3060 = private unnamed_addr constant [4 x i8] c"map\00" @.str3061 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7330: index out of range: \00" @.str3062 = private unnamed_addr constant [9 x i8] c"optional\00" @.str3063 = private unnamed_addr constant [3 x i8] c"[]\00" @.str3064 = private unnamed_addr constant [13 x i8] c"at_decl_with\00" @.str3065 = private unnamed_addr constant [14 x i8] c"at_decl_clear\00" @.str3066 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7365: index out of range: \00" @.str3067 = private unnamed_addr constant [3 x i8] c"[]\00" @.str3068 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7366: index out of range: \00" @.str3069 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7366: index out of range: \00" @.str3070 = private unnamed_addr constant [17 x i8] c"at_registry_take\00" @.str3071 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7369: index out of range: \00" @.str3072 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7369: index out of range: \00" @.str3073 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7381: index out of range: \00" @.str3074 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7385: index out of range: \00" @.str3075 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7396: index out of range: \00" @.str3076 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7397: index out of range: \00" @.str3077 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7397: index out of range: \00" @.str3078 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7398: index out of range: \00" @.str3079 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3080 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7398: index out of range: \00" @.str3081 = private unnamed_addr constant [11 x i8] c"a registry\00" @.str3082 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7399: index out of range: \00" @.str3083 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3084 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7399: index out of range: \00" @.str3085 = private unnamed_addr constant [7 x i8] c"string\00" @.str3086 = private unnamed_addr constant [7 x i8] c"field \00" @.str3087 = private unnamed_addr constant [15 x i8] c"at_check_field\00" @.str3088 = private unnamed_addr constant [2 x i8] c".\00" @.str3089 = private unnamed_addr constant [8 x i8] c": @Ref(\00" @.str3090 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7400: index out of range: \00" @.str3091 = 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" @.str3092 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7400: index out of range: \00" @.str3093 = private unnamed_addr constant [3 x i8] c") \00" @.str3094 = private unnamed_addr constant [14 x i8] c": string = \22\22\00" @.str3095 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7402: index out of range: \00" @.str3096 = private unnamed_addr constant [5 x i8] c"Node\00" @.str3097 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7402: index out of range: \00" @.str3098 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str3099 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7402: index out of range: \00" @.str3100 = private unnamed_addr constant [9 x i8] c"Material\00" @.str3101 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7402: index out of range: \00" @.str3102 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7402: index out of range: \00" @.str3103 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7403: index out of range: \00" @.str3104 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3105 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7404: index out of range: \00" @.str3106 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str3107 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7404: index out of range: \00" @.str3108 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7404: index out of range: \00" @.str3109 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7411: index out of range: \00" @.str3110 = private unnamed_addr constant [7 x i8] c"field \00" @.str3111 = private unnamed_addr constant [10 x i8] c"at_target\00" @.str3112 = private unnamed_addr constant [2 x i8] c".\00" @.str3113 = private unnamed_addr constant [4 x i8] c": @\00" @.str3114 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7412: index out of range: \00" @.str3115 = private unnamed_addr constant [2 x i8] c"(\00" @.str3116 = private unnamed_addr constant [2 x i8] c")\00" @.str3117 = private unnamed_addr constant [8 x i8] c" names \00" @.str3118 = private unnamed_addr constant [16 x i8] c", which is not \00" @.str3119 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7417: index out of range: \00" @.str3120 = private unnamed_addr constant [23 x i8] c": this program has no \00" @.str3121 = private unnamed_addr constant [19 x i8] c" - left unresolved\00" @.str3122 = private unnamed_addr constant [7 x i8] c"field \00" @.str3123 = private unnamed_addr constant [16 x i8] c"at_const_target\00" @.str3124 = private unnamed_addr constant [2 x i8] c".\00" @.str3125 = private unnamed_addr constant [4 x i8] c": @\00" @.str3126 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7421: index out of range: \00" @.str3127 = private unnamed_addr constant [8 x i8] c" names \00" @.str3128 = private unnamed_addr constant [26 x i8] c", which is not a constant\00" @.str3129 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7426: index out of range: \00" @.str3130 = private unnamed_addr constant [32 x i8] c": this program has no constant \00" @.str3131 = private unnamed_addr constant [19 x i8] c" - left unresolved\00" @.str3132 = private unnamed_addr constant [9 x i8] c"at_units\00" @.str3133 = private unnamed_addr constant [2 x i8] c"m\00" @.str3134 = private unnamed_addr constant [4 x i8] c"m/s\00" @.str3135 = private unnamed_addr constant [5 x i8] c"m/s2\00" @.str3136 = private unnamed_addr constant [2 x i8] c"s\00" @.str3137 = private unnamed_addr constant [4 x i8] c"min\00" @.str3138 = private unnamed_addr constant [2 x i8] c"h\00" @.str3139 = private unnamed_addr constant [2 x i8] c"d\00" @.str3140 = private unnamed_addr constant [4 x i8] c"deg\00" @.str3141 = private unnamed_addr constant [4 x i8] c"rad\00" @.str3142 = private unnamed_addr constant [6 x i8] c"rad/s\00" @.str3143 = private unnamed_addr constant [3 x i8] c"kg\00" @.str3144 = private unnamed_addr constant [2 x i8] c"N\00" @.str3145 = private unnamed_addr constant [4 x i8] c"N.m\00" @.str3146 = private unnamed_addr constant [2 x i8] c"%\00" @.str3147 = private unnamed_addr constant [3 x i8] c"px\00" @.str3148 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7443: index out of range: \00" @.str3149 = private unnamed_addr constant [3 x i8] c"\C2\B0\00" @.str3150 = private unnamed_addr constant [8 x i8] c"degrees\00" @.str3151 = private unnamed_addr constant [7 x i8] c"degree\00" @.str3152 = private unnamed_addr constant [5 x i8] c"degs\00" @.str3153 = private unnamed_addr constant [4 x i8] c"deg\00" @.str3154 = private unnamed_addr constant [4 x i8] c"sec\00" @.str3155 = private unnamed_addr constant [5 x i8] c"secs\00" @.str3156 = private unnamed_addr constant [7 x i8] c"second\00" @.str3157 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str3158 = private unnamed_addr constant [2 x i8] c"s\00" @.str3159 = private unnamed_addr constant [6 x i8] c"m/s^2\00" @.str3160 = private unnamed_addr constant [6 x i8] c"m/s\C2\B2\00" @.str3161 = private unnamed_addr constant [6 x i8] c"m/s/s\00" @.str3162 = private unnamed_addr constant [5 x i8] c"m/s2\00" @.str3163 = private unnamed_addr constant [3 x i8] c"Nm\00" @.str3164 = private unnamed_addr constant [4 x i8] c"N m\00" @.str3165 = private unnamed_addr constant [4 x i8] c"N*m\00" @.str3166 = private unnamed_addr constant [5 x i8] c"N\C2\B7m\00" @.str3167 = private unnamed_addr constant [4 x i8] c"N.m\00" @.str3168 = private unnamed_addr constant [8 x i8] c"radians\00" @.str3169 = private unnamed_addr constant [7 x i8] c"radian\00" @.str3170 = private unnamed_addr constant [4 x i8] c"rad\00" @.str3171 = private unnamed_addr constant [8 x i8] c"rad/sec\00" @.str3172 = private unnamed_addr constant [6 x i8] c"rad/s\00" @.str3173 = private unnamed_addr constant [7 x i8] c"meters\00" @.str3174 = private unnamed_addr constant [7 x i8] c"metres\00" @.str3175 = private unnamed_addr constant [6 x i8] c"meter\00" @.str3176 = private unnamed_addr constant [6 x i8] c"metre\00" @.str3177 = private unnamed_addr constant [2 x i8] c"m\00" @.str3178 = private unnamed_addr constant [4 x i8] c"mps\00" @.str3179 = private unnamed_addr constant [6 x i8] c"m/sec\00" @.str3180 = private unnamed_addr constant [4 x i8] c"m/s\00" @.str3181 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str3182 = private unnamed_addr constant [7 x i8] c"minute\00" @.str3183 = private unnamed_addr constant [5 x i8] c"mins\00" @.str3184 = private unnamed_addr constant [4 x i8] c"min\00" @.str3185 = private unnamed_addr constant [6 x i8] c"hours\00" @.str3186 = private unnamed_addr constant [5 x i8] c"hour\00" @.str3187 = private unnamed_addr constant [3 x i8] c"hr\00" @.str3188 = private unnamed_addr constant [4 x i8] c"hrs\00" @.str3189 = private unnamed_addr constant [2 x i8] c"h\00" @.str3190 = private unnamed_addr constant [5 x i8] c"days\00" @.str3191 = private unnamed_addr constant [4 x i8] c"day\00" @.str3192 = private unnamed_addr constant [2 x i8] c"d\00" @.str3193 = private unnamed_addr constant [10 x i8] c"kilograms\00" @.str3194 = private unnamed_addr constant [9 x i8] c"kilogram\00" @.str3195 = private unnamed_addr constant [4 x i8] c"kgs\00" @.str3196 = private unnamed_addr constant [3 x i8] c"kg\00" @.str3197 = private unnamed_addr constant [8 x i8] c"percent\00" @.str3198 = private unnamed_addr constant [4 x i8] c"pct\00" @.str3199 = private unnamed_addr constant [2 x i8] c"%\00" @.str3200 = private unnamed_addr constant [7 x i8] c"pixels\00" @.str3201 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str3202 = private unnamed_addr constant [3 x i8] c"px\00" @.str3203 = private unnamed_addr constant [8 x i8] c"newtons\00" @.str3204 = private unnamed_addr constant [7 x i8] c"newton\00" @.str3205 = private unnamed_addr constant [2 x i8] c"N\00" @.str3206 = private unnamed_addr constant [8 x i8] c"@Unit(\22\00" @.str3207 = private unnamed_addr constant [14 x i8] c"at_unit_check\00" @.str3208 = private unnamed_addr constant [26 x i8] c"\22): the unit is spelled \22\00" @.str3209 = private unnamed_addr constant [2 x i8] c"\22\00" @.str3210 = private unnamed_addr constant [8 x i8] c"@Unit(\22\00" @.str3211 = 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" @.str3212 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7486: index out of range: \00" @.str3213 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7486: index out of range: \00" @.str3214 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7486: index out of range: \00" @.str3215 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7494: index out of range: \00" @.str3216 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7495: index out of range: \00" @.str3217 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7495: index out of range: \00" @.str3218 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7496: index out of range: \00" @.str3219 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7496: index out of range: \00" @.str3220 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str3221 = private unnamed_addr constant [5 x i8] c"gltf\00" @.str3222 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7510: index out of range: \00" @.str3223 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7510: index out of range: \00" @.str3224 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7510: index out of range: \00" @.str3225 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7510: index out of range: \00" @.str3226 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7520: index out of range: \00" @.str3227 = private unnamed_addr constant [7 x i8] c"field \00" @.str3228 = private unnamed_addr constant [14 x i8] c"at_check_node\00" @.str3229 = private unnamed_addr constant [2 x i8] c".\00" @.str3230 = private unnamed_addr constant [4 x i8] c": @\00" @.str3231 = private unnamed_addr constant [2 x i8] c"(\00" @.str3232 = private unnamed_addr constant [2 x i8] c")\00" @.str3233 = private unnamed_addr constant [19 x i8] c" names no field - \00" @.str3234 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str3235 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3236 = private unnamed_addr constant [3 x i8] c": \00" @.str3237 = private unnamed_addr constant [63 x i8] c" is neither @Asset(\22gltf\22) nor an @Ref to a registry of models\00" @.str3238 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7540: index out of range: \00" @.str3239 = private unnamed_addr constant [3 x i8] c": \00" @.str3240 = private unnamed_addr constant [13 x i8] c" is an @Ref(\00" @.str3241 = private unnamed_addr constant [19 x i8] c"), and its record \00" @.str3242 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7544: index out of range: \00" @.str3243 = private unnamed_addr constant [6 x i8] c" has \00" @.str3244 = private unnamed_addr constant [32 x i8] c" @Asset(\22gltf\22) fields, not one\00" @.str3245 = private unnamed_addr constant [7 x i8] c"field \00" @.str3246 = private unnamed_addr constant [15 x i8] c"at_check_oneof\00" @.str3247 = private unnamed_addr constant [2 x i8] c".\00" @.str3248 = private unnamed_addr constant [9 x i8] c": @OneOf\00" @.str3249 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7552: index out of range: \00" @.str3250 = private unnamed_addr constant [7 x i8] c"string\00" @.str3251 = private unnamed_addr constant [19 x i8] c" lists words, and \00" @.str3252 = private unnamed_addr constant [42 x i8] c" is not a string - name constants instead\00" @.str3253 = private unnamed_addr constant [23 x i8] c" names constants, and \00" @.str3254 = private unnamed_addr constant [60 x i8] c" is a string - list the words it may hold: @OneOf(\22a\22, \22b\22)\00" @.str3255 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7562: index out of range: \00" @.str3256 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7567: index out of range: \00" @.str3257 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7568: index out of range: \00" @.str3258 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7571: index out of range: \00" @.str3259 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7571: index out of range: \00" @.str3260 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7580: index out of range: \00" @.str3261 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7581: index out of range: \00" @.str3262 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7581: index out of range: \00" @.str3263 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7581: index out of range: \00" @.str3264 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7588: index out of range: \00" @.str3265 = private unnamed_addr constant [2 x i8] c".\00" @.str3266 = private unnamed_addr constant [13 x i8] c"at_check_row\00" @.str3267 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str3268 = private unnamed_addr constant [14 x i8] c"\22, and field \00" @.str3269 = private unnamed_addr constant [2 x i8] c".\00" @.str3270 = private unnamed_addr constant [12 x i8] c" is @OneOf(\00" @.str3271 = private unnamed_addr constant [2 x i8] c")\00" @.str3272 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7598: index out of range: \00" @.str3273 = private unnamed_addr constant [1 x i8] c"\00" @.str3274 = private unnamed_addr constant [3 x i8] c", \00" @.str3275 = private unnamed_addr constant [14 x i8] c"at_words_text\00" @.str3276 = private unnamed_addr constant [2 x i8] c"\22\00" @.str3277 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7608: index out of range: \00" @.str3278 = private unnamed_addr constant [2 x i8] c"\22\00" @.str3279 = private unnamed_addr constant [13 x i8] c"at_arg_names\00" @.str3280 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7632: index out of range: \00" @.str3281 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7632: index out of range: \00" @.str3282 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7632: index out of range: \00" @.str3283 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7641: index out of range: \00" @.str3284 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7641: index out of range: \00" @.str3285 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7649: index out of range: \00" @.str3286 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7650: index out of range: \00" @.str3287 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7650: index out of range: \00" @.str3288 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7651: index out of range: \00" @.str3289 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str3290 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7652: index out of range: \00" @.str3291 = private unnamed_addr constant [3 x i8] c"vc\00" @.str3292 = private unnamed_addr constant [8 x i8] c"keyword\00" @.str3293 = private unnamed_addr constant [1 x i8] c"\00" @.str3294 = private unnamed_addr constant [1 x i8] c"\00" @.str3295 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3296 = private unnamed_addr constant [1 x i8] c"\00" @.str3297 = private unnamed_addr constant [1 x i8] c"\00" @.str3298 = private unnamed_addr constant [5 x i8] c"type\00" @.str3299 = private unnamed_addr constant [1 x i8] c"\00" @.str3300 = private unnamed_addr constant [1 x i8] c"\00" @.str3301 = private unnamed_addr constant [10 x i8] c"attribute\00" @.str3302 = private unnamed_addr constant [9 x i8] c"operator\00" @.str3303 = private unnamed_addr constant [1 x i8] c"\00" @.str3304 = private unnamed_addr constant [1 x i8] c"\00" @.str3305 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3306 = private unnamed_addr constant [8 x i8] c"program\00" @.str3307 = private unnamed_addr constant [66 x i8] c"A program block: the unit that holds every declaration of a game.\00" @.str3308 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3309 = private unnamed_addr constant [7 x i8] c"module\00" @.str3310 = private unnamed_addr constant [105 x i8] c"Names the module a directory is (module bank uses base): only what it exports is reachable from outside.\00" @.str3311 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3312 = private unnamed_addr constant [7 x i8] c"import\00" @.str3313 = private unnamed_addr constant [62 x i8] c"Brings another file or a directory's barrel into the program.\00" @.str3314 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3315 = private unnamed_addr constant [9 x i8] c"property\00" @.str3316 = private unnamed_addr constant [42 x i8] c"A record type; on an entity, a component.\00" @.str3317 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3318 = private unnamed_addr constant [6 x i8] c"state\00" @.str3319 = private unnamed_addr constant [106 x i8] c"A module's changing data: one instance, reached only as a parameter. Inside a machine, one of its states.\00" @.str3320 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3321 = private unnamed_addr constant [6 x i8] c"event\00" @.str3322 = private unnamed_addr constant [69 x i8] c"Something that happened, fired with emit and heard by @On listeners.\00" @.str3323 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3324 = private unnamed_addr constant [7 x i8] c"action\00" @.str3325 = private unnamed_addr constant [73 x i8] c"What a player asked for, dispatched and applied by each state's reducer.\00" @.str3326 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3327 = private unnamed_addr constant [8 x i8] c"reducer\00" @.str3328 = private unnamed_addr constant [180 x i8] c"Applies an action to one state, or to the one row it names: reducer HikerState on Move(h: mut HikerState, a: Move); reducer Deer in Herd.deer on Spook(r: mut Row, a: Spook).\00" @.str3329 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3330 = private unnamed_addr constant [5 x i8] c"enum\00" @.str3331 = private unnamed_addr constant [33 x i8] c"A set of named integer variants.\00" @.str3332 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3333 = private unnamed_addr constant [6 x i8] c"model\00" @.str3334 = private unnamed_addr constant [56 x i8] c"An entity kind: the components an entity of it carries.\00" @.str3335 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3336 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str3337 = private unnamed_addr constant [38 x i8] c"A model with preset component values.\00" @.str3338 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3339 = private unnamed_addr constant [6 x i8] c"scene\00" @.str3340 = private unnamed_addr constant [55 x i8] c"A scene: its layers, its handlers and how it moves on.\00" @.str3341 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3342 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3343 = private unnamed_addr constant [75 x i8] c"A system that runs in a phase, optionally once per entity a query matches.\00" @.str3344 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3345 = private unnamed_addr constant [3 x i8] c"ui\00" @.str3346 = private unnamed_addr constant [29 x i8] c"A retained-mode widget tree.\00" @.str3347 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3348 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str3349 = private unnamed_addr constant [71 x i8] c"A Foo.* namespace declared in Ludic, its methods aliases of functions.\00" @.str3350 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3351 = private unnamed_addr constant [6 x i8] c"alias\00" @.str3352 = private unnamed_addr constant [85 x i8] c"Inside a namespace: a method that is another function (alias length = trail_length).\00" @.str3353 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3354 = private unnamed_addr constant [5 x i8] c"port\00" @.str3355 = private unnamed_addr constant [80 x i8] c"A question a module asks the world, as named fn members the program binds once.\00" @.str3356 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3357 = private unnamed_addr constant [5 x i8] c"bind\00" @.str3358 = private unnamed_addr constant [63 x i8] c"Answers a port: bind ClockWorld { rest_scale: my_rest_scale }.\00" @.str3359 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3360 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3361 = private unnamed_addr constant [93 x i8] c"A table of named entries of one record type: registry Items of Item as IT from \22items.lres\22.\00" @.str3362 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3363 = private unnamed_addr constant [4 x i8] c"def\00" @.str3364 = private unnamed_addr constant [76 x i8] c"One entry of a registry: def Items rope { ... }, or def R from \22file.lres\22.\00" @.str3365 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3366 = private unnamed_addr constant [10 x i8] c"component\00" @.str3367 = private unnamed_addr constant [98 x i8] c"A UI component: its props, state, functions and events, beside its .xml template and .lss styles.\00" @.str3368 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3369 = private unnamed_addr constant [5 x i8] c"view\00" @.str3370 = private unnamed_addr constant [92 x i8] c"The bridge to a UI template: the fields it may read and the queries and events it may call.\00" @.str3371 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3372 = private unnamed_addr constant [5 x i8] c"prop\00" @.str3373 = private unnamed_addr constant [49 x i8] c"Inside a component: a value its parent hands it.\00" @.str3374 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3375 = private unnamed_addr constant [6 x i8] c"const\00" @.str3376 = private unnamed_addr constant [18 x i8] c"A named constant.\00" @.str3377 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3378 = private unnamed_addr constant [4 x i8] c"var\00" @.str3379 = private unnamed_addr constant [66 x i8] c"A mutable binding (a local; at module level only with --globals).\00" @.str3380 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3381 = private unnamed_addr constant [9 x i8] c"function\00" @.str3382 = private unnamed_addr constant [12 x i8] c"A function.\00" @.str3383 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3384 = private unnamed_addr constant [3 x i8] c"fn\00" @.str3385 = private unnamed_addr constant [79 x i8] c"A function type (fn(int, float) -> bool), or a function value written fn name.\00" @.str3386 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3387 = private unnamed_addr constant [7 x i8] c"extern\00" @.str3388 = private unnamed_addr constant [54 x i8] c"A function implemented outside Ludic, linked by name.\00" @.str3389 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3390 = private unnamed_addr constant [6 x i8] c"entry\00" @.str3391 = private unnamed_addr constant [27 x i8] c"The program's entry point.\00" @.str3392 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3393 = private unnamed_addr constant [5 x i8] c"test\00" @.str3394 = private unnamed_addr constant [48 x i8] c"A named test block: test \22name\22 { expect ... }.\00" @.str3395 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3396 = private unnamed_addr constant [7 x i8] c"export\00" @.str3397 = private unnamed_addr constant [48 x i8] c"Makes a declaration visible outside its module.\00" @.str3398 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3399 = private unnamed_addr constant [9 x i8] c"internal\00" @.str3400 = private unnamed_addr constant [63 x i8] c"Inside a namespace: a function kept out of the Name.* surface.\00" @.str3401 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3402 = private unnamed_addr constant [7 x i8] c"friend\00" @.str3403 = private unnamed_addr constant [115 x i8] c"friend module lab [of A, B]: this file's module sees the private names of those modules (of every one without of).\00" @.str3404 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3405 = private unnamed_addr constant [5 x i8] c"uses\00" @.str3406 = private unnamed_addr constant [62 x i8] c"The modules a module may reach: module sky uses base, events.\00" @.str3407 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3408 = private unnamed_addr constant [5 x i8] c"open\00" @.str3409 = private unnamed_addr constant [57 x i8] c"open registry R: other modules may add entries with def.\00" @.str3410 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3411 = private unnamed_addr constant [3 x i8] c"of\00" @.str3412 = private unnamed_addr constant [104 x i8] c"registry R of Record: the record its entries are; friend module m of A, B: whose private names it sees.\00" @.str3413 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3414 = private unnamed_addr constant [3 x i8] c"as\00" @.str3415 = private unnamed_addr constant [69 x i8] c"registry R of T as P: the prefix of its generated constants (P_KEY).\00" @.str3416 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3417 = private unnamed_addr constant [5 x i8] c"from\00" @.str3418 = private unnamed_addr constant [78 x i8] c"registry R ... from \22file.lres\22: the resource file its entries are read from.\00" @.str3419 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3420 = private unnamed_addr constant [8 x i8] c"numbers\00" @.str3421 = private unnamed_addr constant [51 x i8] c"numbers float: a bare 1.5 in this file is a float.\00" @.str3422 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3423 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str3424 = private unnamed_addr constant [64 x i8] c"unsafe function / unsafe { ... }: raw memory is allowed inside.\00" @.str3425 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3426 = private unnamed_addr constant [4 x i8] c"mut\00" @.str3427 = private unnamed_addr constant [56 x i8] c"A parameter the function may change: h: mut HikerState.\00" @.str3428 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3429 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3430 = private unnamed_addr constant [56 x i8] c"The phase a handler runs in: handler Move phase Update.\00" @.str3431 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3432 = private unnamed_addr constant [6 x i8] c"query\00" @.str3433 = private unnamed_addr constant [67 x i8] c"The components a handler iterates: for (p, v) in query [Pos, Vel].\00" @.str3434 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3435 = private unnamed_addr constant [3 x i8] c"on\00" @.str3436 = private unnamed_addr constant [81 x i8] c"reducer S on Action; attach P on e; an event's listener in a component or scene.\00" @.str3437 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3438 = private unnamed_addr constant [12 x i8] c"cancellable\00" @.str3439 = private unnamed_addr constant [57 x i8] c"event cancellable E: a listener may veto it with cancel.\00" @.str3440 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3441 = private unnamed_addr constant [7 x i8] c"public\00" @.str3442 = private unnamed_addr constant [80 x i8] c"A public scene or layer: its show and hide are events other code may listen to.\00" @.str3443 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3444 = private unnamed_addr constant [6 x i8] c"layer\00" @.str3445 = private unnamed_addr constant [53 x i8] c"A scene's layer of handlers; enable/disable layer L.\00" @.str3446 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3447 = private unnamed_addr constant [6 x i8] c"start\00" @.str3448 = private unnamed_addr constant [31 x i8] c"The scene a program starts in.\00" @.str3449 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3450 = private unnamed_addr constant [6 x i8] c"shows\00" @.str3451 = private unnamed_addr constant [66 x i8] c"scene S shows Menu: the engine opens, renders and closes that ui.\00" @.str3452 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3453 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str3454 = private unnamed_addr constant [42 x i8] c"scene S lasts N then Next: a timed scene.\00" @.str3455 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3456 = private unnamed_addr constant [5 x i8] c"then\00" @.str3457 = private unnamed_addr constant [37 x i8] c"The scene a timed scene moves on to.\00" @.str3458 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3459 = private unnamed_addr constant [6 x i8] c"loads\00" @.str3460 = private unnamed_addr constant [74 x i8] c"scene S loads then Next: pumps the asset queue with a bar, then moves on.\00" @.str3461 = private unnamed_addr constant [9 x i8] c"modifier\00" @.str3462 = private unnamed_addr constant [7 x i8] c"system\00" @.str3463 = private unnamed_addr constant [61 x i8] c"disable system S: an engine system left out at compile time.\00" @.str3464 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3465 = private unnamed_addr constant [4 x i8] c"let\00" @.str3466 = private unnamed_addr constant [67 x i8] c"An immutable binding; at module level, immutable all the way down.\00" @.str3467 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3468 = private unnamed_addr constant [3 x i8] c"if\00" @.str3469 = private unnamed_addr constant [37 x i8] c"Runs a block when a condition holds.\00" @.str3470 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3471 = private unnamed_addr constant [5 x i8] c"else\00" @.str3472 = private unnamed_addr constant [56 x i8] c"The branch taken when the if's condition does not hold.\00" @.str3473 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3474 = private unnamed_addr constant [6 x i8] c"while\00" @.str3475 = private unnamed_addr constant [31 x i8] c"Loops while a condition holds.\00" @.str3476 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3477 = private unnamed_addr constant [4 x i8] c"for\00" @.str3478 = private unnamed_addr constant [45 x i8] c"for i in a..b, or for (vars) in query [...].\00" @.str3479 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3480 = private unnamed_addr constant [3 x i8] c"in\00" @.str3481 = private unnamed_addr constant [103 x i8] c"Separates a for's variables from what they range over; module m in layer L; reducer T in S.table on A.\00" @.str3482 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3483 = private unnamed_addr constant [6 x i8] c"where\00" @.str3484 = private unnamed_addr constant [56 x i8] c"A query's filter: for (p) in query [Pos] where p.x > 0.\00" @.str3485 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3486 = private unnamed_addr constant [6 x i8] c"match\00" @.str3487 = private unnamed_addr constant [34 x i8] c"Picks the arm whose values match.\00" @.str3488 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3489 = private unnamed_addr constant [8 x i8] c"machine\00" @.str3490 = private unnamed_addr constant [99 x i8] c"A state machine over a value, one block per state (a machine that is data is a @Machine registry).\00" @.str3491 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3492 = private unnamed_addr constant [7 x i8] c"become\00" @.str3493 = private unnamed_addr constant [60 x i8] c"Moves a machine (or the program) to another state or scene.\00" @.str3494 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3495 = private unnamed_addr constant [7 x i8] c"return\00" @.str3496 = private unnamed_addr constant [25 x i8] c"Returns from a function.\00" @.str3497 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3498 = private unnamed_addr constant [6 x i8] c"break\00" @.str3499 = private unnamed_addr constant [27 x i8] c"Leaves the innermost loop.\00" @.str3500 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3501 = private unnamed_addr constant [9 x i8] c"continue\00" @.str3502 = private unnamed_addr constant [41 x i8] c"Skips to the innermost loop's next turn.\00" @.str3503 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3504 = private unnamed_addr constant [4 x i8] c"new\00" @.str3505 = private unnamed_addr constant [48 x i8] c"Makes a record or a slice: new Item, new []int.\00" @.str3506 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3507 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str3508 = private unnamed_addr constant [30 x i8] c"Creates an entity of a model.\00" @.str3509 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3510 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str3511 = private unnamed_addr constant [19 x i8] c"Removes an entity.\00" @.str3512 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3513 = private unnamed_addr constant [7 x i8] c"enable\00" @.str3514 = private unnamed_addr constant [48 x i8] c"Turns a property, a layer or a handler back on.\00" @.str3515 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3516 = private unnamed_addr constant [8 x i8] c"disable\00" @.str3517 = private unnamed_addr constant [62 x i8] c"Turns a property, a layer, a handler or an engine system off.\00" @.str3518 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3519 = private unnamed_addr constant [7 x i8] c"attach\00" @.str3520 = private unnamed_addr constant [58 x i8] c"Adds a property to an entity: attach P on e { field: v }.\00" @.str3521 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3522 = private unnamed_addr constant [7 x i8] c"detach\00" @.str3523 = private unnamed_addr constant [50 x i8] c"Removes a property from an entity: detach P on e.\00" @.str3524 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3525 = private unnamed_addr constant [5 x i8] c"emit\00" @.str3526 = private unnamed_addr constant [40 x i8] c"Fires an event: emit WoodChopped(n: 3).\00" @.str3527 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3528 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str3529 = private unnamed_addr constant [46 x i8] c"Vetoes a cancellable event from its listener.\00" @.str3530 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3531 = private unnamed_addr constant [9 x i8] c"dispatch\00" @.str3532 = private unnamed_addr constant [59 x i8] c"Queues an action for the reducers: dispatch Move(dx: 1.0).\00" @.str3533 = private unnamed_addr constant [10 x i8] c"statement\00" @.str3534 = private unnamed_addr constant [4 x i8] c"try\00" @.str3535 = private unnamed_addr constant [81 x i8] c"try EXPR else { ... }: a fallible value's payload, or the else block's fallback.\00" @.str3536 = private unnamed_addr constant [9 x i8] c"operator\00" @.str3537 = private unnamed_addr constant [4 x i8] c"and\00" @.str3538 = private unnamed_addr constant [29 x i8] c"Logical and (short-circuit).\00" @.str3539 = private unnamed_addr constant [9 x i8] c"operator\00" @.str3540 = private unnamed_addr constant [3 x i8] c"or\00" @.str3541 = private unnamed_addr constant [28 x i8] c"Logical or (short-circuit).\00" @.str3542 = private unnamed_addr constant [9 x i8] c"operator\00" @.str3543 = private unnamed_addr constant [4 x i8] c"not\00" @.str3544 = private unnamed_addr constant [13 x i8] c"Logical not.\00" @.str3545 = private unnamed_addr constant [9 x i8] c"constant\00" @.str3546 = private unnamed_addr constant [5 x i8] c"true\00" @.str3547 = private unnamed_addr constant [18 x i8] c"The boolean true.\00" @.str3548 = private unnamed_addr constant [9 x i8] c"constant\00" @.str3549 = private unnamed_addr constant [6 x i8] c"false\00" @.str3550 = private unnamed_addr constant [19 x i8] c"The boolean false.\00" @.str3551 = private unnamed_addr constant [9 x i8] c"constant\00" @.str3552 = private unnamed_addr constant [5 x i8] c"null\00" @.str3553 = private unnamed_addr constant [32 x i8] c"No record, no slice, no string.\00" @.str3554 = private unnamed_addr constant [8 x i8] c"program\00" @.str3555 = private unnamed_addr constant [30 x i8] c"program Name { declarations }\00" @.str3556 = private unnamed_addr constant [33 x i8] c"The whole game, or a unit of it.\00" @.str3557 = private unnamed_addr constant [7 x i8] c"module\00" @.str3558 = private unnamed_addr constant [37 x i8] c"module name [in layer L] [uses a, b]\00" @.str3559 = private unnamed_addr constant [65 x i8] c"The module a directory's files belong to, and what it may reach.\00" @.str3560 = private unnamed_addr constant [7 x i8] c"friend\00" @.str3561 = private unnamed_addr constant [29 x i8] c"friend module name [of a, b]\00" @.str3562 = private unnamed_addr constant [52 x i8] c"A module that sees others' private names (the lab).\00" @.str3563 = private unnamed_addr constant [7 x i8] c"import\00" @.str3564 = private unnamed_addr constant [14 x i8] c"import \22path\22\00" @.str3565 = private unnamed_addr constant [43 x i8] c"A file, a directory's barrel or a package.\00" @.str3566 = private unnamed_addr constant [8 x i8] c"numbers\00" @.str3567 = private unnamed_addr constant [14 x i8] c"numbers float\00" @.str3568 = private unnamed_addr constant [38 x i8] c"This file's bare decimals are floats.\00" @.str3569 = private unnamed_addr constant [7 x i8] c"export\00" @.str3570 = private unnamed_addr constant [21 x i8] c"export \00" @.str3571 = private unnamed_addr constant [47 x i8] c"The declaration is visible outside its module.\00" @.str3572 = private unnamed_addr constant [9 x i8] c"property\00" @.str3573 = private unnamed_addr constant [50 x i8] c"property Name[] { field: Type = default, ... }\00" @.str3574 = private unnamed_addr constant [37 x i8] c"A record; on an entity, a component.\00" @.str3575 = private unnamed_addr constant [6 x i8] c"state\00" @.str3576 = private unnamed_addr constant [42 x i8] c"state Name { field: Type = default, ... }\00" @.str3577 = private unnamed_addr constant [63 x i8] c"A module's changing data, one instance, passed as a parameter.\00" @.str3578 = private unnamed_addr constant [6 x i8] c"event\00" @.str3579 = private unnamed_addr constant [46 x i8] c"event [cancellable] Name { field: Type, ... }\00" @.str3580 = private unnamed_addr constant [25 x i8] c"Something that happened.\00" @.str3581 = private unnamed_addr constant [7 x i8] c"action\00" @.str3582 = private unnamed_addr constant [33 x i8] c"action Name { field: Type, ... }\00" @.str3583 = private unnamed_addr constant [25 x i8] c"What a player asked for.\00" @.str3584 = private unnamed_addr constant [8 x i8] c"reducer\00" @.str3585 = private unnamed_addr constant [161 x i8] c"reducer State on Action(st: mut State, reads..., a: Action) { ... } | reducer Record in State.table on Action(r: mut Row, reads..., a: Action) { ... }\00" @.str3586 = private unnamed_addr constant [80 x i8] c"Applies an action to one state, or to the one row of a table its @Target names.\00" @.str3587 = private unnamed_addr constant [5 x i8] c"enum\00" @.str3588 = private unnamed_addr constant [22 x i8] c"enum Name { A, B, C }\00" @.str3589 = private unnamed_addr constant [24 x i8] c"Named integer variants.\00" @.str3590 = private unnamed_addr constant [6 x i8] c"model\00" @.str3591 = private unnamed_addr constant [30 x i8] c"model Name { Component, ... }\00" @.str3592 = private unnamed_addr constant [16 x i8] c"An entity kind.\00" @.str3593 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str3594 = private unnamed_addr constant [48 x i8] c"prefab Name of Model { Component { field: v } }\00" @.str3595 = private unnamed_addr constant [28 x i8] c"A model with preset values.\00" @.str3596 = private unnamed_addr constant [6 x i8] c"scene\00" @.str3597 = private unnamed_addr constant [102 x i8] c"scene Name [start] [public] [shows Ui] [lasts N then Next] [loads then Next] { layer L { handlers } }\00" @.str3598 = private unnamed_addr constant [9 x i8] c"A scene.\00" @.str3599 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3600 = private unnamed_addr constant [43 x i8] c"handler Name[(states)] phase Phase { ... }\00" @.str3601 = private unnamed_addr constant [39 x i8] c"A system run every frame in its phase.\00" @.str3602 = private unnamed_addr constant [3 x i8] c"ui\00" @.str3603 = private unnamed_addr constant [20 x i8] c"ui Name { widgets }\00" @.str3604 = private unnamed_addr constant [24 x i8] c"A retained widget tree.\00" @.str3605 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str3606 = private unnamed_addr constant [64 x i8] c"namespace Name { [export|internal] function ... | alias m = f }\00" @.str3607 = private unnamed_addr constant [20 x i8] c"A Name.* namespace.\00" @.str3608 = private unnamed_addr constant [5 x i8] c"port\00" @.str3609 = private unnamed_addr constant [50 x i8] c"port Name { member: fn(T) -> R [= default], ... }\00" @.str3610 = private unnamed_addr constant [35 x i8] c"Questions a module asks the world.\00" @.str3611 = private unnamed_addr constant [5 x i8] c"bind\00" @.str3612 = private unnamed_addr constant [41 x i8] c"bind Port { member: function_name, ... }\00" @.str3613 = private unnamed_addr constant [33 x i8] c"The program's answers to a port.\00" @.str3614 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3615 = private unnamed_addr constant [62 x i8] c"[open] registry Name of Record [as PREFIX] [from \22file.lres\22]\00" @.str3616 = private unnamed_addr constant [26 x i8] c"A table of named entries.\00" @.str3617 = private unnamed_addr constant [4 x i8] c"def\00" @.str3618 = private unnamed_addr constant [71 x i8] c"def Registry key { field: value, ... } | def Registry from \22file.lres\22\00" @.str3619 = private unnamed_addr constant [23 x i8] c"Entries of a registry.\00" @.str3620 = private unnamed_addr constant [5 x i8] c"view\00" @.str3621 = private unnamed_addr constant [65 x i8] c"view Name[(states)] { field = expr, function q(...), on e(...) }\00" @.str3622 = private unnamed_addr constant [33 x i8] c"What a template may read and do.\00" @.str3623 = private unnamed_addr constant [10 x i8] c"component\00" @.str3624 = private unnamed_addr constant [88 x i8] c"component Name[(states)] { prop p: T = v, state s: T = v, function ..., on e(...) { } }\00" @.str3625 = private unnamed_addr constant [46 x i8] c"A UI component, beside Name.xml and Name.lss.\00" @.str3626 = private unnamed_addr constant [6 x i8] c"const\00" @.str3627 = private unnamed_addr constant [25 x i8] c"const NAME: Type = value\00" @.str3628 = private unnamed_addr constant [12 x i8] c"A constant.\00" @.str3629 = private unnamed_addr constant [4 x i8] c"let\00" @.str3630 = private unnamed_addr constant [23 x i8] c"let name: Type = value\00" @.str3631 = private unnamed_addr constant [33 x i8] c"An immutable module-level value.\00" @.str3632 = private unnamed_addr constant [4 x i8] c"var\00" @.str3633 = private unnamed_addr constant [23 x i8] c"var name: Type = value\00" @.str3634 = private unnamed_addr constant [47 x i8] c"A module-level variable (only with --globals).\00" @.str3635 = private unnamed_addr constant [9 x i8] c"function\00" @.str3636 = private unnamed_addr constant [58 x i8] c"[unsafe] function name[](p: T, st: mut S) -> R { ... }\00" @.str3637 = private unnamed_addr constant [12 x i8] c"A function.\00" @.str3638 = private unnamed_addr constant [7 x i8] c"extern\00" @.str3639 = private unnamed_addr constant [43 x i8] c"extern function name(p: T) -> R = \22symbol\22\00" @.str3640 = private unnamed_addr constant [20 x i8] c"A foreign function.\00" @.str3641 = private unnamed_addr constant [6 x i8] c"entry\00" @.str3642 = private unnamed_addr constant [24 x i8] c"entry[(states)] { ... }\00" @.str3643 = private unnamed_addr constant [27 x i8] c"The program's entry point.\00" @.str3644 = private unnamed_addr constant [5 x i8] c"test\00" @.str3645 = private unnamed_addr constant [20 x i8] c"test \22name\22 { ... }\00" @.str3646 = private unnamed_addr constant [14 x i8] c"A test block.\00" @.str3647 = private unnamed_addr constant [4 x i8] c"int\00" @.str3648 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3649 = private unnamed_addr constant [25 x i8] c"A 32-bit signed integer.\00" @.str3650 = private unnamed_addr constant [5 x i8] c"long\00" @.str3651 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3652 = private unnamed_addr constant [25 x i8] c"A 64-bit signed integer.\00" @.str3653 = private unnamed_addr constant [6 x i8] c"float\00" @.str3654 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3655 = private unnamed_addr constant [21 x i8] c"A 32-bit IEEE float.\00" @.str3656 = private unnamed_addr constant [7 x i8] c"double\00" @.str3657 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3658 = private unnamed_addr constant [21 x i8] c"A 64-bit IEEE float.\00" @.str3659 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3660 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3661 = private unnamed_addr constant [29 x i8] c"A Q16.16 fixed-point number.\00" @.str3662 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3663 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3664 = private unnamed_addr constant [15 x i8] c"true or false.\00" @.str3665 = private unnamed_addr constant [5 x i8] c"byte\00" @.str3666 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3667 = private unnamed_addr constant [25 x i8] c"An unsigned 8-bit value.\00" @.str3668 = private unnamed_addr constant [7 x i8] c"string\00" @.str3669 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3670 = private unnamed_addr constant [13 x i8] c"Text, UTF-8.\00" @.str3671 = private unnamed_addr constant [4 x i8] c"Key\00" @.str3672 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3673 = private unnamed_addr constant [100 x i8] c"A text key, k\22module.purpose\22 (kn\22...\22 a plural): names a text, is not one; tr(key) makes the text.\00" @.str3674 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str3675 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3676 = private unnamed_addr constant [46 x i8] c"An untyped address (raw memory needs unsafe).\00" @.str3677 = private unnamed_addr constant [5 x i8] c"void\00" @.str3678 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3679 = private unnamed_addr constant [43 x i8] c"No value: a function that returns nothing.\00" @.str3680 = private unnamed_addr constant [7 x i8] c"entity\00" @.str3681 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3682 = private unnamed_addr constant [23 x i8] c"A handle to an entity.\00" @.str3683 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str3684 = private unnamed_addr constant [10 x i8] c"primitive\00" @.str3685 = private unnamed_addr constant [34 x i8] c"A timer that runs down by itself.\00" @.str3686 = private unnamed_addr constant [6 x i8] c"words\00" @.str3687 = private unnamed_addr constant [6 x i8] c"slice\00" @.str3688 = private unnamed_addr constant [41 x i8] c"A bounds-checked []int buffer: words(n).\00" @.str3689 = private unnamed_addr constant [7 x i8] c"floats\00" @.str3690 = private unnamed_addr constant [6 x i8] c"slice\00" @.str3691 = private unnamed_addr constant [44 x i8] c"A bounds-checked []float buffer: floats(n).\00" @.str3692 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str3693 = private unnamed_addr constant [6 x i8] c"slice\00" @.str3694 = private unnamed_addr constant [46 x i8] c"A bounds-checked []double buffer: doubles(n).\00" @.str3695 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str3696 = private unnamed_addr constant [6 x i8] c"slice\00" @.str3697 = private unnamed_addr constant [44 x i8] c"A bounds-checked []fixed buffer: fixeds(n).\00" @.str3698 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str3699 = private unnamed_addr constant [6 x i8] c"slice\00" @.str3700 = private unnamed_addr constant [33 x i8] c"A []pointer buffer: pointers(n).\00" @.str3701 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str3702 = private unnamed_addr constant [6 x i8] c"value\00" @.str3703 = private unnamed_addr constant [26 x i8] c"A packed 2D vector value.\00" @.str3704 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str3705 = private unnamed_addr constant [6 x i8] c"value\00" @.str3706 = private unnamed_addr constant [34 x i8] c"A packed integer 2D vector value.\00" @.str3707 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str3708 = private unnamed_addr constant [6 x i8] c"value\00" @.str3709 = private unnamed_addr constant [26 x i8] c"A packed rectangle value.\00" @.str3710 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3711 = private unnamed_addr constant [6 x i8] c"Start\00" @.str3712 = private unnamed_addr constant [1 x i8] c"\00" @.str3713 = private unnamed_addr constant [1 x i8] c"\00" @.str3714 = private unnamed_addr constant [1 x i8] c"\00" @.str3715 = private unnamed_addr constant [30 x i8] c"Once, before the first frame.\00" @.str3716 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3717 = private unnamed_addr constant [6 x i8] c"Input\00" @.str3718 = private unnamed_addr constant [1 x i8] c"\00" @.str3719 = private unnamed_addr constant [1 x i8] c"\00" @.str3720 = private unnamed_addr constant [1 x i8] c"\00" @.str3721 = private unnamed_addr constant [31 x i8] c"Every frame: read the devices.\00" @.str3722 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3723 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str3724 = private unnamed_addr constant [1 x i8] c"\00" @.str3725 = private unnamed_addr constant [1 x i8] c"\00" @.str3726 = private unnamed_addr constant [1 x i8] c"\00" @.str3727 = private unnamed_addr constant [30 x i8] c"At the fixed simulation rate.\00" @.str3728 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3729 = private unnamed_addr constant [7 x i8] c"Update\00" @.str3730 = private unnamed_addr constant [1 x i8] c"\00" @.str3731 = private unnamed_addr constant [1 x i8] c"\00" @.str3732 = private unnamed_addr constant [1 x i8] c"\00" @.str3733 = private unnamed_addr constant [31 x i8] c"Every frame: the game's rules.\00" @.str3734 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3735 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str3736 = private unnamed_addr constant [1 x i8] c"\00" @.str3737 = private unnamed_addr constant [1 x i8] c"\00" @.str3738 = private unnamed_addr constant [1 x i8] c"\00" @.str3739 = private unnamed_addr constant [27 x i8] c"Every frame, after Update.\00" @.str3740 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3741 = private unnamed_addr constant [7 x i8] c"Render\00" @.str3742 = private unnamed_addr constant [1 x i8] c"\00" @.str3743 = private unnamed_addr constant [1 x i8] c"\00" @.str3744 = private unnamed_addr constant [1 x i8] c"\00" @.str3745 = private unnamed_addr constant [19 x i8] c"Every frame: draw.\00" @.str3746 = private unnamed_addr constant [6 x i8] c"phase\00" @.str3747 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str3748 = private unnamed_addr constant [1 x i8] c"\00" @.str3749 = private unnamed_addr constant [1 x i8] c"\00" @.str3750 = private unnamed_addr constant [1 x i8] c"\00" @.str3751 = private unnamed_addr constant [49 x i8] c"Every frame, after Render: what is drawn on top.\00" @.str3752 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str3753 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3754 = private unnamed_addr constant [6 x i8] c"field\00" @.str3755 = private unnamed_addr constant [11 x i8] c"(Registry)\00" @.str3756 = private unnamed_addr constant [82 x i8] c"An index into (or, for a @PerMap registry, the key of) an entry of that registry.\00" @.str3757 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str3758 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3759 = private unnamed_addr constant [6 x i8] c"field\00" @.str3760 = private unnamed_addr constant [41 x i8] c"(PREFIX_) | (CONST, ...) | (\22word\22, ...)\00" @.str3761 = private unnamed_addr constant [104 x i8] c"One of the constants with that prefix, one of those constants, or on a string field one of those words.\00" @.str3762 = private unnamed_addr constant [6 x i8] c"Range\00" @.str3763 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3764 = private unnamed_addr constant [6 x i8] c"field\00" @.str3765 = private unnamed_addr constant [9 x i8] c"(lo, hi)\00" @.str3766 = private unnamed_addr constant [41 x i8] c"The least and the most the value may be.\00" @.str3767 = private unnamed_addr constant [5 x i8] c"Unit\00" @.str3768 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3769 = private unnamed_addr constant [6 x i8] c"field\00" @.str3770 = private unnamed_addr constant [8 x i8] c"(\22m/s\22)\00" @.str3771 = private unnamed_addr constant [74 x i8] c"The value's unit, one canonical ASCII spelling (m, m/s, s, deg, kg, ...).\00" @.str3772 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str3773 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3774 = private unnamed_addr constant [6 x i8] c"field\00" @.str3775 = private unnamed_addr constant [28 x i8] c"(\22kind\22[, map[, optional]])\00" @.str3776 = private unnamed_addr constant [69 x i8] c"A path to a file of that kind; with map, under each map's directory.\00" @.str3777 = private unnamed_addr constant [6 x i8] c"Color\00" @.str3778 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3779 = private unnamed_addr constant [6 x i8] c"field\00" @.str3780 = private unnamed_addr constant [1 x i8] c"\00" @.str3781 = private unnamed_addr constant [10 x i8] c"A colour.\00" @.str3782 = private unnamed_addr constant [5 x i8] c"Node\00" @.str3783 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3784 = private unnamed_addr constant [6 x i8] c"field\00" @.str3785 = private unnamed_addr constant [14 x i8] c"(model_field)\00" @.str3786 = private unnamed_addr constant [41 x i8] c"A node inside the glTF that field names.\00" @.str3787 = private unnamed_addr constant [5 x i8] c"Clip\00" @.str3788 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3789 = private unnamed_addr constant [6 x i8] c"field\00" @.str3790 = private unnamed_addr constant [14 x i8] c"(model_field)\00" @.str3791 = private unnamed_addr constant [52 x i8] c"An animation clip inside the glTF that field names.\00" @.str3792 = private unnamed_addr constant [9 x i8] c"Material\00" @.str3793 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3794 = private unnamed_addr constant [6 x i8] c"field\00" @.str3795 = private unnamed_addr constant [14 x i8] c"(model_field)\00" @.str3796 = private unnamed_addr constant [45 x i8] c"A material inside the glTF that field names.\00" @.str3797 = private unnamed_addr constant [5 x i8] c"Tint\00" @.str3798 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3799 = private unnamed_addr constant [6 x i8] c"field\00" @.str3800 = private unnamed_addr constant [7 x i8] c"(SLOT)\00" @.str3801 = private unnamed_addr constant [42 x i8] c"A colour for that tint slot (a constant).\00" @.str3802 = private unnamed_addr constant [8 x i8] c"Derived\00" @.str3803 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3804 = private unnamed_addr constant [6 x i8] c"field\00" @.str3805 = private unnamed_addr constant [1 x i8] c"\00" @.str3806 = private unnamed_addr constant [65 x i8] c"Worked out at boot: anything written in the data is overwritten.\00" @.str3807 = private unnamed_addr constant [5 x i8] c"Text\00" @.str3808 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3809 = private unnamed_addr constant [6 x i8] c"field\00" @.str3810 = private unnamed_addr constant [1 x i8] c"\00" @.str3811 = private unnamed_addr constant [91 x i8] c"Read by the player, so translated: a Key field's key is derived, ...\00" @.str3812 = private unnamed_addr constant [10 x i8] c"Multiline\00" @.str3813 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3814 = private unnamed_addr constant [6 x i8] c"field\00" @.str3815 = private unnamed_addr constant [1 x i8] c"\00" @.str3816 = private unnamed_addr constant [32 x i8] c"Prose: edited as several lines.\00" @.str3817 = private unnamed_addr constant [4 x i8] c"Key\00" @.str3818 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3819 = private unnamed_addr constant [6 x i8] c"field\00" @.str3820 = private unnamed_addr constant [1 x i8] c"\00" @.str3821 = private unnamed_addr constant [12 x i8] c"A key code.\00" @.str3822 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str3823 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3824 = private unnamed_addr constant [6 x i8] c"field\00" @.str3825 = private unnamed_addr constant [1 x i8] c"\00" @.str3826 = private unnamed_addr constant [67 x i8] c"A derived field expanded inline wherever it is read, never stored.\00" @.str3827 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str3828 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3829 = private unnamed_addr constant [21 x i8] c"field property model\00" @.str3830 = private unnamed_addr constant [1 x i8] c"\00" @.str3831 = private unnamed_addr constant [101 x i8] c"Replicates over the network: the field, every field of the property, or that component of the model.\00" @.str3832 = private unnamed_addr constant [6 x i8] c"frame\00" @.str3833 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3834 = private unnamed_addr constant [6 x i8] c"field\00" @.str3835 = private unnamed_addr constant [1 x i8] c"\00" @.str3836 = private unnamed_addr constant [73 x i8] c"A fn stored here runs every frame: a root of the frame-allocation count.\00" @.str3837 = private unnamed_addr constant [4 x i8] c"max\00" @.str3838 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3839 = private unnamed_addr constant [6 x i8] c"field\00" @.str3840 = private unnamed_addr constant [4 x i8] c"(n)\00" @.str3841 = private unnamed_addr constant [59 x i8] c"The most the list may hold; growing past it fails the run.\00" @.str3842 = private unnamed_addr constant [5 x i8] c"owns\00" @.str3843 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3844 = private unnamed_addr constant [6 x i8] c"field\00" @.str3845 = private unnamed_addr constant [7 x i8] c"(Kind)\00" @.str3846 = private unnamed_addr constant [101 x i8] c"The field holds a handle of that kind its record owns: releasing a sibling and losing it is counted.\00" @.str3847 = private unnamed_addr constant [7 x i8] c"Target\00" @.str3848 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3849 = private unnamed_addr constant [6 x i8] c"field\00" @.str3850 = private unnamed_addr constant [1 x i8] c"\00" @.str3851 = private unnamed_addr constant [109 x i8] c"An action's field holding the handle of the one table row it names: its row reducers run for that row alone.\00" @.str3852 = private unnamed_addr constant [7 x i8] c"Column\00" @.str3853 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3854 = private unnamed_addr constant [6 x i8] c"field\00" @.str3855 = private unnamed_addr constant [1 x i8] c"\00" @.str3856 = private unnamed_addr constant [97 x i8] c"A record's field a column of its table mirrors: a row reducer writes it only through a @RowVerb.\00" @.str3857 = private unnamed_addr constant [11 x i8] c"AppendOnly\00" @.str3858 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3859 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3860 = private unnamed_addr constant [1 x i8] c"\00" @.str3861 = private unnamed_addr constant [59 x i8] c"Entries are only ever appended: an entry's index is saved.\00" @.str3862 = private unnamed_addr constant [6 x i8] c"ByKey\00" @.str3863 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3864 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3865 = private unnamed_addr constant [1 x i8] c"\00" @.str3866 = private unnamed_addr constant [50 x i8] c"Entries are saved by key, so their order is free.\00" @.str3867 = private unnamed_addr constant [7 x i8] c"PerMap\00" @.str3868 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3869 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3870 = private unnamed_addr constant [1 x i8] c"\00" @.str3871 = private unnamed_addr constant [74 x i8] c"Its rows are read per map, from that map's directory, when the map loads.\00" @.str3872 = private unnamed_addr constant [8 x i8] c"Chunked\00" @.str3873 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3874 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3875 = private unnamed_addr constant [4 x i8] c"(n)\00" @.str3876 = private unnamed_addr constant [57 x i8] c"A @PerMap table read a chunk of n by n metres at a time.\00" @.str3877 = private unnamed_addr constant [8 x i8] c"Machine\00" @.str3878 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3879 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3880 = private unnamed_addr constant [15 x i8] c"(Record.field)\00" @.str3881 = private unnamed_addr constant [193 x i8] c"The registry is a state machine's transitions (from, to, on, guard, enter) over that enum field of a table's rows: the compiler writes its reducers and tick, and nothing else writes the field.\00" @.str3882 = private unnamed_addr constant [8 x i8] c"TextKey\00" @.str3883 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3884 = private unnamed_addr constant [9 x i8] c"registry\00" @.str3885 = private unnamed_addr constant [11 x i8] c"(\22prefix\22)\00" @.str3886 = private unnamed_addr constant [93 x i8] c"The prefix of its @Text fields' derived keys, in place of the registry's name in snake case.\00" @.str3887 = private unnamed_addr constant [7 x i8] c"export\00" @.str3888 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3889 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3890 = private unnamed_addr constant [1 x i8] c"\00" @.str3891 = private unnamed_addr constant [62 x i8] c"The declaration is exported (the same as the export keyword).\00" @.str3892 = private unnamed_addr constant [7 x i8] c"Public\00" @.str3893 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3894 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3895 = private unnamed_addr constant [1 x i8] c"\00" @.str3896 = private unnamed_addr constant [59 x i8] c"Promotes a lifecycle hook to an event other code may hear.\00" @.str3897 = private unnamed_addr constant [3 x i8] c"On\00" @.str3898 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3899 = private unnamed_addr constant [17 x i8] c"handler function\00" @.str3900 = private unnamed_addr constant [8 x i8] c"(Event)\00" @.str3901 = private unnamed_addr constant [45 x i8] c"A listener: runs when that event is emitted.\00" @.str3902 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str3903 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3904 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3905 = private unnamed_addr constant [24 x i8] c"(these: [...], on: ...)\00" @.str3906 = private unnamed_addr constant [52 x i8] c"The handler runs once per entity the query matches.\00" @.str3907 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str3908 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3909 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3910 = private unnamed_addr constant [8 x i8] c"(Model)\00" @.str3911 = private unnamed_addr constant [42 x i8] c"Runs when an entity of that model spawns.\00" @.str3912 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" @.str3913 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3914 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3915 = private unnamed_addr constant [21 x i8] c"(Model[, reason: r])\00" @.str3916 = private unnamed_addr constant [44 x i8] c"Runs when an entity of that model despawns.\00" @.str3917 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str3918 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3919 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3920 = private unnamed_addr constant [11 x i8] c"(Property)\00" @.str3921 = private unnamed_addr constant [50 x i8] c"Runs when that property is attached to an entity.\00" @.str3922 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str3923 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3924 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3925 = private unnamed_addr constant [11 x i8] c"(Property)\00" @.str3926 = private unnamed_addr constant [37 x i8] c"Runs when that property is detached.\00" @.str3927 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str3928 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3929 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3930 = private unnamed_addr constant [11 x i8] c"(Property)\00" @.str3931 = private unnamed_addr constant [36 x i8] c"Runs when that property is enabled.\00" @.str3932 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str3933 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3934 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3935 = private unnamed_addr constant [11 x i8] c"(Property)\00" @.str3936 = private unnamed_addr constant [37 x i8] c"Runs when that property is disabled.\00" @.str3937 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str3938 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3939 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3940 = private unnamed_addr constant [1 x i8] c"\00" @.str3941 = private unnamed_addr constant [19 x i8] c"Runs once at boot.\00" @.str3942 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str3943 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3944 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3945 = private unnamed_addr constant [1 x i8] c"\00" @.str3946 = private unnamed_addr constant [23 x i8] c"Runs once at shutdown.\00" @.str3947 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str3948 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3949 = private unnamed_addr constant [6 x i8] c"model\00" @.str3950 = private unnamed_addr constant [1 x i8] c"\00" @.str3951 = private unnamed_addr constant [36 x i8] c"Its entities carry a network owner.\00" @.str3952 = private unnamed_addr constant [7 x i8] c"Server\00" @.str3953 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3954 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3955 = private unnamed_addr constant [1 x i8] c"\00" @.str3956 = private unnamed_addr constant [36 x i8] c"Runs only where the world is owned.\00" @.str3957 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str3958 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3959 = private unnamed_addr constant [8 x i8] c"handler\00" @.str3960 = private unnamed_addr constant [1 x i8] c"\00" @.str3961 = private unnamed_addr constant [46 x i8] c"Runs on the owner and is predicted elsewhere.\00" @.str3962 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str3963 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3964 = private unnamed_addr constant [6 x i8] c"event\00" @.str3965 = private unnamed_addr constant [1 x i8] c"\00" @.str3966 = private unnamed_addr constant [35 x i8] c"A remote event sent to the server.\00" @.str3967 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str3968 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3969 = private unnamed_addr constant [6 x i8] c"event\00" @.str3970 = private unnamed_addr constant [1 x i8] c"\00" @.str3971 = private unnamed_addr constant [37 x i8] c"A remote event sent to every client.\00" @.str3972 = private unnamed_addr constant [7 x i8] c"System\00" @.str3973 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3974 = private unnamed_addr constant [9 x i8] c"function\00" @.str3975 = private unnamed_addr constant [10 x i8] c"[(Phase)]\00" @.str3976 = private unnamed_addr constant [52 x i8] c"A binary module's system, registered when it loads.\00" @.str3977 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str3978 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3979 = private unnamed_addr constant [9 x i8] c"function\00" @.str3980 = private unnamed_addr constant [19 x i8] c"(Component, Phase)\00" @.str3981 = private unnamed_addr constant [40 x i8] c"A package's compile-time engine system.\00" @.str3982 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str3983 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3984 = private unnamed_addr constant [9 x i8] c"function\00" @.str3985 = private unnamed_addr constant [7 x i8] c"(Name)\00" @.str3986 = private unnamed_addr constant [37 x i8] c"A package-provided Name.* namespace.\00" @.str3987 = private unnamed_addr constant [14 x i8] c"deterministic\00" @.str3988 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3989 = private unnamed_addr constant [17 x i8] c"handler function\00" @.str3990 = private unnamed_addr constant [1 x i8] c"\00" @.str3991 = private unnamed_addr constant [62 x i8] c"No floating point inside: it must replay the same everywhere.\00" @.str3992 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str3993 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3994 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str3995 = private unnamed_addr constant [11 x i8] c"(0xRRGGBB)\00" @.str3996 = private unnamed_addr constant [63 x i8] c"The Render phase clears to this colour and presents by itself.\00" @.str3997 = private unnamed_addr constant [9 x i8] c"alloc_ok\00" @.str3998 = private unnamed_addr constant [8 x i8] c"checked\00" @.str3999 = private unnamed_addr constant [27 x i8] c"function handler statement\00" @.str4000 = private unnamed_addr constant [8 x i8] c"(\22why\22)\00" @.str4001 = private unnamed_addr constant [57 x i8] c"Allocates in a frame on purpose; the reason is required.\00" @.str4002 = private unnamed_addr constant [8 x i8] c"creates\00" @.str4003 = private unnamed_addr constant [8 x i8] c"checked\00" @.str4004 = private unnamed_addr constant [9 x i8] c"function\00" @.str4005 = private unnamed_addr constant [7 x i8] c"(Kind)\00" @.str4006 = private unnamed_addr constant [55 x i8] c"Returns a handle of that kind the caller must release.\00" @.str4007 = private unnamed_addr constant [9 x i8] c"releases\00" @.str4008 = private unnamed_addr constant [8 x i8] c"checked\00" @.str4009 = private unnamed_addr constant [9 x i8] c"function\00" @.str4010 = private unnamed_addr constant [7 x i8] c"(Kind)\00" @.str4011 = private unnamed_addr constant [32 x i8] c"Releases a handle of that kind.\00" @.str4012 = private unnamed_addr constant [8 x i8] c"RowVerb\00" @.str4013 = private unnamed_addr constant [8 x i8] c"checked\00" @.str4014 = private unnamed_addr constant [9 x i8] c"function\00" @.str4015 = private unnamed_addr constant [1 x i8] c"\00" @.str4016 = private unnamed_addr constant [96 x i8] c"A verb of a table's row, taking Row first: the only function a row reducer hands its row to.\00" @.str4017 = private unnamed_addr constant [8 x i8] c"Handles\00" @.str4018 = private unnamed_addr constant [9 x i8] c"recorded\00" @.str4019 = private unnamed_addr constant [16 x i8] c"handler program\00" @.str4020 = private unnamed_addr constant [7 x i8] c"(Name)\00" @.str4021 = private unnamed_addr constant [67 x i8] c"Names what a handler (or a program) is responsible for; no effect.\00" @.str4022 = private unnamed_addr constant [6 x i8] c"Reads\00" @.str4023 = private unnamed_addr constant [9 x i8] c"recorded\00" @.str4024 = private unnamed_addr constant [8 x i8] c"handler\00" @.str4025 = private unnamed_addr constant [17 x i8] c"(Component, ...)\00" @.str4026 = private unnamed_addr constant [53 x i8] c"Documents the components a handler reads; no effect.\00" @.str4027 = private unnamed_addr constant [7 x i8] c"Writes\00" @.str4028 = private unnamed_addr constant [9 x i8] c"recorded\00" @.str4029 = private unnamed_addr constant [8 x i8] c"handler\00" @.str4030 = private unnamed_addr constant [17 x i8] c"(Component, ...)\00" @.str4031 = private unnamed_addr constant [54 x i8] c"Documents the components a handler writes; no effect.\00" @.str4032 = private unnamed_addr constant [2 x i8] c"+\00" @.str4033 = private unnamed_addr constant [11 x i8] c"arithmetic\00" @.str4034 = private unnamed_addr constant [20 x i8] c"Add; joins strings.\00" @.str4035 = private unnamed_addr constant [2 x i8] c"-\00" @.str4036 = private unnamed_addr constant [11 x i8] c"arithmetic\00" @.str4037 = private unnamed_addr constant [18 x i8] c"Subtract; negate.\00" @.str4038 = private unnamed_addr constant [2 x i8] c"*\00" @.str4039 = private unnamed_addr constant [11 x i8] c"arithmetic\00" @.str4040 = private unnamed_addr constant [10 x i8] c"Multiply.\00" @.str4041 = private unnamed_addr constant [2 x i8] c"/\00" @.str4042 = private unnamed_addr constant [11 x i8] c"arithmetic\00" @.str4043 = private unnamed_addr constant [8 x i8] c"Divide.\00" @.str4044 = private unnamed_addr constant [2 x i8] c"%\00" @.str4045 = private unnamed_addr constant [11 x i8] c"arithmetic\00" @.str4046 = private unnamed_addr constant [11 x i8] c"Remainder.\00" @.str4047 = private unnamed_addr constant [2 x i8] c"&\00" @.str4048 = private unnamed_addr constant [8 x i8] c"bitwise\00" @.str4049 = private unnamed_addr constant [13 x i8] c"Bitwise and.\00" @.str4050 = private unnamed_addr constant [2 x i8] c"|\00" @.str4051 = private unnamed_addr constant [8 x i8] c"bitwise\00" @.str4052 = private unnamed_addr constant [12 x i8] c"Bitwise or.\00" @.str4053 = private unnamed_addr constant [2 x i8] c"^\00" @.str4054 = private unnamed_addr constant [8 x i8] c"bitwise\00" @.str4055 = private unnamed_addr constant [22 x i8] c"Bitwise exclusive or.\00" @.str4056 = private unnamed_addr constant [2 x i8] c"~\00" @.str4057 = private unnamed_addr constant [8 x i8] c"bitwise\00" @.str4058 = private unnamed_addr constant [13 x i8] c"Bitwise not.\00" @.str4059 = private unnamed_addr constant [3 x i8] c"<<\00" @.str4060 = private unnamed_addr constant [8 x i8] c"bitwise\00" @.str4061 = private unnamed_addr constant [12 x i8] c"Shift left.\00" @.str4062 = private unnamed_addr constant [3 x i8] c">>\00" @.str4063 = private unnamed_addr constant [8 x i8] c"bitwise\00" @.str4064 = private unnamed_addr constant [13 x i8] c"Shift right.\00" @.str4065 = private unnamed_addr constant [3 x i8] c"==\00" @.str4066 = private unnamed_addr constant [11 x i8] c"comparison\00" @.str4067 = private unnamed_addr constant [49 x i8] c"Equal (strings by content, records by identity).\00" @.str4068 = private unnamed_addr constant [3 x i8] c"!=\00" @.str4069 = private unnamed_addr constant [11 x i8] c"comparison\00" @.str4070 = private unnamed_addr constant [11 x i8] c"Not equal.\00" @.str4071 = private unnamed_addr constant [2 x i8] c"<\00" @.str4072 = private unnamed_addr constant [11 x i8] c"comparison\00" @.str4073 = private unnamed_addr constant [11 x i8] c"Less than.\00" @.str4074 = private unnamed_addr constant [3 x i8] c"<=\00" @.str4075 = private unnamed_addr constant [11 x i8] c"comparison\00" @.str4076 = private unnamed_addr constant [20 x i8] c"Less than or equal.\00" @.str4077 = private unnamed_addr constant [2 x i8] c">\00" @.str4078 = private unnamed_addr constant [11 x i8] c"comparison\00" @.str4079 = private unnamed_addr constant [14 x i8] c"Greater than.\00" @.str4080 = private unnamed_addr constant [3 x i8] c">=\00" @.str4081 = private unnamed_addr constant [11 x i8] c"comparison\00" @.str4082 = private unnamed_addr constant [23 x i8] c"Greater than or equal.\00" @.str4083 = private unnamed_addr constant [2 x i8] c"=\00" @.str4084 = private unnamed_addr constant [11 x i8] c"assignment\00" @.str4085 = private unnamed_addr constant [8 x i8] c"Assign.\00" @.str4086 = private unnamed_addr constant [3 x i8] c"+=\00" @.str4087 = private unnamed_addr constant [11 x i8] c"assignment\00" @.str4088 = private unnamed_addr constant [16 x i8] c"Add and assign.\00" @.str4089 = private unnamed_addr constant [3 x i8] c"-=\00" @.str4090 = private unnamed_addr constant [11 x i8] c"assignment\00" @.str4091 = private unnamed_addr constant [21 x i8] c"Subtract and assign.\00" @.str4092 = private unnamed_addr constant [3 x i8] c"*=\00" @.str4093 = private unnamed_addr constant [11 x i8] c"assignment\00" @.str4094 = private unnamed_addr constant [21 x i8] c"Multiply and assign.\00" @.str4095 = private unnamed_addr constant [3 x i8] c"/=\00" @.str4096 = private unnamed_addr constant [11 x i8] c"assignment\00" @.str4097 = private unnamed_addr constant [19 x i8] c"Divide and assign.\00" @.str4098 = private unnamed_addr constant [3 x i8] c"->\00" @.str4099 = private unnamed_addr constant [12 x i8] c"punctuation\00" @.str4100 = private unnamed_addr constant [26 x i8] c"A function's result type.\00" @.str4101 = private unnamed_addr constant [3 x i8] c"=>\00" @.str4102 = private unnamed_addr constant [12 x i8] c"punctuation\00" @.str4103 = private unnamed_addr constant [13 x i8] c"A match arm.\00" @.str4104 = private unnamed_addr constant [3 x i8] c"..\00" @.str4105 = private unnamed_addr constant [6 x i8] c"range\00" @.str4106 = private unnamed_addr constant [58 x i8] c"A range (for i in a..b) or a slice of a string (s[a..b]).\00" @.str4107 = private unnamed_addr constant [2 x i8] c".\00" @.str4108 = private unnamed_addr constant [7 x i8] c"access\00" @.str4109 = private unnamed_addr constant [41 x i8] c"A field, a method or a namespace member.\00" @.str4110 = private unnamed_addr constant [2 x i8] c":\00" @.str4111 = private unnamed_addr constant [12 x i8] c"punctuation\00" @.str4112 = private unnamed_addr constant [52 x i8] c"A type annotation; a named argument or field value.\00" @.str4113 = private unnamed_addr constant [2 x i8] c",\00" @.str4114 = private unnamed_addr constant [12 x i8] c"punctuation\00" @.str4115 = private unnamed_addr constant [17 x i8] c"Separates items.\00" @.str4116 = private unnamed_addr constant [2 x i8] c"@\00" @.str4117 = private unnamed_addr constant [12 x i8] c"punctuation\00" @.str4118 = private unnamed_addr constant [21 x i8] c"Starts an attribute.\00" @.str4119 = private unnamed_addr constant [2 x i8] c";\00" @.str4120 = private unnamed_addr constant [12 x i8] c"punctuation\00" @.str4121 = private unnamed_addr constant [37 x i8] c"Ends a statement, as a newline does.\00" @.str4122 = private unnamed_addr constant [2 x i8] c"(\00" @.str4123 = private unnamed_addr constant [8 x i8] c"bracket\00" @.str4124 = private unnamed_addr constant [43 x i8] c"Opens a call, a parameter list or a group.\00" @.str4125 = private unnamed_addr constant [2 x i8] c")\00" @.str4126 = private unnamed_addr constant [8 x i8] c"bracket\00" @.str4127 = private unnamed_addr constant [44 x i8] c"Closes a call, a parameter list or a group.\00" @.str4128 = private unnamed_addr constant [2 x i8] c"[\00" @.str4129 = private unnamed_addr constant [8 x i8] c"bracket\00" @.str4130 = private unnamed_addr constant [48 x i8] c"Opens an index, a slice type or a list literal.\00" @.str4131 = private unnamed_addr constant [2 x i8] c"]\00" @.str4132 = private unnamed_addr constant [8 x i8] c"bracket\00" @.str4133 = private unnamed_addr constant [49 x i8] c"Closes an index, a slice type or a list literal.\00" @.str4134 = private unnamed_addr constant [2 x i8] c"{\00" @.str4135 = private unnamed_addr constant [8 x i8] c"bracket\00" @.str4136 = private unnamed_addr constant [44 x i8] c"Opens a block, a record or a template hole.\00" @.str4137 = private unnamed_addr constant [2 x i8] c"}\00" @.str4138 = private unnamed_addr constant [8 x i8] c"bracket\00" @.str4139 = private unnamed_addr constant [45 x i8] c"Closes a block, a record or a template hole.\00" @.str4140 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4141 = private unnamed_addr constant [4 x i8] c"123\00" @.str4142 = private unnamed_addr constant [8 x i8] c"integer\00" @.str4143 = private unnamed_addr constant [1 x i8] c"\00" @.str4144 = private unnamed_addr constant [1 x i8] c"\00" @.str4145 = private unnamed_addr constant [59 x i8] c"An int; a bare decimal is a float in a numbers float file.\00" @.str4146 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4147 = private unnamed_addr constant [5 x i8] c"0xFF\00" @.str4148 = private unnamed_addr constant [4 x i8] c"hex\00" @.str4149 = private unnamed_addr constant [1 x i8] c"\00" @.str4150 = private unnamed_addr constant [1 x i8] c"\00" @.str4151 = private unnamed_addr constant [23 x i8] c"An int in hexadecimal.\00" @.str4152 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4153 = private unnamed_addr constant [4 x i8] c"1.5\00" @.str4154 = private unnamed_addr constant [8 x i8] c"decimal\00" @.str4155 = private unnamed_addr constant [1 x i8] c"\00" @.str4156 = private unnamed_addr constant [1 x i8] c"\00" @.str4157 = private unnamed_addr constant [45 x i8] c"A fixed, or a float in a numbers float file.\00" @.str4158 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4159 = private unnamed_addr constant [4 x i8] c"'a'\00" @.str4160 = private unnamed_addr constant [5 x i8] c"char\00" @.str4161 = private unnamed_addr constant [1 x i8] c"\00" @.str4162 = private unnamed_addr constant [1 x i8] c"\00" @.str4163 = private unnamed_addr constant [28 x i8] c"A character's code, an int.\00" @.str4164 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4165 = private unnamed_addr constant [7 x i8] c"\22text\22\00" @.str4166 = private unnamed_addr constant [7 x i8] c"string\00" @.str4167 = private unnamed_addr constant [1 x i8] c"\00" @.str4168 = private unnamed_addr constant [1 x i8] c"\00" @.str4169 = private unnamed_addr constant [41 x i8] c"A string; \5Cn \5Ct \5Cr \5C0 \5C\5C \5C\22 are escapes.\00" @.str4170 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4171 = private unnamed_addr constant [18 x i8] c"k\22module.purpose\22\00" @.str4172 = private unnamed_addr constant [4 x i8] c"key\00" @.str4173 = private unnamed_addr constant [1 x i8] c"\00" @.str4174 = private unnamed_addr constant [1 x i8] c"\00" @.str4175 = private unnamed_addr constant [77 x i8] c"A Key, checked against the source language's .po; written against its quote.\00" @.str4176 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4177 = private unnamed_addr constant [19 x i8] c"kn\22module.purpose\22\00" @.str4178 = private unnamed_addr constant [11 x i8] c"plural key\00" @.str4179 = private unnamed_addr constant [1 x i8] c"\00" @.str4180 = private unnamed_addr constant [1 x i8] c"\00" @.str4181 = private unnamed_addr constant [57 x i8] c"A plural Key, for trn: its .po entry has a msgid_plural.\00" @.str4182 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4183 = private unnamed_addr constant [13 x i8] c"`a {expr} b`\00" @.str4184 = private unnamed_addr constant [9 x i8] c"template\00" @.str4185 = private unnamed_addr constant [1 x i8] c"\00" @.str4186 = private unnamed_addr constant [1 x i8] c"\00" @.str4187 = private unnamed_addr constant [43 x i8] c"A string with holes; {{ and }} are braces.\00" @.str4188 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4189 = private unnamed_addr constant [6 x i8] c"# ...\00" @.str4190 = private unnamed_addr constant [8 x i8] c"comment\00" @.str4191 = private unnamed_addr constant [1 x i8] c"\00" @.str4192 = private unnamed_addr constant [1 x i8] c"\00" @.str4193 = private unnamed_addr constant [34 x i8] c"A comment to the end of the line.\00" @.str4194 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7985: index out of range: \00" @.str4195 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7986: index out of range: \00" @.str4196 = private unnamed_addr constant [6 x i8] c"phase\00" @.str4197 = private unnamed_addr constant [51 x i8] c"ludicc --emit-syntax: vocab.ludic lists the phase \00" @.str4198 = private unnamed_addr constant [12 x i8] c"vocab_check\00" @.str4199 = private unnamed_addr constant [28 x i8] c", which the parser refuses\0A\00" @.str4200 = private unnamed_addr constant [10 x i8] c"attribute\00" @.str4201 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7988: index out of range: \00" @.str4202 = private unnamed_addr constant [6 x i8] c"field\00" @.str4203 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:7988: index out of range: \00" @.str4204 = private unnamed_addr constant [8 x i8] c"checked\00" @.str4205 = private unnamed_addr constant [62 x i8] c"ludicc --emit-syntax: vocab.ludic lists the field attribute @\00" @.str4206 = private unnamed_addr constant [34 x i8] c", which the parser does not read\0A\00" @.str4207 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str4208 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str4209 = private unnamed_addr constant [6 x i8] c"frame\00" @.str4210 = private unnamed_addr constant [4 x i8] c"max\00" @.str4211 = private unnamed_addr constant [5 x i8] c"owns\00" @.str4212 = private unnamed_addr constant [7 x i8] c"Target\00" @.str4213 = private unnamed_addr constant [7 x i8] c"Column\00" @.str4214 = private unnamed_addr constant [6 x i8] c",\0A \22\00" @.str4215 = private unnamed_addr constant [5 x i8] c"\22: [\00" @.str4216 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8005: index out of range: \00" @.str4217 = private unnamed_addr constant [2 x i8] c",\00" @.str4218 = private unnamed_addr constant [8 x i8] c"\0A {\22\00" @.str4219 = private unnamed_addr constant [4 x i8] c"\22: \00" @.str4220 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8011: index out of range: \00" @.str4221 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str4222 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8014: index out of range: \00" @.str4223 = private unnamed_addr constant [2 x i8] c"}\00" @.str4224 = private unnamed_addr constant [5 x i8] c"\0A ]\00" @.str4225 = private unnamed_addr constant [9 x i8] c"keywords\00" @.str4226 = private unnamed_addr constant [8 x i8] c"keyword\00" @.str4227 = private unnamed_addr constant [13 x i8] c"declarations\00" @.str4228 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str4229 = private unnamed_addr constant [6 x i8] c"types\00" @.str4230 = private unnamed_addr constant [5 x i8] c"type\00" @.str4231 = private unnamed_addr constant [7 x i8] c"phases\00" @.str4232 = private unnamed_addr constant [6 x i8] c"phase\00" @.str4233 = private unnamed_addr constant [11 x i8] c"attributes\00" @.str4234 = private unnamed_addr constant [10 x i8] c"attribute\00" @.str4235 = private unnamed_addr constant [10 x i8] c"operators\00" @.str4236 = private unnamed_addr constant [9 x i8] c"operator\00" @.str4237 = private unnamed_addr constant [8 x i8] c"literal\00" @.str4238 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8031: index out of range: \00" @.str4239 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8032: index out of range: \00" @.str4240 = private unnamed_addr constant [11 x i8] c", \22role\22: \00" @.str4241 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8034: index out of range: \00" @.str4242 = private unnamed_addr constant [8 x i8] c"keyword\00" @.str4243 = private unnamed_addr constant [15 x i8] c", \22reserved\22: \00" @.str4244 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8038: index out of range: \00" @.str4245 = private unnamed_addr constant [5 x i8] c"true\00" @.str4246 = private unnamed_addr constant [6 x i8] c"false\00" @.str4247 = private unnamed_addr constant [12 x i8] c"declaration\00" @.str4248 = private unnamed_addr constant [11 x i8] c", \22form\22: \00" @.str4249 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8042: index out of range: \00" @.str4250 = private unnamed_addr constant [10 x i8] c"attribute\00" @.str4251 = private unnamed_addr constant [10 x i8] c", \22on\22: [\00" @.str4252 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8046: index out of range: \00" @.str4253 = private unnamed_addr constant [12 x i8] c"], \22args\22: \00" @.str4254 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8048: index out of range: \00" @.str4255 = private unnamed_addr constant [5 x i8] c"null\00" @.str4256 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8048: index out of range: \00" @.str4257 = private unnamed_addr constant [3 x i8] c", \00" @.str4258 = private unnamed_addr constant [9 x i8] c"vc_words\00" @.str4259 = private unnamed_addr constant [24 x i8] c"{\0A \22syntax_version\22: 1\00" @.str4260 = private unnamed_addr constant [9 x i8] c"keywords\00" @.str4261 = private unnamed_addr constant [5 x i8] c"word\00" @.str4262 = private unnamed_addr constant [13 x i8] c"declarations\00" @.str4263 = private unnamed_addr constant [5 x i8] c"kind\00" @.str4264 = private unnamed_addr constant [6 x i8] c"types\00" @.str4265 = private unnamed_addr constant [5 x i8] c"name\00" @.str4266 = private unnamed_addr constant [7 x i8] c"phases\00" @.str4267 = private unnamed_addr constant [5 x i8] c"name\00" @.str4268 = private unnamed_addr constant [11 x i8] c"attributes\00" @.str4269 = private unnamed_addr constant [5 x i8] c"name\00" @.str4270 = private unnamed_addr constant [10 x i8] c"operators\00" @.str4271 = private unnamed_addr constant [3 x i8] c"op\00" @.str4272 = private unnamed_addr constant [9 x i8] c"literals\00" @.str4273 = private unnamed_addr constant [5 x i8] c"form\00" @.str4274 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4275 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4276 = private unnamed_addr constant [9 x i8] c"res_read\00" @.str4277 = private unnamed_addr constant [33 x i8] c": cannot read the resource file \00" @.str4278 = private unnamed_addr constant [14 x i8] c"res_read_into\00" @.str4279 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8122: index out of range: \00" @.str4280 = private unnamed_addr constant [2 x i8] c":\00" @.str4281 = private unnamed_addr constant [1 x i8] c"\00" @.str4282 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8134: index out of range: \00" @.str4283 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8135: index out of range: \00" @.str4284 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8171: index out of range: \00" @.str4285 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8171: index out of range: \00" @.str4286 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8180: index out of range: \00" @.str4287 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8182: index out of range: \00" @.str4288 = private unnamed_addr constant [2 x i8] c"(\00" @.str4289 = private unnamed_addr constant [2 x i8] c")\00" @.str4290 = private unnamed_addr constant [54 x i8] c"@Chunked takes a chunk's size in metres: @Chunked(64)\00" @.str4291 = private unnamed_addr constant [8 x i8] c"Chunked\00" @.str4292 = private unnamed_addr constant [2 x i8] c"[\00" @.str4293 = private unnamed_addr constant [17 x i8] c"pm_parse_chunked\00" @.str4294 = private unnamed_addr constant [2 x i8] c"]\00" @.str4295 = private unnamed_addr constant [12 x i8] c"pm_declared\00" @.str4296 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4297 = private unnamed_addr constant [57 x i8] c": @Chunked is for a @PerMap registry - @PerMap @Chunked(\00" @.str4298 = private unnamed_addr constant [12 x i8] c") registry \00" @.str4299 = private unnamed_addr constant [5 x i8] c" ...\00" @.str4300 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8224: index out of range: \00" @.str4301 = private unnamed_addr constant [2 x i8] c"/\00" @.str4302 = private unnamed_addr constant [12 x i8] c"pm_manifest\00" @.str4303 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str4304 = private unnamed_addr constant [12 x i8] c"assets/maps\00" @.str4305 = private unnamed_addr constant [3 x i8] c"..\00" @.str4306 = private unnamed_addr constant [4 x i8] c"/..\00" @.str4307 = private unnamed_addr constant [17 x i8] c"pm_manifest_read\00" @.str4308 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8276: index out of range: \00" @.str4309 = private unnamed_addr constant [5 x i8] c"maps\00" @.str4310 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8276: index out of range: \00" @.str4311 = private unnamed_addr constant [8 x i8] c"pm_norm\00" @.str4312 = private unnamed_addr constant [2 x i8] c".\00" @.str4313 = private unnamed_addr constant [3 x i8] c"..\00" @.str4314 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8292: index out of range: \00" @.str4315 = private unnamed_addr constant [3 x i8] c"..\00" @.str4316 = private unnamed_addr constant [1 x i8] c"\00" @.str4317 = private unnamed_addr constant [2 x i8] c"/\00" @.str4318 = private unnamed_addr constant [2 x i8] c"/\00" @.str4319 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8301: index out of range: \00" @.str4320 = private unnamed_addr constant [2 x i8] c".\00" @.str4321 = private unnamed_addr constant [14 x i8] c"pm_trim_slash\00" @.str4322 = private unnamed_addr constant [4 x i8] c"int\00" @.str4323 = private unnamed_addr constant [6 x i8] c"float\00" @.str4324 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4325 = private unnamed_addr constant [7 x i8] c"string\00" @.str4326 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str4327 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8343: index out of range: \00" @.str4328 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8351: index out of range: \00" @.str4329 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8359: index out of range: \00" @.str4330 = private unnamed_addr constant [11 x i8] c"pm_add_rec\00" @.str4331 = private unnamed_addr constant [11 x i8] c"pm_collect\00" @.str4332 = private unnamed_addr constant [11 x i8] c"new []bool\00" @.str4333 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8369: index out of range: \00" @.str4334 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8372: index out of range: \00" @.str4335 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8375: index out of range: \00" @.str4336 = private unnamed_addr constant [7 x i8] c"field \00" @.str4337 = private unnamed_addr constant [17 x i8] c"pm_collect_field\00" @.str4338 = private unnamed_addr constant [2 x i8] c".\00" @.str4339 = private unnamed_addr constant [22 x i8] c" of @PerMap registry \00" @.str4340 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8383: index out of range: \00" @.str4341 = 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" @.str4342 = private unnamed_addr constant [62 x i8] c": a record in a map's row holds itself only through a list - \00" @.str4343 = private unnamed_addr constant [27 x i8] c" would be made without end\00" @.str4344 = private unnamed_addr constant [76 x i8] c": a list in a map's row holds ints, floats, bools, strings or records, not \00" @.str4345 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8410: index out of range: \00" @.str4346 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8420: index out of range: \00" @.str4347 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8421: index out of range: \00" @.str4348 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8423: index out of range: \00" @.str4349 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4350 = private unnamed_addr constant [12 x i8] c"pm_validate\00" @.str4351 = 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" @.str4352 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8424: index out of range: \00" @.str4353 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4354 = private unnamed_addr constant [81 x i8] c": a @PerMap registry says which file under each map holds it - @PerMap registry \00" @.str4355 = private unnamed_addr constant [5 x i8] c" of \00" @.str4356 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8426: index out of range: \00" @.str4357 = private unnamed_addr constant [8 x i8] c" from \22\00" @.str4358 = private unnamed_addr constant [7 x i8] c".lres\22\00" @.str4359 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8429: index out of range: \00" @.str4360 = private unnamed_addr constant [5 x i8] c"{cx}\00" @.str4361 = private unnamed_addr constant [5 x i8] c"{cz}\00" @.str4362 = private unnamed_addr constant [5 x i8] c"{cx}\00" @.str4363 = private unnamed_addr constant [5 x i8] c"{cz}\00" @.str4364 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4365 = private unnamed_addr constant [54 x i8] c": a @Chunked registry's file names its chunk - from \22\00" @.str4366 = private unnamed_addr constant [17 x i8] c"/{cx}_{cz}.lres\22\00" @.str4367 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4368 = private unnamed_addr constant [57 x i8] c": {cx} and {cz} name a chunk - declare it @Chunked(size)\00" @.str4369 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4370 = 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" @.str4371 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8435: index out of range: \00" @.str4372 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4373 = private unnamed_addr constant [22 x i8] c": there is no record \00" @.str4374 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8437: index out of range: \00" @.str4375 = private unnamed_addr constant [10 x i8] c"registry \00" @.str4376 = private unnamed_addr constant [45 x i8] c": a @PerMap registry's record is not generic\00" @.str4377 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8441: index out of range: \00" @.str4378 = private unnamed_addr constant [4 x i8] c"key\00" @.str4379 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8441: index out of range: \00" @.str4380 = private unnamed_addr constant [7 x i8] c"string\00" @.str4381 = private unnamed_addr constant [8 x i8] c"record \00" @.str4382 = private unnamed_addr constant [22 x i8] c" of @PerMap registry \00" @.str4383 = private unnamed_addr constant [54 x i8] c": its first field is the row's key - key: string = \22\22\00" @.str4384 = private unnamed_addr constant [22 x i8] c"pm_placeholder_in_dir\00" @.str4385 = private unnamed_addr constant [5 x i8] c"{cx}\00" @.str4386 = private unnamed_addr constant [5 x i8] c"{cz}\00" @.str4387 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8461: index out of range: \00" @.str4388 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8463: index out of range: \00" @.str4389 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8464: index out of range: \00" @.str4390 = private unnamed_addr constant [5 x i8] c"def \00" @.str4391 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8466: index out of range: \00" @.str4392 = private unnamed_addr constant [13 x i8] c"pm_def_check\00" @.str4393 = private unnamed_addr constant [2 x i8] c" \00" @.str4394 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8466: index out of range: \00" @.str4395 = private unnamed_addr constant [3 x i8] c": \00" @.str4396 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8466: index out of range: \00" @.str4397 = private unnamed_addr constant [60 x i8] c" is a @PerMap registry - its rows are read from each map's \00" @.str4398 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8466: index out of range: \00" @.str4399 = private unnamed_addr constant [42 x i8] c" when the map loads, not written with def\00" @.str4400 = private unnamed_addr constant [10 x i8] c"pm_finish\00" @.str4401 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8490: index out of range: \00" @.str4402 = private unnamed_addr constant [10 x i8] c"pmc_index\00" @.str4403 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8522: index out of range: \00" @.str4404 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8535: index out of range: \00" @.str4405 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8535: index out of range: \00" @.str4406 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8536: index out of range: \00" @.str4407 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8536: index out of range: \00" @.str4408 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8547: index out of range: \00" @.str4409 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8554: index out of range: \00" @.str4410 = private unnamed_addr constant [2 x i8] c"-\00" @.str4411 = private unnamed_addr constant [2 x i8] c"~\00" @.str4412 = private unnamed_addr constant [4 x i8] c"int\00" @.str4413 = private unnamed_addr constant [2 x i8] c"+\00" @.str4414 = private unnamed_addr constant [2 x i8] c"-\00" @.str4415 = private unnamed_addr constant [2 x i8] c"*\00" @.str4416 = private unnamed_addr constant [2 x i8] c"/\00" @.str4417 = private unnamed_addr constant [2 x i8] c"%\00" @.str4418 = private unnamed_addr constant [3 x i8] c"<<\00" @.str4419 = private unnamed_addr constant [3 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 [2 x i8] c"^\00" @.str4423 = private unnamed_addr constant [2 x i8] c"-\00" @.str4424 = private unnamed_addr constant [10 x i8] c"pmc_float\00" @.str4425 = private unnamed_addr constant [2 x i8] c"-\00" @.str4426 = private unnamed_addr constant [6 x i8] c"float\00" @.str4427 = private unnamed_addr constant [12 x i8] c"pmc_collect\00" @.str4428 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8630: index out of range: \00" @.str4429 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8631: index out of range: \00" @.str4430 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8632: index out of range: \00" @.str4431 = private unnamed_addr constant [4 x i8] c"int\00" @.str4432 = private unnamed_addr constant [1 x i8] c"\00" @.str4433 = private unnamed_addr constant [6 x i8] c"float\00" @.str4434 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8653: index out of range: \00" @.str4435 = private unnamed_addr constant [48 x i8] c"function lres_consts__() -> string {\0A return \22\00" @.str4436 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8666: index out of range: \00" @.str4437 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8667: index out of range: \00" @.str4438 = private unnamed_addr constant [4 x i8] c" f \00" @.str4439 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8669: index out of range: \00" @.str4440 = private unnamed_addr constant [4 x i8] c" i \00" @.str4441 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8672: index out of range: \00" @.str4442 = private unnamed_addr constant [2 x i8] c";\00" @.str4443 = private unnamed_addr constant [5 x i8] c"\22\0A}\0A\00" @.str4444 = private unnamed_addr constant [33 x i8] c"runtime/native/lres_consts.ludic\00" @.str4445 = private unnamed_addr constant [17 x i8] c"LUDIC_PERMAP_SRC\00" @.str4446 = private unnamed_addr constant [3 x i8] c"ab\00" @.str4447 = private unnamed_addr constant [13 x i8] c"pm_parse_src\00" @.str4448 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8724: index out of range: \00" @.str4449 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8729: index out of range: \00" @.str4450 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4451 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8757: index out of range: \00" @.str4452 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8758: index out of range: \00" @.str4453 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8760: index out of range: \00" @.str4454 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8763: index out of range: \00" @.str4455 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8763: index out of range: \00" @.str4456 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8766: index out of range: \00" @.str4457 = 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" @.str4458 = private unnamed_addr constant [10 x i8] c"function \00" @.str4459 = private unnamed_addr constant [7 x i8] c"pm_gen\00" @.str4460 = private unnamed_addr constant [11 x i8] c"_path(st: \00" @.str4461 = private unnamed_addr constant [27 x i8] c", rel: string) -> string {\00" @.str4462 = private unnamed_addr constant [10 x i8] c" return \00" @.str4463 = private unnamed_addr constant [2 x i8] c"/\00" @.str4464 = private unnamed_addr constant [22 x i8] c" + st.map + \22/\22 + rel\00" @.str4465 = private unnamed_addr constant [2 x i8] c"}\00" @.str4466 = private unnamed_addr constant [10 x i8] c"property \00" @.str4467 = private unnamed_addr constant [12 x i8] c"pm_gen_pool\00" @.str4468 = private unnamed_addr constant [9 x i8] c"__Pool {\00" @.str4469 = private unnamed_addr constant [11 x i8] c" rows: []\00" @.str4470 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8778: index out of range: \00" @.str4471 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str4472 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8778: index out of range: \00" @.str4473 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8781: index out of range: \00" @.str4474 = private unnamed_addr constant [5 x i8] c" t_\00" @.str4475 = private unnamed_addr constant [3 x i8] c": \00" @.str4476 = private unnamed_addr constant [8 x i8] c" = new \00" @.str4477 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8783: index out of range: \00" @.str4478 = private unnamed_addr constant [5 x i8] c" p_\00" @.str4479 = private unnamed_addr constant [5 x i8] c": []\00" @.str4480 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str4481 = private unnamed_addr constant [5 x i8] c" c_\00" @.str4482 = private unnamed_addr constant [10 x i8] c": int = 0\00" @.str4483 = private unnamed_addr constant [2 x i8] c"}\00" @.str4484 = private unnamed_addr constant [7 x i8] c"state \00" @.str4485 = private unnamed_addr constant [13 x i8] c"pm_gen_state\00" @.str4486 = private unnamed_addr constant [3 x i8] c" {\00" @.str4487 = private unnamed_addr constant [11 x i8] c" rows: []\00" @.str4488 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str4489 = private unnamed_addr constant [19 x i8] c" map: string = \22\22\00" @.str4490 = private unnamed_addr constant [19 x i8] c" err: string = \22\22\00" @.str4491 = private unnamed_addr constant [32 x i8] c" lt__: LresTree = new LresTree\00" @.str4492 = private unnamed_addr constant [9 x i8] c" pl__: \00" @.str4493 = private unnamed_addr constant [14 x i8] c"__Pool = new \00" @.str4494 = private unnamed_addr constant [7 x i8] c"__Pool\00" @.str4495 = private unnamed_addr constant [32 x i8] c" hs__: LresHash = new LresHash\00" @.str4496 = private unnamed_addr constant [2 x i8] c"}\00" @.str4497 = private unnamed_addr constant [10 x i8] c"property \00" @.str4498 = private unnamed_addr constant [19 x i8] c"pm_gen_chunk_types\00" @.str4499 = private unnamed_addr constant [8 x i8] c"Chunk {\00" @.str4500 = private unnamed_addr constant [14 x i8] c" cx: int = 0\00" @.str4501 = private unnamed_addr constant [14 x i8] c" cz: int = 0\00" @.str4502 = private unnamed_addr constant [19 x i8] c" on: bool = false\00" @.str4503 = private unnamed_addr constant [11 x i8] c" rows: []\00" @.str4504 = private unnamed_addr constant [10 x i8] c" = new []\00" @.str4505 = private unnamed_addr constant [9 x i8] c" pl__: \00" @.str4506 = private unnamed_addr constant [14 x i8] c"__Pool = new \00" @.str4507 = private unnamed_addr constant [7 x i8] c"__Pool\00" @.str4508 = private unnamed_addr constant [32 x i8] c" hs__: LresHash = new LresHash\00" @.str4509 = private unnamed_addr constant [32 x i8] c" ks__: LresKeys = new LresKeys\00" @.str4510 = private unnamed_addr constant [2 x i8] c"}\00" @.str4511 = private unnamed_addr constant [7 x i8] c"state \00" @.str4512 = private unnamed_addr constant [3 x i8] c" {\00" @.str4513 = private unnamed_addr constant [13 x i8] c" chunks: []\00" @.str4514 = private unnamed_addr constant [15 x i8] c"Chunk = new []\00" @.str4515 = private unnamed_addr constant [6 x i8] c"Chunk\00" @.str4516 = private unnamed_addr constant [19 x i8] c" map: string = \22\22\00" @.str4517 = private unnamed_addr constant [19 x i8] c" err: string = \22\22\00" @.str4518 = private unnamed_addr constant [32 x i8] c" lt__: LresTree = new LresTree\00" @.str4519 = private unnamed_addr constant [2 x i8] c"}\00" @.str4520 = private unnamed_addr constant [10 x i8] c"function \00" @.str4521 = private unnamed_addr constant [15 x i8] c"pm_gen_records\00" @.str4522 = private unnamed_addr constant [14 x i8] c"__rewind(pl: \00" @.str4523 = private unnamed_addr constant [18 x i8] c"__Pool) -> void {\00" @.str4524 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8824: index out of range: \00" @.str4525 = private unnamed_addr constant [8 x i8] c" pl.c_\00" @.str4526 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8824: index out of range: \00" @.str4527 = private unnamed_addr constant [5 x i8] c" = 0\00" @.str4528 = private unnamed_addr constant [2 x i8] c"}\00" @.str4529 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8830: index out of range: \00" @.str4530 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8831: index out of range: \00" @.str4531 = private unnamed_addr constant [14 x i8] c"@alloc_ok(\22a \00" @.str4532 = 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" @.str4533 = private unnamed_addr constant [10 x i8] c"function \00" @.str4534 = private unnamed_addr constant [8 x i8] c"__take_\00" @.str4535 = private unnamed_addr constant [6 x i8] c"(pl: \00" @.str4536 = private unnamed_addr constant [12 x i8] c"__Pool) -> \00" @.str4537 = private unnamed_addr constant [3 x i8] c" {\00" @.str4538 = private unnamed_addr constant [11 x i8] c" if pl.c_\00" @.str4539 = private unnamed_addr constant [13 x i8] c" < len(pl.p_\00" @.str4540 = private unnamed_addr constant [4 x i8] c") {\00" @.str4541 = private unnamed_addr constant [18 x i8] c" let r = pl.p_\00" @.str4542 = private unnamed_addr constant [7 x i8] c"[pl.c_\00" @.str4543 = private unnamed_addr constant [2 x i8] c"]\00" @.str4544 = private unnamed_addr constant [10 x i8] c" pl.c_\00" @.str4545 = private unnamed_addr constant [6 x i8] c" += 1\00" @.str4546 = private unnamed_addr constant [13 x i8] c" return r\00" @.str4547 = private unnamed_addr constant [4 x i8] c" }\00" @.str4548 = private unnamed_addr constant [15 x i8] c" let r = new \00" @.str4549 = private unnamed_addr constant [13 x i8] c" push(pl.p_\00" @.str4550 = private unnamed_addr constant [5 x i8] c", r)\00" @.str4551 = private unnamed_addr constant [8 x i8] c" pl.c_\00" @.str4552 = private unnamed_addr constant [6 x i8] c" += 1\00" @.str4553 = private unnamed_addr constant [11 x i8] c" return r\00" @.str4554 = private unnamed_addr constant [2 x i8] c"}\00" @.str4555 = 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" @.str4556 = private unnamed_addr constant [10 x i8] c"function \00" @.str4557 = private unnamed_addr constant [13 x i8] c"pm_gen_reset\00" @.str4558 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str4559 = private unnamed_addr constant [6 x i8] c"(pl: \00" @.str4560 = private unnamed_addr constant [12 x i8] c"__Pool, r: \00" @.str4561 = private unnamed_addr constant [12 x i8] c") -> void {\00" @.str4562 = private unnamed_addr constant [16 x i8] c" let d = pl.t_\00" @.str4563 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8859: index out of range: \00" @.str4564 = private unnamed_addr constant [8 x i8] c" if r.\00" @.str4565 = private unnamed_addr constant [14 x i8] c" == null { r.\00" @.str4566 = private unnamed_addr constant [8 x i8] c" = new \00" @.str4567 = private unnamed_addr constant [24 x i8] c" } else { List.clear(r.\00" @.str4568 = private unnamed_addr constant [4 x i8] c") }\00" @.str4569 = private unnamed_addr constant [8 x i8] c" if d.\00" @.str4570 = private unnamed_addr constant [11 x i8] c" != null {\00" @.str4571 = private unnamed_addr constant [10 x i8] c" var i\00" @.str4572 = private unnamed_addr constant [5 x i8] c" = 0\00" @.str4573 = private unnamed_addr constant [12 x i8] c" while i\00" @.str4574 = private unnamed_addr constant [10 x i8] c" < len(d.\00" @.str4575 = private unnamed_addr constant [4 x i8] c") {\00" @.str4576 = private unnamed_addr constant [14 x i8] c" push(r.\00" @.str4577 = private unnamed_addr constant [5 x i8] c", d.\00" @.str4578 = private unnamed_addr constant [3 x i8] c"[i\00" @.str4579 = private unnamed_addr constant [3 x i8] c"])\00" @.str4580 = private unnamed_addr constant [8 x i8] c" i\00" @.str4581 = private unnamed_addr constant [6 x i8] c" += 1\00" @.str4582 = private unnamed_addr constant [6 x i8] c" }\00" @.str4583 = private unnamed_addr constant [4 x i8] c" }\00" @.str4584 = private unnamed_addr constant [8 x i8] c" if r.\00" @.str4585 = private unnamed_addr constant [14 x i8] c" == null { r.\00" @.str4586 = private unnamed_addr constant [8 x i8] c" = new \00" @.str4587 = private unnamed_addr constant [3 x i8] c" }\00" @.str4588 = private unnamed_addr constant [3 x i8] c" \00" @.str4589 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str4590 = private unnamed_addr constant [8 x i8] c"(pl, r.\00" @.str4591 = private unnamed_addr constant [2 x i8] c")\00" @.str4592 = private unnamed_addr constant [5 x i8] c" r.\00" @.str4593 = private unnamed_addr constant [6 x i8] c" = d.\00" @.str4594 = private unnamed_addr constant [2 x i8] c"}\00" @.str4595 = 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" @.str4596 = private unnamed_addr constant [10 x i8] c"function \00" @.str4597 = private unnamed_addr constant [12 x i8] c"pm_gen_fill\00" @.str4598 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str4599 = private unnamed_addr constant [19 x i8] c"(t: LresTree, pl: \00" @.str4600 = private unnamed_addr constant [12 x i8] c"__Pool, r: \00" @.str4601 = private unnamed_addr constant [20 x i8] c", n: int) -> void {\00" @.str4602 = private unnamed_addr constant [25 x i8] c" var c = lres_kid(t, n)\00" @.str4603 = private unnamed_addr constant [32 x i8] c" while c >= 0 and lres_ok(t) {\00" @.str4604 = private unnamed_addr constant [28 x i8] c" let f = lres_name(t, c)\00" @.str4605 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8893: index out of range: \00" @.str4606 = private unnamed_addr constant [6 x i8] c"else \00" @.str4607 = private unnamed_addr constant [1 x i8] c"\00" @.str4608 = private unnamed_addr constant [5 x i8] c" \00" @.str4609 = private unnamed_addr constant [9 x i8] c"if f == \00" @.str4610 = private unnamed_addr constant [3 x i8] c" {\00" @.str4611 = private unnamed_addr constant [6 x i8] c" }\00" @.str4612 = private unnamed_addr constant [32 x i8] c" else { lres_no_field(t, c, \00" @.str4613 = private unnamed_addr constant [4 x i8] c") }\00" @.str4614 = private unnamed_addr constant [25 x i8] c" lres_no_field(t, c, \00" @.str4615 = private unnamed_addr constant [2 x i8] c")\00" @.str4616 = private unnamed_addr constant [24 x i8] c" c = lres_next(t, c)\00" @.str4617 = private unnamed_addr constant [4 x i8] c" }\00" @.str4618 = private unnamed_addr constant [2 x i8] c"}\00" @.str4619 = private unnamed_addr constant [9 x i8] c"lres_int\00" @.str4620 = private unnamed_addr constant [11 x i8] c"lres_float\00" @.str4621 = private unnamed_addr constant [10 x i8] c"lres_bool\00" @.str4622 = private unnamed_addr constant [9 x i8] c"lres_str\00" @.str4623 = private unnamed_addr constant [9 x i8] c" r.\00" @.str4624 = private unnamed_addr constant [13 x i8] c"pm_gen_field\00" @.str4625 = private unnamed_addr constant [18 x i8] c" = lres_key(t, c)\00" @.str4626 = private unnamed_addr constant [9 x i8] c" r.\00" @.str4627 = private unnamed_addr constant [4 x i8] c" = \00" @.str4628 = private unnamed_addr constant [7 x i8] c"(t, c)\00" @.str4629 = private unnamed_addr constant [9 x i8] c" r.\00" @.str4630 = private unnamed_addr constant [4 x i8] c" = \00" @.str4631 = private unnamed_addr constant [6 x i8] c"__fn_\00" @.str4632 = private unnamed_addr constant [10 x i8] c"(t, c, r.\00" @.str4633 = private unnamed_addr constant [2 x i8] c")\00" @.str4634 = private unnamed_addr constant [30 x i8] c" if lres_is_rec(t, c) { \00" @.str4635 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str4636 = private unnamed_addr constant [11 x i8] c"(t, pl, r.\00" @.str4637 = private unnamed_addr constant [7 x i8] c", c) }\00" @.str4638 = private unnamed_addr constant [30 x i8] c" if lres_is_list(t, c) {\00" @.str4639 = private unnamed_addr constant [22 x i8] c" List.clear(r.\00" @.str4640 = private unnamed_addr constant [2 x i8] c")\00" @.str4641 = private unnamed_addr constant [14 x i8] c" var k\00" @.str4642 = private unnamed_addr constant [18 x i8] c" = lres_kid(t, c)\00" @.str4643 = private unnamed_addr constant [16 x i8] c" while k\00" @.str4644 = private unnamed_addr constant [8 x i8] c" >= 0 {\00" @.str4645 = private unnamed_addr constant [16 x i8] c" let e\00" @.str4646 = private unnamed_addr constant [4 x i8] c" = \00" @.str4647 = private unnamed_addr constant [8 x i8] c"__take_\00" @.str4648 = private unnamed_addr constant [5 x i8] c"(pl)\00" @.str4649 = private unnamed_addr constant [11 x i8] c" \00" @.str4650 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str4651 = private unnamed_addr constant [7 x i8] c"(pl, e\00" @.str4652 = private unnamed_addr constant [2 x i8] c")\00" @.str4653 = private unnamed_addr constant [30 x i8] c" if lres_is_rec(t, k\00" @.str4654 = private unnamed_addr constant [5 x i8] c") { \00" @.str4655 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str4656 = private unnamed_addr constant [10 x i8] c"(t, pl, e\00" @.str4657 = private unnamed_addr constant [4 x i8] c", k\00" @.str4658 = private unnamed_addr constant [4 x i8] c") }\00" @.str4659 = private unnamed_addr constant [18 x i8] c" push(r.\00" @.str4660 = private unnamed_addr constant [4 x i8] c", e\00" @.str4661 = private unnamed_addr constant [2 x i8] c")\00" @.str4662 = private unnamed_addr constant [18 x i8] c" push(r.\00" @.str4663 = private unnamed_addr constant [16 x i8] c", lres_key(t, k\00" @.str4664 = private unnamed_addr constant [3 x i8] c"))\00" @.str4665 = private unnamed_addr constant [18 x i8] c" push(r.\00" @.str4666 = private unnamed_addr constant [3 x i8] c", \00" @.str4667 = private unnamed_addr constant [6 x i8] c"(t, k\00" @.str4668 = private unnamed_addr constant [3 x i8] c"))\00" @.str4669 = private unnamed_addr constant [12 x i8] c" k\00" @.str4670 = private unnamed_addr constant [18 x i8] c" = lres_next(t, k\00" @.str4671 = private unnamed_addr constant [2 x i8] c")\00" @.str4672 = private unnamed_addr constant [10 x i8] c" }\00" @.str4673 = private unnamed_addr constant [8 x i8] c" }\00" @.str4674 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8958: index out of range: \00" @.str4675 = private unnamed_addr constant [10 x i8] c"function \00" @.str4676 = private unnamed_addr constant [11 x i8] c"pm_gen_fns\00" @.str4677 = private unnamed_addr constant [6 x i8] c"__fn_\00" @.str4678 = private unnamed_addr constant [28 x i8] c"(t: LresTree, c: int, cur: \00" @.str4679 = private unnamed_addr constant [6 x i8] c") -> \00" @.str4680 = private unnamed_addr constant [3 x i8] c" {\00" @.str4681 = private unnamed_addr constant [25 x i8] c" let nm = lres_fn(t, c)\00" @.str4682 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8964: index out of range: \00" @.str4683 = private unnamed_addr constant [12 x i8] c" if nm == \00" @.str4684 = private unnamed_addr constant [14 x i8] c" { return fn \00" @.str4685 = private unnamed_addr constant [3 x i8] c" }\00" @.str4686 = private unnamed_addr constant [37 x i8] c" if len(nm) > 0 { lres_no_fn(t, c, \00" @.str4687 = private unnamed_addr constant [4 x i8] c") }\00" @.str4688 = private unnamed_addr constant [13 x i8] c" return cur\00" @.str4689 = private unnamed_addr constant [2 x i8] c"}\00" @.str4690 = private unnamed_addr constant [1 x i8] c"\00" @.str4691 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8979: index out of range: \00" @.str4692 = private unnamed_addr constant [2 x i8] c",\00" @.str4693 = private unnamed_addr constant [11 x i8] c"pm_fn_type\00" @.str4694 = private unnamed_addr constant [5 x i8] c"void\00" @.str4695 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str4696 = private unnamed_addr constant [4 x i8] c")->\00" @.str4697 = private unnamed_addr constant [12 x i8] c"pm_fn_cands\00" @.str4698 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:8996: index out of range: \00" @.str4699 = private unnamed_addr constant [1 x i8] c"\00" @.str4700 = 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" @.str4701 = private unnamed_addr constant [10 x i8] c"function \00" @.str4702 = private unnamed_addr constant [12 x i8] c"pm_gen_rows\00" @.str4703 = private unnamed_addr constant [11 x i8] c"__row(pl: \00" @.str4704 = private unnamed_addr constant [20 x i8] c"__Pool, i: int) -> \00" @.str4705 = private unnamed_addr constant [3 x i8] c" {\00" @.str4706 = private unnamed_addr constant [44 x i8] c" if i < len(pl.rows) { return pl.rows[i] }\00" @.str4707 = private unnamed_addr constant [15 x i8] c" let r = new \00" @.str4708 = private unnamed_addr constant [19 x i8] c" push(pl.rows, r)\00" @.str4709 = private unnamed_addr constant [11 x i8] c" return r\00" @.str4710 = private unnamed_addr constant [2 x i8] c"}\00" @.str4711 = 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" @.str4712 = private unnamed_addr constant [10 x i8] c"function \00" @.str4713 = private unnamed_addr constant [30 x i8] c"__fill_rows(t: LresTree, pl: \00" @.str4714 = private unnamed_addr constant [17 x i8] c"__Pool, rows: []\00" @.str4715 = private unnamed_addr constant [40 x i8] c", hs: LresHash, ks: LresKeys) -> bool {\00" @.str4716 = private unnamed_addr constant [19 x i8] c" List.clear(rows)\00" @.str4717 = private unnamed_addr constant [3 x i8] c" \00" @.str4718 = private unnamed_addr constant [13 x i8] c"__rewind(pl)\00" @.str4719 = private unnamed_addr constant [39 x i8] c" lres_hash_reset(hs, lres_entries(t))\00" @.str4720 = private unnamed_addr constant [22 x i8] c" var e = lres_top(t)\00" @.str4721 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str4722 = private unnamed_addr constant [32 x i8] c" while e >= 0 and lres_ok(t) {\00" @.str4723 = private unnamed_addr constant [13 x i8] c" let r = \00" @.str4724 = private unnamed_addr constant [13 x i8] c"__row(pl, i)\00" @.str4725 = private unnamed_addr constant [5 x i8] c" \00" @.str4726 = private unnamed_addr constant [9 x i8] c"__reset_\00" @.str4727 = private unnamed_addr constant [8 x i8] c"(pl, r)\00" @.str4728 = private unnamed_addr constant [5 x i8] c" \00" @.str4729 = private unnamed_addr constant [8 x i8] c"__fill_\00" @.str4730 = private unnamed_addr constant [14 x i8] c"(t, pl, r, e)\00" @.str4731 = private unnamed_addr constant [37 x i8] c" r.key = lres_key_of(t, e, ks, i)\00" @.str4732 = private unnamed_addr constant [59 x i8] c" if lres_hash_put(hs, r.key, i) >= 0 { lres_dup(t, e) }\00" @.str4733 = private unnamed_addr constant [18 x i8] c" push(rows, r)\00" @.str4734 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str4735 = private unnamed_addr constant [24 x i8] c" e = lres_next(t, e)\00" @.str4736 = private unnamed_addr constant [4 x i8] c" }\00" @.str4737 = private unnamed_addr constant [32 x i8] c" if lres_ok(t) { return true }\00" @.str4738 = private unnamed_addr constant [3 x i8] c" \00" @.str4739 = private unnamed_addr constant [21 x i8] c"__drop(pl, rows, hs)\00" @.str4740 = private unnamed_addr constant [15 x i8] c" return false\00" @.str4741 = private unnamed_addr constant [2 x i8] c"}\00" @.str4742 = private unnamed_addr constant [10 x i8] c"function \00" @.str4743 = private unnamed_addr constant [12 x i8] c"__drop(pl: \00" @.str4744 = private unnamed_addr constant [17 x i8] c"__Pool, rows: []\00" @.str4745 = private unnamed_addr constant [26 x i8] c", hs: LresHash) -> void {\00" @.str4746 = private unnamed_addr constant [19 x i8] c" List.clear(rows)\00" @.str4747 = private unnamed_addr constant [3 x i8] c" \00" @.str4748 = private unnamed_addr constant [13 x i8] c"__rewind(pl)\00" @.str4749 = private unnamed_addr constant [25 x i8] c" lres_hash_reset(hs, 0)\00" @.str4750 = private unnamed_addr constant [2 x i8] c"}\00" @.str4751 = private unnamed_addr constant [22 x i8] c" lres_path_begin(t, \00" @.str4752 = private unnamed_addr constant [2 x i8] c"/\00" @.str4753 = private unnamed_addr constant [12 x i8] c"pm_gen_path\00" @.str4754 = private unnamed_addr constant [2 x i8] c")\00" @.str4755 = private unnamed_addr constant [24 x i8] c" lres_path_add(t, map)\00" @.str4756 = private unnamed_addr constant [24 x i8] c" lres_path_add(t, \22/\22)\00" @.str4757 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9052: index out of range: \00" @.str4758 = private unnamed_addr constant [20 x i8] c" lres_path_add(t, \00" @.str4759 = private unnamed_addr constant [2 x i8] c")\00" @.str4760 = private unnamed_addr constant [23 x i8] c" lres_path_int(t, cx)\00" @.str4761 = private unnamed_addr constant [23 x i8] c" lres_path_int(t, cz)\00" @.str4762 = private unnamed_addr constant [20 x i8] c" lres_path_add(t, \00" @.str4763 = private unnamed_addr constant [2 x i8] c")\00" @.str4764 = 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" @.str4765 = private unnamed_addr constant [10 x i8] c"function \00" @.str4766 = private unnamed_addr constant [19 x i8] c"pm_gen_whole_verbs\00" @.str4767 = private unnamed_addr constant [15 x i8] c"_load(st: mut \00" @.str4768 = private unnamed_addr constant [25 x i8] c", map: string) -> bool {\00" @.str4769 = private unnamed_addr constant [18 x i8] c" let t = st.lt__\00" @.str4770 = private unnamed_addr constant [18 x i8] c" t.local = false\00" @.str4771 = private unnamed_addr constant [25 x i8] c" let got = lres_read(t)\00" @.str4772 = private unnamed_addr constant [34 x i8] c" if got == 0 { lres_missing(t) }\00" @.str4773 = private unnamed_addr constant [22 x i8] c" if got <= 0 or not \00" @.str4774 = private unnamed_addr constant [50 x i8] c"__fill_rows(t, st.pl__, st.rows, st.hs__, null) {\00" @.str4775 = private unnamed_addr constant [5 x i8] c" \00" @.str4776 = private unnamed_addr constant [34 x i8] c"__drop(st.pl__, st.rows, st.hs__)\00" @.str4777 = private unnamed_addr constant [27 x i8] c" st.err = lres_error(t)\00" @.str4778 = private unnamed_addr constant [16 x i8] c" st.map = \22\22\00" @.str4779 = private unnamed_addr constant [17 x i8] c" return false\00" @.str4780 = private unnamed_addr constant [4 x i8] c" }\00" @.str4781 = private unnamed_addr constant [23 x i8] c" st.map = intern(map)\00" @.str4782 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str4783 = private unnamed_addr constant [14 x i8] c" return true\00" @.str4784 = private unnamed_addr constant [2 x i8] c"}\00" @.str4785 = private unnamed_addr constant [10 x i8] c"function \00" @.str4786 = private unnamed_addr constant [16 x i8] c"_clear(st: mut \00" @.str4787 = private unnamed_addr constant [12 x i8] c") -> void {\00" @.str4788 = private unnamed_addr constant [3 x i8] c" \00" @.str4789 = private unnamed_addr constant [34 x i8] c"__drop(st.pl__, st.rows, st.hs__)\00" @.str4790 = private unnamed_addr constant [14 x i8] c" st.map = \22\22\00" @.str4791 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str4792 = private unnamed_addr constant [2 x i8] c"}\00" @.str4793 = private unnamed_addr constant [10 x i8] c"function \00" @.str4794 = private unnamed_addr constant [11 x i8] c"_find(st: \00" @.str4795 = private unnamed_addr constant [24 x i8] c", key: string) -> int {\00" @.str4796 = private unnamed_addr constant [37 x i8] c" return lres_hash_get(st.hs__, key)\00" @.str4797 = private unnamed_addr constant [2 x i8] c"}\00" @.str4798 = private unnamed_addr constant [10 x i8] c"function \00" @.str4799 = private unnamed_addr constant [19 x i8] c"pm_gen_chunk_verbs\00" @.str4800 = private unnamed_addr constant [11 x i8] c"__off(ch: \00" @.str4801 = private unnamed_addr constant [17 x i8] c"Chunk) -> void {\00" @.str4802 = private unnamed_addr constant [16 x i8] c" ch.on = false\00" @.str4803 = private unnamed_addr constant [3 x i8] c" \00" @.str4804 = private unnamed_addr constant [34 x i8] c"__drop(ch.pl__, ch.rows, ch.hs__)\00" @.str4805 = private unnamed_addr constant [2 x i8] c"}\00" @.str4806 = private unnamed_addr constant [10 x i8] c"function \00" @.str4807 = private unnamed_addr constant [11 x i8] c"_slot(st: \00" @.str4808 = private unnamed_addr constant [29 x i8] c", cx: int, cz: int) -> int {\00" @.str4809 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str4810 = private unnamed_addr constant [29 x i8] c" while i < len(st.chunks) {\00" @.str4811 = private unnamed_addr constant [26 x i8] c" let ch = st.chunks[i]\00" @.str4812 = private unnamed_addr constant [58 x i8] c" if ch.on and ch.cx == cx and ch.cz == cz { return i }\00" @.str4813 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str4814 = private unnamed_addr constant [4 x i8] c" }\00" @.str4815 = private unnamed_addr constant [12 x i8] c" return -1\00" @.str4816 = private unnamed_addr constant [2 x i8] c"}\00" @.str4817 = 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" @.str4818 = private unnamed_addr constant [10 x i8] c"function \00" @.str4819 = private unnamed_addr constant [13 x i8] c"_in(st: mut \00" @.str4820 = private unnamed_addr constant [42 x i8] c", map: string, cx: int, cz: int) -> int {\00" @.str4821 = private unnamed_addr constant [27 x i8] c" if not (st.map == map) {\00" @.str4822 = private unnamed_addr constant [14 x i8] c" var j = 0\00" @.str4823 = private unnamed_addr constant [31 x i8] c" while j < len(st.chunks) {\00" @.str4824 = private unnamed_addr constant [7 x i8] c" \00" @.str4825 = private unnamed_addr constant [20 x i8] c"__off(st.chunks[j])\00" @.str4826 = private unnamed_addr constant [13 x i8] c" j += 1\00" @.str4827 = private unnamed_addr constant [6 x i8] c" }\00" @.str4828 = private unnamed_addr constant [25 x i8] c" st.map = intern(map)\00" @.str4829 = private unnamed_addr constant [4 x i8] c" }\00" @.str4830 = private unnamed_addr constant [14 x i8] c" let have = \00" @.str4831 = private unnamed_addr constant [18 x i8] c"_slot(st, cx, cz)\00" @.str4832 = private unnamed_addr constant [31 x i8] c" if have >= 0 { return have }\00" @.str4833 = private unnamed_addr constant [13 x i8] c" var s = -1\00" @.str4834 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str4835 = private unnamed_addr constant [39 x i8] c" while i < len(st.chunks) and s < 0 {\00" @.str4836 = private unnamed_addr constant [37 x i8] c" if not st.chunks[i].on { s = i }\00" @.str4837 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str4838 = private unnamed_addr constant [4 x i8] c" }\00" @.str4839 = private unnamed_addr constant [13 x i8] c" if s < 0 {\00" @.str4840 = private unnamed_addr constant [25 x i8] c" push(st.chunks, new \00" @.str4841 = private unnamed_addr constant [7 x i8] c"Chunk)\00" @.str4842 = private unnamed_addr constant [27 x i8] c" s = len(st.chunks) - 1\00" @.str4843 = private unnamed_addr constant [4 x i8] c" }\00" @.str4844 = private unnamed_addr constant [24 x i8] c" let ch = st.chunks[s]\00" @.str4845 = private unnamed_addr constant [3 x i8] c" \00" @.str4846 = private unnamed_addr constant [10 x i8] c"__off(ch)\00" @.str4847 = private unnamed_addr constant [13 x i8] c" ch.cx = cx\00" @.str4848 = private unnamed_addr constant [13 x i8] c" ch.cz = cz\00" @.str4849 = private unnamed_addr constant [18 x i8] c" let t = st.lt__\00" @.str4850 = private unnamed_addr constant [89 x i8] c" t.local = true # the keys are the slot's own, never interned\00" @.str4851 = private unnamed_addr constant [25 x i8] c" let got = lres_read(t)\00" @.str4852 = private unnamed_addr constant [16 x i8] c" if got == 0 {\00" @.str4853 = private unnamed_addr constant [17 x i8] c" ch.on = true\00" @.str4854 = private unnamed_addr constant [16 x i8] c" st.err = \22\22\00" @.str4855 = private unnamed_addr constant [13 x i8] c" return s\00" @.str4856 = private unnamed_addr constant [4 x i8] c" }\00" @.str4857 = private unnamed_addr constant [21 x i8] c" if got < 0 or not \00" @.str4858 = private unnamed_addr constant [53 x i8] c"__fill_rows(t, ch.pl__, ch.rows, ch.hs__, ch.ks__) {\00" @.str4859 = private unnamed_addr constant [5 x i8] c" \00" @.str4860 = private unnamed_addr constant [10 x i8] c"__off(ch)\00" @.str4861 = private unnamed_addr constant [27 x i8] c" st.err = lres_error(t)\00" @.str4862 = private unnamed_addr constant [14 x i8] c" return -1\00" @.str4863 = private unnamed_addr constant [4 x i8] c" }\00" @.str4864 = private unnamed_addr constant [15 x i8] c" ch.on = true\00" @.str4865 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str4866 = private unnamed_addr constant [11 x i8] c" return s\00" @.str4867 = private unnamed_addr constant [2 x i8] c"}\00" @.str4868 = private unnamed_addr constant [10 x i8] c"function \00" @.str4869 = private unnamed_addr constant [14 x i8] c"_out(st: mut \00" @.str4870 = private unnamed_addr constant [30 x i8] c", cx: int, cz: int) -> void {\00" @.str4871 = private unnamed_addr constant [11 x i8] c" let s = \00" @.str4872 = private unnamed_addr constant [18 x i8] c"_slot(st, cx, cz)\00" @.str4873 = private unnamed_addr constant [15 x i8] c" if s >= 0 { \00" @.str4874 = private unnamed_addr constant [22 x i8] c"__off(st.chunks[s]) }\00" @.str4875 = private unnamed_addr constant [2 x i8] c"}\00" @.str4876 = private unnamed_addr constant [10 x i8] c"function \00" @.str4877 = private unnamed_addr constant [16 x i8] c"_clear(st: mut \00" @.str4878 = private unnamed_addr constant [12 x i8] c") -> void {\00" @.str4879 = private unnamed_addr constant [12 x i8] c" var i = 0\00" @.str4880 = private unnamed_addr constant [29 x i8] c" while i < len(st.chunks) {\00" @.str4881 = private unnamed_addr constant [5 x i8] c" \00" @.str4882 = private unnamed_addr constant [20 x i8] c"__off(st.chunks[i])\00" @.str4883 = private unnamed_addr constant [11 x i8] c" i += 1\00" @.str4884 = private unnamed_addr constant [4 x i8] c" }\00" @.str4885 = private unnamed_addr constant [14 x i8] c" st.map = \22\22\00" @.str4886 = private unnamed_addr constant [14 x i8] c" st.err = \22\22\00" @.str4887 = private unnamed_addr constant [2 x i8] c"}\00" @.str4888 = private unnamed_addr constant [10 x i8] c"function \00" @.str4889 = private unnamed_addr constant [11 x i8] c"_find(st: \00" @.str4890 = private unnamed_addr constant [35 x i8] c", slot: int, key: string) -> int {\00" @.str4891 = private unnamed_addr constant [54 x i8] c" if slot < 0 or slot >= len(st.chunks) { return -1 }\00" @.str4892 = private unnamed_addr constant [42 x i8] c" if not st.chunks[slot].on { return -1 }\00" @.str4893 = private unnamed_addr constant [50 x i8] c" return lres_hash_get(st.chunks[slot].hs__, key)\00" @.str4894 = private unnamed_addr constant [2 x i8] c"}\00" @.str4895 = private unnamed_addr constant [6 x i8] c"error\00" @.str4896 = private unnamed_addr constant [2 x i8] c":\00" @.str4897 = private unnamed_addr constant [8 x i8] c"pmk_err\00" @.str4898 = private unnamed_addr constant [2 x i8] c":\00" @.str4899 = private unnamed_addr constant [10 x i8] c": error: \00" @.str4900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4901 = private unnamed_addr constant [9 x i8] c"pmk_list\00" @.str4902 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str4903 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str4904 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str4905 = private unnamed_addr constant [2 x i8] c".\00" @.str4906 = private unnamed_addr constant [13 x i8] c"ludicc-maps-\00" @.str4907 = private unnamed_addr constant [5 x i8] c".txt\00" @.str4908 = private unnamed_addr constant [5 x i8] c"/a-d\00" @.str4909 = private unnamed_addr constant [4 x i8] c"/ad\00" @.str4910 = private unnamed_addr constant [12 x i8] c"dir /b /on \00" @.str4911 = private unnamed_addr constant [3 x i8] c" \22\00" @.str4912 = private unnamed_addr constant [6 x i8] c"\22 > \22\00" @.str4913 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str4914 = private unnamed_addr constant [9 x i8] c"ls -1p '\00" @.str4915 = private unnamed_addr constant [6 x i8] c"' > '\00" @.str4916 = private unnamed_addr constant [14 x i8] c"' 2>/dev/null\00" @.str4917 = private unnamed_addr constant [10 x i8] c"pmk_match\00" @.str4918 = private unnamed_addr constant [10 x i8] c"pmk_files\00" @.str4919 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9277: index out of range: \00" @.str4920 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9278: index out of range: \00" @.str4921 = private unnamed_addr constant [2 x i8] c"/\00" @.str4922 = private unnamed_addr constant [2 x i8] c"/\00" @.str4923 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9298: index out of range: \00" @.str4924 = private unnamed_addr constant [2 x i8] c"/\00" @.str4925 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9298: index out of range: \00" @.str4926 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9331: index out of range: \00" @.str4927 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9332: index out of range: \00" @.str4928 = private unnamed_addr constant [9 x i8] c"pmk_read\00" @.str4929 = private unnamed_addr constant [2 x i8] c"/\00" @.str4930 = private unnamed_addr constant [14 x i8] c"pm_check_maps\00" @.str4931 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9356: index out of range: \00" @.str4932 = private unnamed_addr constant [8 x i8] c"pmk_map\00" @.str4933 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9377: index out of range: \00" @.str4934 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9387: index out of range: \00" @.str4935 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9388: index out of range: \00" @.str4936 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9389: index out of range: \00" @.str4937 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9389: index out of range: \00" @.str4938 = private unnamed_addr constant [9 x i8] c"pmk_dups\00" @.str4939 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9403: index out of range: \00" @.str4940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4941 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9403: index out of range: \00" @.str4942 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9409: index out of range: \00" @.str4943 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9409: index out of range: \00" @.str4944 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9409: index out of range: \00" @.str4945 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9409: index out of range: \00" @.str4946 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9410: index out of range: \00" @.str4947 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9411: index out of range: \00" @.str4948 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9411: index out of range: \00" @.str4949 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9411: index out of range: \00" @.str4950 = private unnamed_addr constant [9 x i8] c"the key \00" @.str4951 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9411: index out of range: \00" @.str4952 = private unnamed_addr constant [31 x i8] c" is written twice in this file\00" @.str4953 = private unnamed_addr constant [15 x i8] c"pmk_chunk_dups\00" @.str4954 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9423: index out of range: \00" @.str4955 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9423: index out of range: \00" @.str4956 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9425: index out of range: \00" @.str4957 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9425: index out of range: \00" @.str4958 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4959 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9425: index out of range: \00" @.str4960 = private unnamed_addr constant [1 x i8] c"\00" @.str4961 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9432: index out of range: \00" @.str4962 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9433: index out of range: \00" @.str4963 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9434: index out of range: \00" @.str4964 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9434: index out of range: \00" @.str4965 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9434: index out of range: \00" @.str4966 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9434: index out of range: \00" @.str4967 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9435: index out of range: \00" @.str4968 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9435: index out of range: \00" @.str4969 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9435: index out of range: \00" @.str4970 = private unnamed_addr constant [9 x i8] c"the key \00" @.str4971 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9435: index out of range: \00" @.str4972 = private unnamed_addr constant [21 x i8] c" is also written at \00" @.str4973 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9435: index out of range: \00" @.str4974 = private unnamed_addr constant [2 x i8] c":\00" @.str4975 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9435: index out of range: \00" @.str4976 = private unnamed_addr constant [50 x i8] c" - a chunked table's key is unique across its map\00" @.str4977 = private unnamed_addr constant [9 x i8] c"pmk_refs\00" @.str4978 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9447: index out of range: \00" @.str4979 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9447: index out of range: \00" @.str4980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4981 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9447: index out of range: \00" @.str4982 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9454: index out of range: \00" @.str4983 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9454: index out of range: \00" @.str4984 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9459: index out of range: \00" @.str4985 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4986 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9459: index out of range: \00" @.str4987 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9461: index out of range: \00" @.str4988 = private unnamed_addr constant [13 x i8] c"there is no \00" @.str4989 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9461: index out of range: \00" @.str4990 = private unnamed_addr constant [6 x i8] c" row \00" @.str4991 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9461: index out of range: \00" @.str4992 = private unnamed_addr constant [13 x i8] c" in this map\00" @.str4993 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9471: index out of range: \00" @.str4994 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9472: index out of range: \00" @.str4995 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9481: index out of range: \00" @.str4996 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str4997 = private unnamed_addr constant [8 x i8] c"pmk_rec\00" @.str4998 = private unnamed_addr constant [4 x i8] c"key\00" @.str4999 = private unnamed_addr constant [53 x i8] c"a row's key is its entry's name - drop the key field\00" @.str5000 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9488: index out of range: \00" @.str5001 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9488: index out of range: \00" @.str5002 = private unnamed_addr constant [7 x i8] c"an int\00" @.str5003 = private unnamed_addr constant [8 x i8] c"a float\00" @.str5004 = private unnamed_addr constant [6 x i8] c"a key\00" @.str5005 = private unnamed_addr constant [9 x i8] c"a string\00" @.str5006 = private unnamed_addr constant [14 x i8] c"true or false\00" @.str5007 = private unnamed_addr constant [10 x i8] c"the name \00" @.str5008 = private unnamed_addr constant [9 x i8] c"pmk_desc\00" @.str5009 = private unnamed_addr constant [9 x i8] c"a record\00" @.str5010 = private unnamed_addr constant [7 x i8] c"a list\00" @.str5011 = private unnamed_addr constant [4 x i8] c"fn \00" @.str5012 = 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" @.str5013 = private unnamed_addr constant [8 x i8] c" wants \00" @.str5014 = private unnamed_addr constant [9 x i8] c"pmk_want\00" @.str5015 = private unnamed_addr constant [7 x i8] c", not \00" @.str5016 = private unnamed_addr constant [2 x i8] c"-\00" @.str5017 = private unnamed_addr constant [8 x i8] c"pmk_num\00" @.str5018 = private unnamed_addr constant [2 x i8] c"-\00" @.str5019 = private unnamed_addr constant [17 x i8] c"a record { ... }\00" @.str5020 = private unnamed_addr constant [15 x i8] c"a list [ ... ]\00" @.str5021 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9532: index out of range: \00" @.str5022 = private unnamed_addr constant [8 x i8] c"fn name\00" @.str5023 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9542: index out of range: \00" @.str5024 = private unnamed_addr constant [22 x i8] c"there is no function \00" @.str5025 = private unnamed_addr constant [10 x i8] c"pmk_value\00" @.str5026 = private unnamed_addr constant [10 x i8] c" of type \00" @.str5027 = private unnamed_addr constant [9 x i8] c" (field \00" @.str5028 = private unnamed_addr constant [2 x i8] c")\00" @.str5029 = private unnamed_addr constant [14 x i8] c"true or false\00" @.str5030 = private unnamed_addr constant [13 x i8] c"a key k\22...\22\00" @.str5031 = private unnamed_addr constant [11 x i8] c"a \22string\22\00" @.str5032 = private unnamed_addr constant [14 x i8] c"the constant \00" @.str5033 = 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" @.str5034 = private unnamed_addr constant [18 x i8] c"unknown constant \00" @.str5035 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9571: index out of range: \00" @.str5036 = private unnamed_addr constant [27 x i8] c" is a float constant, and \00" @.str5037 = private unnamed_addr constant [14 x i8] c" wants an int\00" @.str5038 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9576: index out of range: \00" @.str5039 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9576: index out of range: \00" @.str5040 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9576: index out of range: \00" @.str5041 = private unnamed_addr constant [7 x i8] c"an int\00" @.str5042 = private unnamed_addr constant [8 x i8] c"a float\00" @.str5043 = private unnamed_addr constant [7 x i8] c"an int\00" @.str5044 = private unnamed_addr constant [3 x i8] c"rb\00" @.str5045 = private unnamed_addr constant [11 x i8] c"pmk_exists\00" @.str5046 = private unnamed_addr constant [2 x i8] c"/\00" @.str5047 = private unnamed_addr constant [10 x i8] c"pmk_asset\00" @.str5048 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str5049 = private unnamed_addr constant [24 x i8] c"\22, and this map has no \00" @.str5050 = private unnamed_addr constant [57 x i8] c" - @Asset(..., map) is a path under each map's directory\00" @.str5051 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9620: index out of range: \00" @.str5052 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9624: index out of range: \00" @.str5053 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9624: index out of range: \00" @.str5054 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9624: index out of range: \00" @.str5055 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9631: index out of range: \00" @.str5056 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9642: index out of range: \00" @.str5057 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9642: index out of range: \00" @.str5058 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9642: index out of range: \00" @.str5059 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9651: index out of range: \00" @.str5060 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9652: index out of range: \00" @.str5061 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9652: index out of range: \00" @.str5062 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9653: index out of range: \00" @.str5063 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str5064 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9654: index out of range: \00" @.str5065 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9655: index out of range: \00" @.str5066 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str5067 = private unnamed_addr constant [14 x i8] c"pmk_attrs_str\00" @.str5068 = private unnamed_addr constant [21 x i8] c"\22, and it is @OneOf(\00" @.str5069 = private unnamed_addr constant [2 x i8] c")\00" @.str5070 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str5071 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str5072 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9659: index out of range: \00" @.str5073 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9660: index out of range: \00" @.str5074 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9669: index out of range: \00" @.str5075 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9670: index out of range: \00" @.str5076 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9670: index out of range: \00" @.str5077 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9671: index out of range: \00" @.str5078 = private unnamed_addr constant [6 x i8] c"Range\00" @.str5079 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9673: index out of range: \00" @.str5080 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9674: index out of range: \00" @.str5081 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9674: index out of range: \00" @.str5082 = private unnamed_addr constant [5 x i8] c" is \00" @.str5083 = private unnamed_addr constant [14 x i8] c"pmk_attrs_num\00" @.str5084 = private unnamed_addr constant [22 x i8] c", outside its @Range(\00" @.str5085 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9675: index out of range: \00" @.str5086 = private unnamed_addr constant [3 x i8] c", \00" @.str5087 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9675: index out of range: \00" @.str5088 = private unnamed_addr constant [2 x i8] c")\00" @.str5089 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str5090 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9678: index out of range: \00" @.str5091 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9679: index out of range: \00" @.str5092 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5093 = private unnamed_addr constant [5 x i8] c" is \00" @.str5094 = private unnamed_addr constant [12 x i8] c", and @Ref(\00" @.str5095 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9683: index out of range: \00" @.str5096 = private unnamed_addr constant [7 x i8] c") has \00" @.str5097 = private unnamed_addr constant [16 x i8] c" entries (0 to \00" @.str5098 = private unnamed_addr constant [18 x i8] c", or -1 for none)\00" @.str5099 = private unnamed_addr constant [6 x i8] c"OneOf\00" @.str5100 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9687: index out of range: \00" @.str5101 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9693: index out of range: \00" @.str5102 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9694: index out of range: \00" @.str5103 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9695: index out of range: \00" @.str5104 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9703: index out of range: \00" @.str5105 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9703: index out of range: \00" @.str5106 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9704: index out of range: \00" @.str5107 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9704: index out of range: \00" @.str5108 = private unnamed_addr constant [5 x i8] c" is \00" @.str5109 = private unnamed_addr constant [10 x i8] c"pmk_oneof\00" @.str5110 = private unnamed_addr constant [20 x i8] c", and it is @OneOf(\00" @.str5111 = private unnamed_addr constant [2 x i8] c")\00" @.str5112 = private unnamed_addr constant [13 x i8] c"pmk_arg_nums\00" @.str5113 = private unnamed_addr constant [10 x i8] c"pmk_ipart\00" @.str5114 = private unnamed_addr constant [1 x i8] c"\00" @.str5115 = private unnamed_addr constant [10 x i8] c"pmk_fpart\00" @.str5116 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9818: index out of range: \00" @.str5117 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9819: index out of range: \00" @.str5118 = private unnamed_addr constant [40 x i8] c"a positional argument after a named one\00" @.str5119 = private unnamed_addr constant [20 x i8] c"call_mixed_to_named\00" @.str5120 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9830: index out of range: \00" @.str5121 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9833: index out of range: \00" @.str5122 = private unnamed_addr constant [19 x i8] c"call_fill_defaults\00" @.str5123 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9851: index out of range: \00" @.str5124 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9861: index out of range: \00" @.str5125 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9868: index out of range: \00" @.str5126 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9868: index out of range: \00" @.str5127 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9868: index out of range: \00" @.str5128 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9871: index out of range: \00" @.str5129 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9873: index out of range: \00" @.str5130 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9874: index out of range: \00" @.str5131 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9882: index out of range: \00" @.str5132 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9882: index out of range: \00" @.str5133 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9888: index out of range: \00" @.str5134 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9888: index out of range: \00" @.str5135 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9893: index out of range: \00" @.str5136 = private unnamed_addr constant [13 x i8] c"default_copy\00" @.str5137 = private unnamed_addr constant [6 x i8] c"view_\00" @.str5138 = private unnamed_addr constant [10 x i8] c"vw_prefix\00" @.str5139 = private unnamed_addr constant [2 x i8] c"_\00" @.str5140 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9937: index out of range: \00" @.str5141 = private unnamed_addr constant [11 x i8] c"parse_view\00" @.str5142 = private unnamed_addr constant [2 x i8] c"{\00" @.str5143 = private unnamed_addr constant [2 x i8] c"}\00" @.str5144 = private unnamed_addr constant [9 x i8] c"function\00" @.str5145 = private unnamed_addr constant [3 x i8] c"on\00" @.str5146 = private unnamed_addr constant [3 x i8] c"on\00" @.str5147 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9955: index out of range: \00" @.str5148 = private unnamed_addr constant [9 x i8] c"function\00" @.str5149 = private unnamed_addr constant [4 x i8] c"on_\00" @.str5150 = private unnamed_addr constant [54 x i8] c"build/cfree/selfhost.ludic:9966: index out of range: \00" @.str5151 = private unnamed_addr constant [2 x i8] c"}\00" @.str5152 = private unnamed_addr constant [5 x i8] c"get_\00" @.str5153 = private unnamed_addr constant [9 x i8] c"vw_field\00" @.str5154 = private unnamed_addr constant [2 x i8] c":\00" @.str5155 = private unnamed_addr constant [2 x i8] c"=\00" @.str5156 = private unnamed_addr constant [12 x i8] c"view field \00" @.str5157 = private unnamed_addr constant [20 x i8] c": say what it is - \00" @.str5158 = private unnamed_addr constant [15 x i8] c" = some_global\00" @.str5159 = private unnamed_addr constant [15 x i8] c"function view_\00" @.str5160 = private unnamed_addr constant [8 x i8] c"vw_head\00" @.str5161 = private unnamed_addr constant [49 x i8] c"() -> UiView {\0A let v = new UiView\0A v.name = \22\00" @.str5162 = private unnamed_addr constant [18 x i8] c"\22\0A v.model = fn \00" @.str5163 = private unnamed_addr constant [21 x i8] c"model\0A v.call = fn \00" @.str5164 = private unnamed_addr constant [19 x i8] c"call\0A return v\0A}\0A\00" @.str5165 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10003: index out of range: \00" @.str5166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10004: index out of range: \00" @.str5167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10019: index out of range: \00" @.str5168 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10024: index out of range: \00" @.str5169 = private unnamed_addr constant [4 x i8] c"int\00" @.str5170 = private unnamed_addr constant [11 x i8] c"value_int(\00" @.str5171 = private unnamed_addr constant [8 x i8] c"vw_conv\00" @.str5172 = private unnamed_addr constant [2 x i8] c")\00" @.str5173 = private unnamed_addr constant [6 x i8] c"float\00" @.str5174 = private unnamed_addr constant [13 x i8] c"value_float(\00" @.str5175 = private unnamed_addr constant [2 x i8] c")\00" @.str5176 = private unnamed_addr constant [7 x i8] c"string\00" @.str5177 = private unnamed_addr constant [11 x i8] c"value_str(\00" @.str5178 = private unnamed_addr constant [2 x i8] c")\00" @.str5179 = private unnamed_addr constant [18 x i8] c"value_str(string(\00" @.str5180 = private unnamed_addr constant [3 x i8] c"))\00" @.str5181 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5182 = 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" @.str5183 = private unnamed_addr constant [14 x i8] c"view_val_bool\00" @.str5184 = private unnamed_addr constant [15 x i8] c"view_val_bool(\00" @.str5185 = private unnamed_addr constant [2 x i8] c")\00" @.str5186 = private unnamed_addr constant [15 x i8] c"view_val_list_\00" @.str5187 = private unnamed_addr constant [2 x i8] c"(\00" @.str5188 = private unnamed_addr constant [2 x i8] c")\00" @.str5189 = private unnamed_addr constant [6 x i8] c"xs[i]\00" @.str5190 = private unnamed_addr constant [10 x i8] c"function \00" @.str5191 = private unnamed_addr constant [6 x i8] c"(xs: \00" @.str5192 = 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" @.str5193 = private unnamed_addr constant [33 x i8] c")\0A i += 1\0A }\0A return out\0A}\0A\00" @.str5194 = private unnamed_addr constant [2 x i8] c"(\00" @.str5195 = private unnamed_addr constant [2 x i8] c")\00" @.str5196 = private unnamed_addr constant [10 x i8] c"view_val_\00" @.str5197 = private unnamed_addr constant [2 x i8] c"(\00" @.str5198 = private unnamed_addr constant [2 x i8] c")\00" @.str5199 = private unnamed_addr constant [10 x i8] c"function \00" @.str5200 = private unnamed_addr constant [5 x i8] c"(r: \00" @.str5201 = private unnamed_addr constant [76 x i8] c") -> Val {\0A if r == null { return value_null() }\0A let o = value_object()\0A\00" @.str5202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10064: index out of range: \00" @.str5203 = private unnamed_addr constant [3 x i8] c"r.\00" @.str5204 = private unnamed_addr constant [17 x i8] c" value_put(o, \22\00" @.str5205 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5206 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5207 = private unnamed_addr constant [14 x i8] c" return o\0A}\0A\00" @.str5208 = private unnamed_addr constant [2 x i8] c"(\00" @.str5209 = private unnamed_addr constant [2 x i8] c")\00" @.str5210 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10077: index out of range: \00" @.str5211 = private unnamed_addr constant [10 x i8] c"vw_helper\00" @.str5212 = private unnamed_addr constant [10 x i8] c"vw_mangle\00" @.str5213 = private unnamed_addr constant [4 x i8] c"int\00" @.str5214 = private unnamed_addr constant [17 x i8] c" value_set_int(\00" @.str5215 = private unnamed_addr constant [7 x i8] c"vw_set\00" @.str5216 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5217 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5218 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5219 = private unnamed_addr constant [6 x i8] c"float\00" @.str5220 = private unnamed_addr constant [19 x i8] c" value_set_float(\00" @.str5221 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5222 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5223 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5224 = private unnamed_addr constant [7 x i8] c"string\00" @.str5225 = private unnamed_addr constant [17 x i8] c" value_set_str(\00" @.str5226 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5227 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5228 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5229 = private unnamed_addr constant [17 x i8] c" value_set_str(\00" @.str5230 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5231 = private unnamed_addr constant [11 x i8] c"\22, string(\00" @.str5232 = private unnamed_addr constant [4 x i8] c"))\0A\00" @.str5233 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5234 = private unnamed_addr constant [18 x i8] c" value_set_bool(\00" @.str5235 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5236 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5237 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5238 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5239 = private unnamed_addr constant [18 x i8] c" value_set_ints(\00" @.str5240 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5241 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5242 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5243 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str5244 = private unnamed_addr constant [20 x i8] c" value_set_floats(\00" @.str5245 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5246 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5247 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5248 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str5249 = private unnamed_addr constant [18 x i8] c" value_set_strs(\00" @.str5250 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5251 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5252 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5253 = private unnamed_addr constant [7 x i8] c"[]bool\00" @.str5254 = private unnamed_addr constant [19 x i8] c" value_set_bools(\00" @.str5255 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5256 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5257 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5258 = private unnamed_addr constant [4 x i8] c"Val\00" @.str5259 = private unnamed_addr constant [13 x i8] c" value_put(\00" @.str5260 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5261 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5262 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5263 = private unnamed_addr constant [15 x i8] c"view_set_list_\00" @.str5264 = private unnamed_addr constant [10 x i8] c"function \00" @.str5265 = private unnamed_addr constant [25 x i8] c"(o: Val, k: string, xs: \00" @.str5266 = 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" @.str5267 = private unnamed_addr constant [31 x i8] c"(d, xs[i]) }\0A i += 1\0A }\0A}\0A\00" @.str5268 = private unnamed_addr constant [3 x i8] c" \00" @.str5269 = private unnamed_addr constant [2 x i8] c"(\00" @.str5270 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5271 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5272 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5273 = private unnamed_addr constant [10 x i8] c"view_set_\00" @.str5274 = private unnamed_addr constant [10 x i8] c"function \00" @.str5275 = private unnamed_addr constant [24 x i8] c"(o: Val, k: string, r: \00" @.str5276 = 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" @.str5277 = private unnamed_addr constant [28 x i8] c"(value_slot(o, k, 6), r)\0A}\0A\00" @.str5278 = private unnamed_addr constant [3 x i8] c" \00" @.str5279 = private unnamed_addr constant [2 x i8] c"(\00" @.str5280 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5281 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5282 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5283 = private unnamed_addr constant [13 x i8] c" value_put(\00" @.str5284 = private unnamed_addr constant [4 x i8] c", \22\00" @.str5285 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5286 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5287 = private unnamed_addr constant [11 x i8] c"view_fill_\00" @.str5288 = private unnamed_addr constant [11 x i8] c"vw_fill_fn\00" @.str5289 = private unnamed_addr constant [10 x i8] c"function \00" @.str5290 = private unnamed_addr constant [13 x i8] c"(d: Val, r: \00" @.str5291 = private unnamed_addr constant [13 x i8] c") -> void {\0A\00" @.str5292 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10149: index out of range: \00" @.str5293 = private unnamed_addr constant [2 x i8] c"d\00" @.str5294 = private unnamed_addr constant [3 x i8] c"r.\00" @.str5295 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5296 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10171: index out of range: \00" @.str5297 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10172: index out of range: \00" @.str5298 = private unnamed_addr constant [6 x i8] c"view \00" @.str5299 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10174: index out of range: \00" @.str5300 = private unnamed_addr constant [7 x i8] c"vw_err\00" @.str5301 = private unnamed_addr constant [3 x i8] c": \00" @.str5302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10177: index out of range: \00" @.str5303 = private unnamed_addr constant [7 x i8] c"UiView\00" @.str5304 = private unnamed_addr constant [48 x i8] c"a view is shown by ludic.ui - import \22ludic.ui\22\00" @.str5305 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10179: index out of range: \00" @.str5306 = private unnamed_addr constant [10 x i8] c"function \00" @.str5307 = private unnamed_addr constant [10 x i8] c"vw_finish\00" @.str5308 = private unnamed_addr constant [43 x i8] c"model() -> Val {\0A let o = value_object()\0A\00" @.str5309 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10181: index out of range: \00" @.str5310 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10184: index out of range: \00" @.str5311 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10185: index out of range: \00" @.str5312 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10185: index out of range: \00" @.str5313 = private unnamed_addr constant [3 x i8] c"()\00" @.str5314 = private unnamed_addr constant [7 x i8] c" is a \00" @.str5315 = private unnamed_addr constant [31 x i8] c", which a template cannot read\00" @.str5316 = private unnamed_addr constant [17 x i8] c" value_put(o, \22\00" @.str5317 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5318 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5319 = private unnamed_addr constant [14 x i8] c" return o\0A}\0A\00" @.str5320 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10198: index out of range: \00" @.str5321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10205: index out of range: \00" @.str5322 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10208: index out of range: \00" @.str5323 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10209: index out of range: \00" @.str5324 = private unnamed_addr constant [4 x i8] c"int\00" @.str5325 = private unnamed_addr constant [6 x i8] c"float\00" @.str5326 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5327 = private unnamed_addr constant [7 x i8] c"string\00" @.str5328 = private unnamed_addr constant [5 x i8] c"void\00" @.str5329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10223: index out of range: \00" @.str5330 = private unnamed_addr constant [15 x i8] c"say what type \00" @.str5331 = private unnamed_addr constant [9 x i8] c"vw_infer\00" @.str5332 = private unnamed_addr constant [7 x i8] c" is - \00" @.str5333 = private unnamed_addr constant [12 x i8] c": int = ...\00" @.str5334 = private unnamed_addr constant [4 x i8] c"int\00" @.str5335 = private unnamed_addr constant [10 x i8] c"function \00" @.str5336 = private unnamed_addr constant [12 x i8] c"vw_call_src\00" @.str5337 = private unnamed_addr constant [40 x i8] c"call(name: string, args: Val) -> Val {\0A\00" @.str5338 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10230: index out of range: \00" @.str5339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10233: index out of range: \00" @.str5340 = private unnamed_addr constant [1 x i8] c"\00" @.str5341 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10235: index out of range: \00" @.str5342 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10237: index out of range: \00" @.str5343 = private unnamed_addr constant [3 x i8] c", \00" @.str5344 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10238: index out of range: \00" @.str5345 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10238: index out of range: \00" @.str5346 = private unnamed_addr constant [2 x i8] c"(\00" @.str5347 = private unnamed_addr constant [2 x i8] c")\00" @.str5348 = private unnamed_addr constant [15 x i8] c" if name == \22\00" @.str5349 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10242: index out of range: \00" @.str5350 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10242: index out of range: \00" @.str5351 = private unnamed_addr constant [5 x i8] c"\22 {\0A\00" @.str5352 = private unnamed_addr constant [5 x i8] c"void\00" @.str5353 = private unnamed_addr constant [5 x i8] c" \00" @.str5354 = private unnamed_addr constant [26 x i8] c"\0A return value_null()\0A\00" @.str5355 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10245: index out of range: \00" @.str5356 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10245: index out of range: \00" @.str5357 = private unnamed_addr constant [12 x i8] c" answers a \00" @.str5358 = private unnamed_addr constant [31 x i8] c", which a template cannot read\00" @.str5359 = private unnamed_addr constant [12 x i8] c" return \00" @.str5360 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5361 = private unnamed_addr constant [5 x i8] c" }\0A\00" @.str5362 = private unnamed_addr constant [25 x i8] c" return value_null()\0A}\0A\00" @.str5363 = private unnamed_addr constant [16 x i8] c"value_at(args, \00" @.str5364 = private unnamed_addr constant [7 x i8] c"vw_arg\00" @.str5365 = private unnamed_addr constant [2 x i8] c")\00" @.str5366 = private unnamed_addr constant [4 x i8] c"int\00" @.str5367 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str5368 = private unnamed_addr constant [2 x i8] c")\00" @.str5369 = private unnamed_addr constant [6 x i8] c"float\00" @.str5370 = private unnamed_addr constant [16 x i8] c"value_as_float(\00" @.str5371 = private unnamed_addr constant [2 x i8] c")\00" @.str5372 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5373 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str5374 = private unnamed_addr constant [7 x i8] c") != 0\00" @.str5375 = private unnamed_addr constant [7 x i8] c"string\00" @.str5376 = private unnamed_addr constant [14 x i8] c"value_as_str(\00" @.str5377 = private unnamed_addr constant [2 x i8] c")\00" @.str5378 = private unnamed_addr constant [7 x i8] c" is a \00" @.str5379 = private unnamed_addr constant [58 x i8] c"; a template can pass an int, a float, a bool or a string\00" @.str5380 = private unnamed_addr constant [1 x i8] c"\00" @.str5381 = private unnamed_addr constant [5 x i8] c"cmp_\00" @.str5382 = private unnamed_addr constant [10 x i8] c"cm_prefix\00" @.str5383 = private unnamed_addr constant [2 x i8] c"_\00" @.str5384 = private unnamed_addr constant [19 x i8] c"parse_ui_component\00" @.str5385 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10315: index out of range: \00" @.str5386 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10316: index out of range: \00" @.str5387 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10317: index out of range: \00" @.str5388 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10320: index out of range: \00" @.str5389 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10328: index out of range: \00" @.str5390 = private unnamed_addr constant [1 x i8] c"\00" @.str5391 = private unnamed_addr constant [1 x i8] c"\00" @.str5392 = private unnamed_addr constant [1 x i8] c"\00" @.str5393 = private unnamed_addr constant [2 x i8] c"{\00" @.str5394 = private unnamed_addr constant [2 x i8] c"}\00" @.str5395 = private unnamed_addr constant [2 x i8] c"}\00" @.str5396 = private unnamed_addr constant [4 x i8] c"reg\00" @.str5397 = private unnamed_addr constant [4 x i8] c"int\00" @.str5398 = private unnamed_addr constant [5 x i8] c"prop\00" @.str5399 = private unnamed_addr constant [6 x i8] c"state\00" @.str5400 = private unnamed_addr constant [5 x i8] c"prop\00" @.str5401 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10362: index out of range: \00" @.str5402 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10362: index out of range: \00" @.str5403 = private unnamed_addr constant [10 x i8] c"cm_member\00" @.str5404 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10363: index out of range: \00" @.str5405 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10363: index out of range: \00" @.str5406 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10364: index out of range: \00" @.str5407 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10364: index out of range: \00" @.str5408 = private unnamed_addr constant [2 x i8] c":\00" @.str5409 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10371: index out of range: \00" @.str5410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10372: index out of range: \00" @.str5411 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10373: index out of range: \00" @.str5412 = private unnamed_addr constant [2 x i8] c"=\00" @.str5413 = private unnamed_addr constant [5 x i8] c"def_\00" @.str5414 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10379: index out of range: \00" @.str5415 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10380: index out of range: \00" @.str5416 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10382: index out of range: \00" @.str5417 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10383: index out of range: \00" @.str5418 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10385: index out of range: \00" @.str5419 = private unnamed_addr constant [9 x i8] c"function\00" @.str5420 = private unnamed_addr constant [3 x i8] c"on\00" @.str5421 = private unnamed_addr constant [3 x i8] c"on\00" @.str5422 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10390: index out of range: \00" @.str5423 = private unnamed_addr constant [9 x i8] c"function\00" @.str5424 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10393: index out of range: \00" @.str5425 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10394: index out of range: \00" @.str5426 = private unnamed_addr constant [4 x i8] c"on_\00" @.str5427 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10396: index out of range: \00" @.str5428 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10400: index out of range: \00" @.str5429 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10400: index out of range: \00" @.str5430 = private unnamed_addr constant [2 x i8] c":\00" @.str5431 = private unnamed_addr constant [2 x i8] c"=\00" @.str5432 = private unnamed_addr constant [17 x i8] c"component field \00" @.str5433 = private unnamed_addr constant [20 x i8] c": say what it is - \00" @.str5434 = private unnamed_addr constant [15 x i8] c" = some_global\00" @.str5435 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10409: index out of range: \00" @.str5436 = private unnamed_addr constant [5 x i8] c"get_\00" @.str5437 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10412: index out of range: \00" @.str5438 = private unnamed_addr constant [10 x i8] c"cm_getter\00" @.str5439 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10434: index out of range: \00" @.str5440 = private unnamed_addr constant [11 x i8] c"component \00" @.str5441 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10439: index out of range: \00" @.str5442 = private unnamed_addr constant [11 x i8] c"cm_rewrite\00" @.str5443 = private unnamed_addr constant [17 x i8] c": the parameter \00" @.str5444 = private unnamed_addr constant [66 x i8] c" has the name of its prop, state or field; call it something else\00" @.str5445 = private unnamed_addr constant [5 x i8] c"self\00" @.str5446 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10450: index out of range: \00" @.str5447 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10455: index out of range: \00" @.str5448 = private unnamed_addr constant [15 x i8] c"cm_member_args\00" @.str5449 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10461: index out of range: \00" @.str5450 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10463: index out of range: \00" @.str5451 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10463: index out of range: \00" @.str5452 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10471: index out of range: \00" @.str5453 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10478: index out of range: \00" @.str5454 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10479: index out of range: \00" @.str5455 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10479: index out of range: \00" @.str5456 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10486: index out of range: \00" @.str5457 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10487: index out of range: \00" @.str5458 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10487: index out of range: \00" @.str5459 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10494: index out of range: \00" @.str5460 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10495: index out of range: \00" @.str5461 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10495: index out of range: \00" @.str5462 = private unnamed_addr constant [5 x i8] c"self\00" @.str5463 = private unnamed_addr constant [11 x i8] c"component \00" @.str5464 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10511: index out of range: \00" @.str5465 = private unnamed_addr constant [6 x i8] c"cm_rw\00" @.str5466 = private unnamed_addr constant [3 x i8] c": \00" @.str5467 = private unnamed_addr constant [64 x i8] c" is its own prop, state or field; name the local something else\00" @.str5468 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10521: index out of range: \00" @.str5469 = private unnamed_addr constant [5 x i8] c"get_\00" @.str5470 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10528: index out of range: \00" @.str5471 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10536: index out of range: \00" @.str5472 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10551: index out of range: \00" @.str5473 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10552: index out of range: \00" @.str5474 = private unnamed_addr constant [11 x i8] c"component \00" @.str5475 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10554: index out of range: \00" @.str5476 = private unnamed_addr constant [7 x i8] c"cm_err\00" @.str5477 = private unnamed_addr constant [3 x i8] c": \00" @.str5478 = private unnamed_addr constant [8 x i8] c"UiClass\00" @.str5479 = private unnamed_addr constant [53 x i8] c"a component is shown by ludic.ui - import \22ludic.ui\22\00" @.str5480 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10558: index out of range: \00" @.str5481 = private unnamed_addr constant [4 x i8] c"Cmp\00" @.str5482 = private unnamed_addr constant [10 x i8] c"cm_finish\00" @.str5483 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10561: index out of range: \00" @.str5484 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10562: index out of range: \00" @.str5485 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10563: index out of range: \00" @.str5486 = private unnamed_addr constant [10 x i8] c"property \00" @.str5487 = private unnamed_addr constant [4 x i8] c" {\0A\00" @.str5488 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10566: index out of range: \00" @.str5489 = private unnamed_addr constant [3 x i8] c" \00" @.str5490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10567: index out of range: \00" @.str5491 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10567: index out of range: \00" @.str5492 = private unnamed_addr constant [3 x i8] c": \00" @.str5493 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10567: index out of range: \00" @.str5494 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10567: index out of range: \00" @.str5495 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5496 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5497 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10581: index out of range: \00" @.str5498 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10582: index out of range: \00" @.str5499 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10582: index out of range: \00" @.str5500 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10582: index out of range: \00" @.str5501 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10582: index out of range: \00" @.str5502 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10586: index out of range: \00" @.str5503 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10587: index out of range: \00" @.str5504 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10587: index out of range: \00" @.str5505 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10588: index out of range: \00" @.str5506 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10588: index out of range: \00" @.str5507 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10593: index out of range: \00" @.str5508 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10594: index out of range: \00" @.str5509 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10594: index out of range: \00" @.str5510 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10599: index out of range: \00" @.str5511 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10602: index out of range: \00" @.str5512 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10603: index out of range: \00" @.str5513 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10603: index out of range: \00" @.str5514 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10603: index out of range: \00" @.str5515 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10603: index out of range: \00" @.str5516 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10610: index out of range: \00" @.str5517 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10611: index out of range: \00" @.str5518 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10611: index out of range: \00" @.str5519 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10612: index out of range: \00" @.str5520 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10612: index out of range: \00" @.str5521 = private unnamed_addr constant [4 x i8] c"int\00" @.str5522 = private unnamed_addr constant [6 x i8] c"float\00" @.str5523 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5524 = private unnamed_addr constant [7 x i8] c"string\00" @.str5525 = private unnamed_addr constant [5 x i8] c"void\00" @.str5526 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10630: index out of range: \00" @.str5527 = private unnamed_addr constant [15 x i8] c"say what type \00" @.str5528 = private unnamed_addr constant [9 x i8] c"cm_infer\00" @.str5529 = private unnamed_addr constant [7 x i8] c" is - \00" @.str5530 = private unnamed_addr constant [12 x i8] c": int = ...\00" @.str5531 = private unnamed_addr constant [4 x i8] c"int\00" @.str5532 = private unnamed_addr constant [10 x i8] c"function \00" @.str5533 = private unnamed_addr constant [11 x i8] c"cm_new_src\00" @.str5534 = private unnamed_addr constant [34 x i8] c"new() -> pointer {\0A let s = new \00" @.str5535 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5536 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10637: index out of range: \00" @.str5537 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10638: index out of range: \00" @.str5538 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10638: index out of range: \00" @.str5539 = private unnamed_addr constant [5 x i8] c" s.\00" @.str5540 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10638: index out of range: \00" @.str5541 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10638: index out of range: \00" @.str5542 = private unnamed_addr constant [4 x i8] c" = \00" @.str5543 = private unnamed_addr constant [5 x i8] c"def_\00" @.str5544 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10638: index out of range: \00" @.str5545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10638: index out of range: \00" @.str5546 = private unnamed_addr constant [5 x i8] c"(s)\0A\00" @.str5547 = private unnamed_addr constant [14 x i8] c" return s\0A}\0A\00" @.str5548 = private unnamed_addr constant [10 x i8] c"function \00" @.str5549 = private unnamed_addr constant [13 x i8] c"cm_props_src\00" @.str5550 = private unnamed_addr constant [46 x i8] c"props(p: pointer, v: Val) -> void {\0A let s: \00" @.str5551 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str5552 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10649: index out of range: \00" @.str5553 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10650: index out of range: \00" @.str5554 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10650: index out of range: \00" @.str5555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10651: index out of range: \00" @.str5556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10651: index out of range: \00" @.str5557 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10652: index out of range: \00" @.str5558 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10652: index out of range: \00" @.str5559 = private unnamed_addr constant [15 x i8] c"value_get(v, \22\00" @.str5560 = private unnamed_addr constant [3 x i8] c"\22)\00" @.str5561 = private unnamed_addr constant [20 x i8] c" if value_has(v, \22\00" @.str5562 = private unnamed_addr constant [13 x i8] c"\22) != 0 { s.\00" @.str5563 = private unnamed_addr constant [4 x i8] c" = \00" @.str5564 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str5565 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5566 = private unnamed_addr constant [4 x i8] c"Val\00" @.str5567 = private unnamed_addr constant [4 x i8] c"int\00" @.str5568 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str5569 = private unnamed_addr constant [8 x i8] c"cm_from\00" @.str5570 = private unnamed_addr constant [2 x i8] c")\00" @.str5571 = private unnamed_addr constant [6 x i8] c"float\00" @.str5572 = private unnamed_addr constant [16 x i8] c"value_as_float(\00" @.str5573 = private unnamed_addr constant [2 x i8] c")\00" @.str5574 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5575 = private unnamed_addr constant [14 x i8] c"value_as_int(\00" @.str5576 = private unnamed_addr constant [7 x i8] c") != 0\00" @.str5577 = private unnamed_addr constant [7 x i8] c"string\00" @.str5578 = private unnamed_addr constant [13 x i8] c"ui_val_text(\00" @.str5579 = private unnamed_addr constant [2 x i8] c")\00" @.str5580 = 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" @.str5581 = private unnamed_addr constant [10 x i8] c"function \00" @.str5582 = private unnamed_addr constant [13 x i8] c"cm_model_src\00" @.str5583 = private unnamed_addr constant [45 x i8] c"model(p: pointer, o: Val) -> Val {\0A let s: \00" @.str5584 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str5585 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10674: index out of range: \00" @.str5586 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10675: index out of range: \00" @.str5587 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10675: index out of range: \00" @.str5588 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10676: index out of range: \00" @.str5589 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10676: index out of range: \00" @.str5590 = private unnamed_addr constant [3 x i8] c"s.\00" @.str5591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10680: index out of range: \00" @.str5592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10681: index out of range: \00" @.str5593 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10681: index out of range: \00" @.str5594 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10682: index out of range: \00" @.str5595 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10682: index out of range: \00" @.str5596 = private unnamed_addr constant [4 x i8] c"(s)\00" @.str5597 = private unnamed_addr constant [14 x i8] c" return o\0A}\0A\00" @.str5598 = private unnamed_addr constant [4 x i8] c"int\00" @.str5599 = private unnamed_addr constant [22 x i8] c"value_into_int(into, \00" @.str5600 = private unnamed_addr constant [8 x i8] c"cm_into\00" @.str5601 = private unnamed_addr constant [2 x i8] c")\00" @.str5602 = private unnamed_addr constant [6 x i8] c"float\00" @.str5603 = private unnamed_addr constant [24 x i8] c"value_into_float(into, \00" @.str5604 = private unnamed_addr constant [2 x i8] c")\00" @.str5605 = private unnamed_addr constant [7 x i8] c"string\00" @.str5606 = private unnamed_addr constant [22 x i8] c"value_into_str(into, \00" @.str5607 = private unnamed_addr constant [2 x i8] c")\00" @.str5608 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5609 = private unnamed_addr constant [23 x i8] c"value_into_bool(into, \00" @.str5610 = private unnamed_addr constant [2 x i8] c")\00" @.str5611 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5612 = private unnamed_addr constant [23 x i8] c"value_into_ints(into, \00" @.str5613 = private unnamed_addr constant [2 x i8] c")\00" @.str5614 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str5615 = private unnamed_addr constant [25 x i8] c"value_into_floats(into, \00" @.str5616 = private unnamed_addr constant [2 x i8] c")\00" @.str5617 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str5618 = private unnamed_addr constant [23 x i8] c"value_into_strs(into, \00" @.str5619 = private unnamed_addr constant [2 x i8] c")\00" @.str5620 = private unnamed_addr constant [7 x i8] c"[]bool\00" @.str5621 = private unnamed_addr constant [24 x i8] c"value_into_bools(into, \00" @.str5622 = private unnamed_addr constant [2 x i8] c")\00" @.str5623 = private unnamed_addr constant [4 x i8] c"int\00" @.str5624 = private unnamed_addr constant [21 x i8] c" value_set_int(o, \22\00" @.str5625 = private unnamed_addr constant [7 x i8] c"cm_set\00" @.str5626 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5627 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5628 = private unnamed_addr constant [6 x i8] c"float\00" @.str5629 = private unnamed_addr constant [23 x i8] c" value_set_float(o, \22\00" @.str5630 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5631 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5632 = private unnamed_addr constant [7 x i8] c"string\00" @.str5633 = private unnamed_addr constant [21 x i8] c" value_set_str(o, \22\00" @.str5634 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5635 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5636 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5637 = private unnamed_addr constant [22 x i8] c" value_set_bool(o, \22\00" @.str5638 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5639 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5640 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5641 = private unnamed_addr constant [22 x i8] c" value_set_ints(o, \22\00" @.str5642 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5643 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5644 = private unnamed_addr constant [8 x i8] c"[]float\00" @.str5645 = private unnamed_addr constant [24 x i8] c" value_set_floats(o, \22\00" @.str5646 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5647 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5648 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str5649 = private unnamed_addr constant [22 x i8] c" value_set_strs(o, \22\00" @.str5650 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5651 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5652 = private unnamed_addr constant [7 x i8] c"[]bool\00" @.str5653 = private unnamed_addr constant [23 x i8] c" value_set_bools(o, \22\00" @.str5654 = private unnamed_addr constant [4 x i8] c"\22, \00" @.str5655 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5656 = private unnamed_addr constant [2 x i8] c"o\00" @.str5657 = private unnamed_addr constant [3 x i8] c"a \00" @.str5658 = private unnamed_addr constant [37 x i8] c" is something a template cannot read\00" @.str5659 = private unnamed_addr constant [1 x i8] c"\00" @.str5660 = private unnamed_addr constant [4 x i8] c"Val\00" @.str5661 = private unnamed_addr constant [3 x i8] c"a \00" @.str5662 = private unnamed_addr constant [6 x i8] c"cm_to\00" @.str5663 = private unnamed_addr constant [37 x i8] c" is something a template cannot read\00" @.str5664 = private unnamed_addr constant [10 x i8] c"function \00" @.str5665 = private unnamed_addr constant [12 x i8] c"cm_call_src\00" @.str5666 = private unnamed_addr constant [72 x i8] c"call(p: pointer, name: string, args: Val, into: Val) -> Val {\0A let s: \00" @.str5667 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str5668 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10725: index out of range: \00" @.str5669 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10728: index out of range: \00" @.str5670 = private unnamed_addr constant [2 x i8] c"s\00" @.str5671 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10730: index out of range: \00" @.str5672 = private unnamed_addr constant [3 x i8] c", \00" @.str5673 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10733: index out of range: \00" @.str5674 = private unnamed_addr constant [15 x i8] c" if name == \22\00" @.str5675 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10736: index out of range: \00" @.str5676 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10736: index out of range: \00" @.str5677 = private unnamed_addr constant [5 x i8] c"\22 {\0A\00" @.str5678 = private unnamed_addr constant [2 x i8] c"(\00" @.str5679 = private unnamed_addr constant [2 x i8] c")\00" @.str5680 = private unnamed_addr constant [5 x i8] c"void\00" @.str5681 = private unnamed_addr constant [5 x i8] c" \00" @.str5682 = private unnamed_addr constant [35 x i8] c"\0A return value_into_null(into)\0A\00" @.str5683 = private unnamed_addr constant [12 x i8] c" return \00" @.str5684 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5685 = private unnamed_addr constant [5 x i8] c" }\0A\00" @.str5686 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10743: index out of range: \00" @.str5687 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10744: index out of range: \00" @.str5688 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10744: index out of range: \00" @.str5689 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10745: index out of range: \00" @.str5690 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10745: index out of range: \00" @.str5691 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10746: index out of range: \00" @.str5692 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10746: index out of range: \00" @.str5693 = private unnamed_addr constant [18 x i8] c"value_at(args, 0)\00" @.str5694 = private unnamed_addr constant [19 x i8] c" if name == \22set:\00" @.str5695 = private unnamed_addr constant [11 x i8] c"\22 {\0A s.\00" @.str5696 = private unnamed_addr constant [4 x i8] c" = \00" @.str5697 = private unnamed_addr constant [39 x i8] c"\0A return value_into_null(into)\0A }\0A\00" @.str5698 = private unnamed_addr constant [33 x i8] c" return value_into(into, 99)\0A}\0A\00" @.str5699 = private unnamed_addr constant [16 x i8] c"value_at(args, \00" @.str5700 = private unnamed_addr constant [7 x i8] c"cm_arg\00" @.str5701 = private unnamed_addr constant [2 x i8] c")\00" @.str5702 = private unnamed_addr constant [4 x i8] c"int\00" @.str5703 = private unnamed_addr constant [6 x i8] c"float\00" @.str5704 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5705 = private unnamed_addr constant [7 x i8] c"string\00" @.str5706 = private unnamed_addr constant [4 x i8] c"Val\00" @.str5707 = private unnamed_addr constant [7 x i8] c" is a \00" @.str5708 = private unnamed_addr constant [65 x i8] c"; a template can pass an int, a float, a bool, a string or a Val\00" @.str5709 = private unnamed_addr constant [1 x i8] c"\00" @.str5710 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10765: index out of range: \00" @.str5711 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10766: index out of range: \00" @.str5712 = private unnamed_addr constant [5 x i8] c".xml\00" @.str5713 = private unnamed_addr constant [9 x i8] c"cm_class\00" @.str5714 = private unnamed_addr constant [5 x i8] c".lss\00" @.str5715 = private unnamed_addr constant [13 x i8] c"there is no \00" @.str5716 = private unnamed_addr constant [69 x i8] c".xml beside it - a component's template is NAME.xml in its directory\00" @.str5717 = private unnamed_addr constant [1 x i8] c"\00" @.str5718 = private unnamed_addr constant [1 x i8] c"\00" @.str5719 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10777: index out of range: \00" @.str5720 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10778: index out of range: \00" @.str5721 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10779: index out of range: \00" @.str5722 = private unnamed_addr constant [10 x i8] c"function \00" @.str5723 = private unnamed_addr constant [56 x i8] c"class() -> UiClass {\0A let k = new UiClass\0A k.name = \22\00" @.str5724 = private unnamed_addr constant [3 x i8] c"\22\0A\00" @.str5725 = private unnamed_addr constant [17 x i8] c" k.xml_path = \22\00" @.str5726 = private unnamed_addr constant [13 x i8] c"\22\0A k.xml = \00" @.str5727 = private unnamed_addr constant [28 x i8] c"xml_text()\0A k.lss_path = \22\00" @.str5728 = private unnamed_addr constant [13 x i8] c"\22\0A k.lss = \00" @.str5729 = private unnamed_addr constant [12 x i8] c"lss_text()\0A\00" @.str5730 = private unnamed_addr constant [15 x i8] c" k.make = fn \00" @.str5731 = private unnamed_addr constant [20 x i8] c"new\0A k.renew = fn \00" @.str5732 = private unnamed_addr constant [22 x i8] c"renew\0A k.props = fn \00" @.str5733 = private unnamed_addr constant [22 x i8] c"props\0A k.model = fn \00" @.str5734 = private unnamed_addr constant [21 x i8] c"model\0A k.call = fn \00" @.str5735 = private unnamed_addr constant [19 x i8] c"call\0A return k\0A}\0A\00" @.str5736 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10783: index out of range: \00" @.str5737 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10783: index out of range: \00" @.str5738 = private unnamed_addr constant [4 x i8] c"Cmp\00" @.str5739 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10784: index out of range: \00" @.str5740 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10784: index out of range: \00" @.str5741 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str5742 = private unnamed_addr constant [9 x i8] c"lss_text\00" @.str5743 = private unnamed_addr constant [12 x i8] c"ui_register\00" @.str5744 = private unnamed_addr constant [6 x i8] c"class\00" @.str5745 = private unnamed_addr constant [10 x i8] c"function \00" @.str5746 = private unnamed_addr constant [11 x i8] c"cm_text_fn\00" @.str5747 = private unnamed_addr constant [30 x i8] c"() -> string {\0A return \22\22\0A}\0A\00" @.str5748 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10803: index out of range: \00" @.str5749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10803: index out of range: \00" @.str5750 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10804: index out of range: \00" @.str5751 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10804: index out of range: \00" @.str5752 = private unnamed_addr constant [47 x i8] c"its stylesheets @import each other in a circle\00" @.str5753 = private unnamed_addr constant [1 x i8] c"\00" @.str5754 = private unnamed_addr constant [14 x i8] c"cm_lss_inline\00" @.str5755 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5756 = private unnamed_addr constant [24 x i8] c"its stylesheet imports \00" @.str5757 = private unnamed_addr constant [21 x i8] c", which is not there\00" @.str5758 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5759 = private unnamed_addr constant [13 x i8] c"cm_import_of\00" @.str5760 = private unnamed_addr constant [8 x i8] c"@import\00" @.str5761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10848: index out of range: \00" @.str5762 = private unnamed_addr constant [11 x i8] c"component \00" @.str5763 = private unnamed_addr constant [10 x i8] c"cm_unique\00" @.str5764 = private unnamed_addr constant [33 x i8] c" is declared twice: here and in \00" @.str5765 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10849: index out of range: \00" @.str5766 = private unnamed_addr constant [2 x i8] c":\00" @.str5767 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10849: index out of range: \00" @.str5768 = 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" @.str5769 = private unnamed_addr constant [10 x i8] c"function \00" @.str5770 = private unnamed_addr constant [13 x i8] c"cm_renew_src\00" @.str5771 = private unnamed_addr constant [38 x i8] c"renew(p: pointer) -> void {\0A let s: \00" @.str5772 = private unnamed_addr constant [6 x i8] c" = p\0A\00" @.str5773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10859: index out of range: \00" @.str5774 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10860: index out of range: \00" @.str5775 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10860: index out of range: \00" @.str5776 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10861: index out of range: \00" @.str5777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10861: index out of range: \00" @.str5778 = private unnamed_addr constant [5 x i8] c" s.\00" @.str5779 = private unnamed_addr constant [4 x i8] c" = \00" @.str5780 = private unnamed_addr constant [5 x i8] c"def_\00" @.str5781 = private unnamed_addr constant [5 x i8] c"(s)\0A\00" @.str5782 = private unnamed_addr constant [5 x i8] c" s.\00" @.str5783 = private unnamed_addr constant [4 x i8] c" = \00" @.str5784 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10864: index out of range: \00" @.str5785 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10864: index out of range: \00" @.str5786 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5787 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5788 = private unnamed_addr constant [4 x i8] c"int\00" @.str5789 = private unnamed_addr constant [5 x i8] c"long\00" @.str5790 = private unnamed_addr constant [5 x i8] c"byte\00" @.str5791 = private unnamed_addr constant [2 x i8] c"0\00" @.str5792 = private unnamed_addr constant [6 x i8] c"float\00" @.str5793 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str5794 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5795 = private unnamed_addr constant [9 x i8] c"fixed(0)\00" @.str5796 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5797 = private unnamed_addr constant [6 x i8] c"false\00" @.str5798 = private unnamed_addr constant [5 x i8] c"null\00" @.str5799 = private unnamed_addr constant [7 x i8] c"po_new\00" @.str5800 = private unnamed_addr constant [11 x i8] c"new PoFile\00" @.str5801 = private unnamed_addr constant [13 x i8] c"po_reset_cur\00" @.str5802 = private unnamed_addr constant [1 x i8] c"\00" @.str5803 = private unnamed_addr constant [1 x i8] c"\00" @.str5804 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10943: index out of range: \00" @.str5805 = private unnamed_addr constant [1 x i8] c"\00" @.str5806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5807 = private unnamed_addr constant [9 x i8] c"po_flush\00" @.str5808 = private unnamed_addr constant [1 x i8] c"\00" @.str5809 = private unnamed_addr constant [10 x i8] c"po_add_to\00" @.str5810 = private unnamed_addr constant [1 x i8] c"\00" @.str5811 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10985: index out of range: \00" @.str5812 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:10985: index out of range: \00" @.str5813 = private unnamed_addr constant [8 x i8] c"po_read\00" @.str5814 = private unnamed_addr constant [8 x i8] c"po_line\00" @.str5815 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5816 = private unnamed_addr constant [6 x i8] c"fuzzy\00" @.str5817 = private unnamed_addr constant [8 x i8] c"msgctxt\00" @.str5818 = private unnamed_addr constant [13 x i8] c"msgid_plural\00" @.str5819 = private unnamed_addr constant [6 x i8] c"msgid\00" @.str5820 = private unnamed_addr constant [7 x i8] c"msgstr\00" @.str5821 = private unnamed_addr constant [9 x i8] c"po_index\00" @.str5822 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11092: index out of range: \00" @.str5823 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11094: index out of range: \00" @.str5824 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11095: index out of range: \00" @.str5825 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11095: index out of range: \00" @.str5826 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11095: index out of range: \00" @.str5827 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11097: index out of range: \00" @.str5828 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11107: index out of range: \00" @.str5829 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11108: index out of range: \00" @.str5830 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11108: index out of range: \00" @.str5831 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11108: index out of range: \00" @.str5832 = private unnamed_addr constant [11 x i8] c"key_marked\00" @.str5833 = private unnamed_addr constant [14 x i8] c"i18n_key_text\00" @.str5834 = private unnamed_addr constant [7 x i8] c"ss_new\00" @.str5835 = private unnamed_addr constant [11 x i8] c"new StrSet\00" @.str5836 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11218: index out of range: \00" @.str5837 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11218: index out of range: \00" @.str5838 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11221: index out of range: \00" @.str5839 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11229: index out of range: \00" @.str5840 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11229: index out of range: \00" @.str5841 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11229: index out of range: \00" @.str5842 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11229: index out of range: \00" @.str5843 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11235: index out of range: \00" @.str5844 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11236: index out of range: \00" @.str5845 = private unnamed_addr constant [2 x i8] c"/\00" @.str5846 = private unnamed_addr constant [14 x i8] c"i18n_manifest\00" @.str5847 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str5848 = private unnamed_addr constant [3 x i8] c"..\00" @.str5849 = private unnamed_addr constant [4 x i8] c"/..\00" @.str5850 = private unnamed_addr constant [19 x i8] c"i18n_manifest_read\00" @.str5851 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11268: index out of range: \00" @.str5852 = private unnamed_addr constant [5 x i8] c"lang\00" @.str5853 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11270: index out of range: \00" @.str5854 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11271: index out of range: \00" @.str5855 = private unnamed_addr constant [2 x i8] c"/\00" @.str5856 = private unnamed_addr constant [4 x i8] c".po\00" @.str5857 = private unnamed_addr constant [2 x i8] c"(\00" @.str5858 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11285: index out of range: \00" @.str5859 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11285: index out of range: \00" @.str5860 = private unnamed_addr constant [73 x i8] c"@TextKey takes the prefix of the registry's text keys: @TextKey(\22steps\22)\00" @.str5861 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11286: index out of range: \00" @.str5862 = private unnamed_addr constant [2 x i8] c")\00" @.str5863 = private unnamed_addr constant [8 x i8] c"TextKey\00" @.str5864 = private unnamed_addr constant [2 x i8] c"[\00" @.str5865 = private unnamed_addr constant [19 x i8] c"i18n_parse_textkey\00" @.str5866 = private unnamed_addr constant [2 x i8] c"]\00" @.str5867 = private unnamed_addr constant [23 x i8] c"i18n_registry_declared\00" @.str5868 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11301: index out of range: \00" @.str5869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11301: index out of range: \00" @.str5870 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11302: index out of range: \00" @.str5871 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11306: index out of range: \00" @.str5872 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11307: index out of range: \00" @.str5873 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11307: index out of range: \00" @.str5874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11308: index out of range: \00" @.str5875 = private unnamed_addr constant [5 x i8] c"Text\00" @.str5876 = private unnamed_addr constant [4 x i8] c"Key\00" @.str5877 = private unnamed_addr constant [2 x i8] c".\00" @.str5878 = private unnamed_addr constant [14 x i8] c"i18n_fill_row\00" @.str5879 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11324: index out of range: \00" @.str5880 = private unnamed_addr constant [2 x i8] c".\00" @.str5881 = private unnamed_addr constant [14 x i8] c"i18n_fill_rec\00" @.str5882 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11344: index out of range: \00" @.str5883 = private unnamed_addr constant [2 x i8] c".\00" @.str5884 = private unnamed_addr constant [14 x i8] c"i18n_fill_val\00" @.str5885 = private unnamed_addr constant [2 x i8] c".\00" @.str5886 = private unnamed_addr constant [15 x i8] c"i18n_fill_list\00" @.str5887 = private unnamed_addr constant [2 x i8] c".\00" @.str5888 = private unnamed_addr constant [8 x i8] c"derived\00" @.str5889 = private unnamed_addr constant [1 x i8] c"\00" @.str5890 = private unnamed_addr constant [2 x i8] c":\00" @.str5891 = private unnamed_addr constant [10 x i8] c"i18n_site\00" @.str5892 = private unnamed_addr constant [2 x i8] c":\00" @.str5893 = private unnamed_addr constant [2 x i8] c":\00" @.str5894 = private unnamed_addr constant [9 x i8] c"template\00" @.str5895 = private unnamed_addr constant [5 x i8] c"data\00" @.str5896 = private unnamed_addr constant [5 x i8] c"code\00" @.str5897 = private unnamed_addr constant [3 x i8] c"k\22\00" @.str5898 = private unnamed_addr constant [9 x i8] c"i18n_use\00" @.str5899 = private unnamed_addr constant [32 x i8] c"\22: no en.po to check against - \00" @.str5900 = private unnamed_addr constant [33 x i8] c" is not there; no key is checked\00" @.str5901 = private unnamed_addr constant [3 x i8] c"k\22\00" @.str5902 = private unnamed_addr constant [2 x i8] c"\22\00" @.str5903 = private unnamed_addr constant [4 x i8] c"kn\22\00" @.str5904 = private unnamed_addr constant [2 x i8] c"\22\00" @.str5905 = private unnamed_addr constant [4 x i8] c"t('\00" @.str5906 = private unnamed_addr constant [3 x i8] c"')\00" @.str5907 = private unnamed_addr constant [11 x i8] c": the key \00" @.str5908 = private unnamed_addr constant [12 x i8] c" is not in \00" @.str5909 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11421: index out of range: \00" @.str5910 = private unnamed_addr constant [23 x i8] c" is a plural key, and \00" @.str5911 = private unnamed_addr constant [2 x i8] c":\00" @.str5912 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11422: index out of range: \00" @.str5913 = private unnamed_addr constant [8 x i8] c" gives \00" @.str5914 = private unnamed_addr constant [17 x i8] c" no msgid_plural\00" @.str5915 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11429: index out of range: \00" @.str5916 = private unnamed_addr constant [3 x i8] c": \00" @.str5917 = private unnamed_addr constant [11 x i8] c"i18n_holes\00" @.str5918 = private unnamed_addr constant [11 x i8] c" is given \00" @.str5919 = private unnamed_addr constant [31 x i8] c" value(s), and its English in \00" @.str5920 = private unnamed_addr constant [6 x i8] c" has \00" @.str5921 = private unnamed_addr constant [9 x i8] c" hole(s)\00" @.str5922 = private unnamed_addr constant [11 x i8] c"i18n_short\00" @.str5923 = private unnamed_addr constant [4 x i8] c"...\00" @.str5924 = private unnamed_addr constant [2 x i8] c" \00" @.str5925 = private unnamed_addr constant [15 x i8] c"English left: \00" @.str5926 = private unnamed_addr constant [18 x i8] c"i18n_english_left\00" @.str5927 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11471: index out of range: \00" @.str5928 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11471: index out of range: \00" @.str5929 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11493: index out of range: \00" @.str5930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11493: index out of range: \00" @.str5931 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11493: index out of range: \00" @.str5932 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11493: index out of range: \00" @.str5933 = private unnamed_addr constant [18 x i8] c"i18n_is_data_file\00" @.str5934 = private unnamed_addr constant [6 x i8] c".lres\00" @.str5935 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11513: index out of range: \00" @.str5936 = private unnamed_addr constant [3 x i8] c"tr\00" @.str5937 = private unnamed_addr constant [4 x i8] c"trf\00" @.str5938 = private unnamed_addr constant [4 x i8] c"trn\00" @.str5939 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11523: index out of range: \00" @.str5940 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11525: index out of range: \00" @.str5941 = private unnamed_addr constant [4 x i8] c"trn\00" @.str5942 = private unnamed_addr constant [7 x i8] c"trn(k\22\00" @.str5943 = private unnamed_addr constant [10 x i8] c"i18n_call\00" @.str5944 = private unnamed_addr constant [60 x i8] c"\22, ...): trn counts, so its key is a plural one - write kn\22\00" @.str5945 = private unnamed_addr constant [34 x i8] c"\22 (and give en.po a msgid_plural)\00" @.str5946 = private unnamed_addr constant [4 x i8] c"trn\00" @.str5947 = private unnamed_addr constant [5 x i8] c"(kn\22\00" @.str5948 = private unnamed_addr constant [54 x i8] c"\22, ...): a plural key needs its count - write trn(kn\22\00" @.str5949 = private unnamed_addr constant [11 x i8] c"\22, n, ...)\00" @.str5950 = private unnamed_addr constant [3 x i8] c"tr\00" @.str5951 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11536: index out of range: \00" @.str5952 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11555: index out of range: \00" @.str5953 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11557: index out of range: \00" @.str5954 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11558: index out of range: \00" @.str5955 = private unnamed_addr constant [2 x i8] c".\00" @.str5956 = private unnamed_addr constant [15 x i8] c"i18n_walk_data\00" @.str5957 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11558: index out of range: \00" @.str5958 = private unnamed_addr constant [17 x i8] c"i18n_permap_rows\00" @.str5959 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11575: index out of range: \00" @.str5960 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11576: index out of range: \00" @.str5961 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11577: index out of range: \00" @.str5962 = private unnamed_addr constant [6 x i8] c"maps.\00" @.str5963 = private unnamed_addr constant [2 x i8] c".\00" @.str5964 = private unnamed_addr constant [2 x i8] c".\00" @.str5965 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11577: index out of range: \00" @.str5966 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11584: index out of range: \00" @.str5967 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11594: index out of range: \00" @.str5968 = private unnamed_addr constant [2 x i8] c".\00" @.str5969 = private unnamed_addr constant [14 x i8] c"i18n_data_rec\00" @.str5970 = private unnamed_addr constant [59 x i8] c" (the derived key of a @Text field the row gives no value)\00" @.str5971 = private unnamed_addr constant [8 x i8] c"derived\00" @.str5972 = private unnamed_addr constant [59 x i8] c" (the derived key of a @Text field the row gives no value)\00" @.str5973 = private unnamed_addr constant [14 x i8] c"i18n_data_val\00" @.str5974 = private unnamed_addr constant [6 x i8] c" is \22\00" @.str5975 = private unnamed_addr constant [49 x i8] c"\22 in the data - its English goes to en.po under \00" @.str5976 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11630: index out of range: \00" @.str5977 = private unnamed_addr constant [2 x i8] c".\00" @.str5978 = private unnamed_addr constant [17 x i8] c"i18n_split_check\00" @.str5979 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11652: index out of range: \00" @.str5980 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11659: index out of range: \00" @.str5981 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11659: index out of range: \00" @.str5982 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11659: index out of range: \00" @.str5983 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11659: index out of range: \00" @.str5984 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11660: index out of range: \00" @.str5985 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11660: index out of range: \00" @.str5986 = private unnamed_addr constant [1 x i8] c"\00" @.str5987 = private unnamed_addr constant [3 x i8] c", \00" @.str5988 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11665: index out of range: \00" @.str5989 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11665: index out of range: \00" @.str5990 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11670: index out of range: \00" @.str5991 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11671: index out of range: \00" @.str5992 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11671: index out of range: \00" @.str5993 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11671: index out of range: \00" @.str5994 = private unnamed_addr constant [42 x i8] c" has no #. description, and its English \22\00" @.str5995 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11671: index out of range: \00" @.str5996 = private unnamed_addr constant [17 x i8] c"\22 is split into \00" @.str5997 = private unnamed_addr constant [8 x i8] c" keys (\00" @.str5998 = private unnamed_addr constant [62 x i8] c") - say where it appears, so a translator can tell them apart\00" @.str5999 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11696: index out of range: \00" @.str6000 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11697: index out of range: \00" @.str6001 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11697: index out of range: \00" @.str6002 = private unnamed_addr constant [8 x i8] c"xk_find\00" @.str6003 = private unnamed_addr constant [9 x i8] c"i18n_xml\00" @.str6004 = private unnamed_addr constant [4 x i8] c"!--\00" @.str6005 = private unnamed_addr constant [4 x i8] c"-->\00" @.str6006 = private unnamed_addr constant [2 x i8] c">\00" @.str6007 = private unnamed_addr constant [2 x i8] c">\00" @.str6008 = private unnamed_addr constant [22 x i8] c"a template's words (\22\00" @.str6009 = private unnamed_addr constant [8 x i8] c"xk_text\00" @.str6010 = 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" @.str6011 = private unnamed_addr constant [14 x i8] c"xk_words_from\00" @.str6012 = private unnamed_addr constant [7 x i8] c"xk_tag\00" @.str6013 = private unnamed_addr constant [10 x i8] c"translate\00" @.str6014 = private unnamed_addr constant [3 x i8] c"no\00" @.str6015 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11877: index out of range: \00" @.str6016 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11877: index out of range: \00" @.str6017 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:11877: index out of range: \00" @.str6018 = private unnamed_addr constant [6 x i8] c"class\00" @.str6019 = private unnamed_addr constant [3 x i8] c"id\00" @.str6020 = private unnamed_addr constant [4 x i8] c"src\00" @.str6021 = private unnamed_addr constant [6 x i8] c"style\00" @.str6022 = private unnamed_addr constant [5 x i8] c"icon\00" @.str6023 = private unnamed_addr constant [5 x i8] c"name\00" @.str6024 = private unnamed_addr constant [5 x i8] c"type\00" @.str6025 = private unnamed_addr constant [4 x i8] c"key\00" @.str6026 = private unnamed_addr constant [3 x i8] c"as\00" @.str6027 = private unnamed_addr constant [3 x i8] c"in\00" @.str6028 = private unnamed_addr constant [5 x i8] c"test\00" @.str6029 = private unnamed_addr constant [6 x i8] c"index\00" @.str6030 = private unnamed_addr constant [5 x i8] c"slot\00" @.str6031 = private unnamed_addr constant [7 x i8] c"export\00" @.str6032 = private unnamed_addr constant [6 x i8] c"color\00" @.str6033 = private unnamed_addr constant [3 x i8] c"bg\00" @.str6034 = private unnamed_addr constant [11 x i8] c"background\00" @.str6035 = private unnamed_addr constant [6 x i8] c"state\00" @.str6036 = private unnamed_addr constant [4 x i8] c"min\00" @.str6037 = private unnamed_addr constant [4 x i8] c"max\00" @.str6038 = private unnamed_addr constant [6 x i8] c"width\00" @.str6039 = private unnamed_addr constant [7 x i8] c"height\00" @.str6040 = private unnamed_addr constant [2 x i8] c"w\00" @.str6041 = private unnamed_addr constant [2 x i8] c"h\00" @.str6042 = private unnamed_addr constant [6 x i8] c"shade\00" @.str6043 = private unnamed_addr constant [5 x i8] c"rows\00" @.str6044 = private unnamed_addr constant [10 x i8] c"maxlength\00" @.str6045 = private unnamed_addr constant [8 x i8] c"checked\00" @.str6046 = private unnamed_addr constant [8 x i8] c"enabled\00" @.str6047 = private unnamed_addr constant [9 x i8] c"disabled\00" @.str6048 = private unnamed_addr constant [7 x i8] c"hidden\00" @.str6049 = private unnamed_addr constant [8 x i8] c"primary\00" @.str6050 = private unnamed_addr constant [9 x i8] c"selected\00" @.str6051 = private unnamed_addr constant [5 x i8] c"kind\00" @.str6052 = private unnamed_addr constant [10 x i8] c"translate\00" @.str6053 = private unnamed_addr constant [3 x i8] c"on\00" @.str6054 = private unnamed_addr constant [3 x i8] c"--\00" @.str6055 = private unnamed_addr constant [5 x i8] c"text\00" @.str6056 = private unnamed_addr constant [6 x i8] c"label\00" @.str6057 = private unnamed_addr constant [5 x i8] c"hint\00" @.str6058 = private unnamed_addr constant [6 x i8] c"title\00" @.str6059 = private unnamed_addr constant [8 x i8] c"caption\00" @.str6060 = private unnamed_addr constant [3 x i8] c"=\22\00" @.str6061 = private unnamed_addr constant [8 x i8] c"xk_attr\00" @.str6062 = private unnamed_addr constant [25 x i8] c"\22 in a template - write \00" @.str6063 = private unnamed_addr constant [41 x i8] c"=\22{t('key')}\22 and give en.po the English\00" @.str6064 = private unnamed_addr constant [8 x i8] c"xk_hole\00" @.str6065 = private unnamed_addr constant [2 x i8] c"'\00" @.str6066 = 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" @.str6067 = private unnamed_addr constant [10 x i8] c"xk_t_call\00" @.str6068 = private unnamed_addr constant [4 x i8] c"t()\00" @.str6069 = private unnamed_addr constant [4 x i8] c"val\00" @.str6070 = private unnamed_addr constant [8 x i8] c"new Val\00" @.str6071 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12077: index out of range: \00" @.str6072 = private unnamed_addr constant [9 x i8] c"cov_slot\00" @.str6073 = private unnamed_addr constant [3 x i8] c" \00" @.str6074 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str6075 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6076 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6077 = private unnamed_addr constant [13 x i8] c"emit_cov_hit\00" @.str6078 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6079 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6080 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6081 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6082 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6083 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12118: index out of range: \00" @.str6084 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12118: index out of range: \00" @.str6085 = private unnamed_addr constant [3 x i8] c"%t\00" @.str6086 = private unnamed_addr constant [12 x i8] c"emit_alloca\00" @.str6087 = private unnamed_addr constant [3 x i8] c" \00" @.str6088 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str6089 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6090 = private unnamed_addr constant [3 x i8] c"%t\00" @.str6091 = private unnamed_addr constant [5 x i8] c"nreg\00" @.str6092 = private unnamed_addr constant [4 x i8] c"lbl\00" @.str6093 = private unnamed_addr constant [4 x i8] c"int\00" @.str6094 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6095 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6096 = private unnamed_addr constant [7 x i8] c"entity\00" @.str6097 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6098 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6099 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str6100 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6101 = private unnamed_addr constant [5 x i8] c"long\00" @.str6102 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6103 = private unnamed_addr constant [6 x i8] c"float\00" @.str6104 = private unnamed_addr constant [6 x i8] c"float\00" @.str6105 = private unnamed_addr constant [7 x i8] c"double\00" @.str6106 = private unnamed_addr constant [7 x i8] c"double\00" @.str6107 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str6108 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6109 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6110 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6111 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str6112 = private unnamed_addr constant [5 x i8] c"i128\00" @.str6113 = private unnamed_addr constant [5 x i8] c"byte\00" @.str6114 = private unnamed_addr constant [3 x i8] c"i8\00" @.str6115 = private unnamed_addr constant [6 x i8] c"words\00" @.str6116 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str6117 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str6118 = private unnamed_addr constant [7 x i8] c"floats\00" @.str6119 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str6120 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6121 = private unnamed_addr constant [5 x i8] c"void\00" @.str6122 = private unnamed_addr constant [5 x i8] c"void\00" @.str6123 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6124 = private unnamed_addr constant [11 x i8] c"slice_elem\00" @.str6125 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12160: index out of range: \00" @.str6126 = private unnamed_addr constant [9 x i8] c"ix_start\00" @.str6127 = private unnamed_addr constant [16 x i8] c"new [][]pointer\00" @.str6128 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12212: index out of range: \00" @.str6129 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12213: index out of range: \00" @.str6130 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12213: index out of range: \00" @.str6131 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12218: index out of range: \00" @.str6132 = private unnamed_addr constant [8 x i8] c"ix_sync\00" @.str6133 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12223: index out of range: \00" @.str6134 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12223: index out of range: \00" @.str6135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12224: index out of range: \00" @.str6136 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12224: index out of range: \00" @.str6137 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12225: index out of range: \00" @.str6138 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12225: index out of range: \00" @.str6139 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12241: index out of range: \00" @.str6140 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12241: index out of range: \00" @.str6141 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12252: index out of range: \00" @.str6142 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str6143 = private unnamed_addr constant [10 x i8] c"layout_ty\00" @.str6144 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12262: index out of range: \00" @.str6145 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12267: index out of range: \00" @.str6146 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12267: index out of range: \00" @.str6147 = private unnamed_addr constant [4 x i8] c"int\00" @.str6148 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12277: index out of range: \00" @.str6149 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12293: index out of range: \00" @.str6150 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12298: index out of range: \00" @.str6151 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12301: index out of range: \00" @.str6152 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str6153 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str6154 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str6155 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str6156 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12319: index out of range: \00" @.str6157 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12324: index out of range: \00" @.str6158 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12329: index out of range: \00" @.str6159 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12336: index out of range: \00" @.str6160 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12337: index out of range: \00" @.str6161 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str6162 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12346: index out of range: \00" @.str6163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12362: index out of range: \00" @.str6164 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12367: index out of range: \00" @.str6165 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12381: index out of range: \00" @.str6166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12393: index out of range: \00" @.str6167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12394: index out of range: \00" @.str6168 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12401: index out of range: \00" @.str6169 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12416: index out of range: \00" @.str6170 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12432: index out of range: \00" @.str6171 = private unnamed_addr constant [2 x i8] c".\00" @.str6172 = private unnamed_addr constant [18 x i8] c"register_computed\00" @.str6173 = private unnamed_addr constant [2 x i8] c".\00" @.str6174 = private unnamed_addr constant [14 x i8] c"computed_expr\00" @.str6175 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12449: index out of range: \00" @.str6176 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12449: index out of range: \00" @.str6177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12455: index out of range: \00" @.str6178 = private unnamed_addr constant [3 x i8] c"of\00" @.str6179 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6180 = private unnamed_addr constant [5 x i8] c"make\00" @.str6181 = private unnamed_addr constant [5 x i8] c"zero\00" @.str6182 = private unnamed_addr constant [4 x i8] c"add\00" @.str6183 = private unnamed_addr constant [4 x i8] c"sub\00" @.str6184 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6185 = private unnamed_addr constant [6 x i8] c"along\00" @.str6186 = private unnamed_addr constant [5 x i8] c"step\00" @.str6187 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6188 = private unnamed_addr constant [4 x i8] c"Map\00" @.str6189 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str6190 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str6191 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str6192 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6193 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str6194 = private unnamed_addr constant [7 x i8] c"center\00" @.str6195 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6196 = private unnamed_addr constant [6 x i8] c"Input\00" @.str6197 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str6198 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6199 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12467: index out of range: \00" @.str6200 = private unnamed_addr constant [2 x i8] c"_\00" @.str6201 = private unnamed_addr constant [12 x i8] c"static_type\00" @.str6202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12481: index out of range: \00" @.str6203 = private unnamed_addr constant [3 x i8] c"[]\00" @.str6204 = private unnamed_addr constant [7 x i8] c"string\00" @.str6205 = private unnamed_addr constant [5 x i8] c"long\00" @.str6206 = private unnamed_addr constant [4 x i8] c"int\00" @.str6207 = private unnamed_addr constant [6 x i8] c"float\00" @.str6208 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6209 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6210 = private unnamed_addr constant [17 x i8] c"register_onspawn\00" @.str6211 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12505: index out of range: \00" @.str6212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12505: index out of range: \00" @.str6213 = private unnamed_addr constant [19 x i8] c"register_ondespawn\00" @.str6214 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12523: index out of range: \00" @.str6215 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12523: index out of range: \00" @.str6216 = private unnamed_addr constant [18 x i8] c"register_onattach\00" @.str6217 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12531: index out of range: \00" @.str6218 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12531: index out of range: \00" @.str6219 = private unnamed_addr constant [18 x i8] c"register_ondetach\00" @.str6220 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12544: index out of range: \00" @.str6221 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12544: index out of range: \00" @.str6222 = private unnamed_addr constant [18 x i8] c"register_onenable\00" @.str6223 = private unnamed_addr constant [19 x i8] c"register_ondisable\00" @.str6224 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12556: index out of range: \00" @.str6225 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12556: index out of range: \00" @.str6226 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12561: index out of range: \00" @.str6227 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12561: index out of range: \00" @.str6228 = private unnamed_addr constant [15 x i8] c"register_event\00" @.str6229 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12578: index out of range: \00" @.str6230 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12578: index out of range: \00" @.str6231 = private unnamed_addr constant [18 x i8] c"register_onlisten\00" @.str6232 = private unnamed_addr constant [7 x i8] c"entity\00" @.str6233 = private unnamed_addr constant [4 x i8] c"int\00" @.str6234 = private unnamed_addr constant [13 x i8] c"ensure_event\00" @.str6235 = private unnamed_addr constant [7 x i8] c"reason\00" @.str6236 = private unnamed_addr constant [4 x i8] c"int\00" @.str6237 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12610: index out of range: \00" @.str6238 = private unnamed_addr constant [19 x i8] c"note_toggled_layer\00" @.str6239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12615: index out of range: \00" @.str6240 = private unnamed_addr constant [9 x i8] c"loc_push\00" @.str6241 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12635: index out of range: \00" @.str6242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12635: index out of range: \00" @.str6243 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12635: index out of range: \00" @.str6244 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12635: index out of range: \00" @.str6245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12638: index out of range: \00" @.str6246 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12642: index out of range: \00" @.str6247 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12649: index out of range: \00" @.str6248 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12649: index out of range: \00" @.str6249 = private unnamed_addr constant [2 x i8] c"'\00" @.str6250 = private unnamed_addr constant [21 x i8] c"loc_check_redeclared\00" @.str6251 = private unnamed_addr constant [34 x i8] c"' is declared twice in this block\00" @.str6252 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12653: index out of range: \00" @.str6253 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12656: index out of range: \00" @.str6254 = private unnamed_addr constant [12 x i8] c"fence_reset\00" @.str6255 = private unnamed_addr constant [2 x i8] c"?\00" @.str6256 = private unnamed_addr constant [5 x i8] c"@On(\00" @.str6257 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12725: index out of range: \00" @.str6258 = private unnamed_addr constant [18 x i8] c"fence_owner_index\00" @.str6259 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12732: index out of range: \00" @.str6260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12732: index out of range: \00" @.str6261 = private unnamed_addr constant [17 x i8] c"fence_kind_const\00" @.str6262 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12735: index out of range: \00" @.str6263 = private unnamed_addr constant [2 x i8] c"?\00" @.str6264 = private unnamed_addr constant [10 x i8] c"emit_site\00" @.str6265 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6266 = private unnamed_addr constant [16 x i8] c", ptr @lp_site\0A\00" @.str6267 = private unnamed_addr constant [14 x i8] c"call ptr @lp_\00" @.str6268 = private unnamed_addr constant [21 x i8] c"call ptr @lp_malloc(\00" @.str6269 = private unnamed_addr constant [6 x i8] c"alloc\00" @.str6270 = private unnamed_addr constant [21 x i8] c"call ptr @lp_calloc(\00" @.str6271 = private unnamed_addr constant [11 x i8] c"slice data\00" @.str6272 = private unnamed_addr constant [22 x i8] c"call ptr @lp_realloc(\00" @.str6273 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6274 = private unnamed_addr constant [25 x i8] c"call ptr @lp_str_concat(\00" @.str6275 = private unnamed_addr constant [7 x i8] c"concat\00" @.str6276 = private unnamed_addr constant [22 x i8] c"call ptr @lp_int_str(\00" @.str6277 = private unnamed_addr constant [23 x i8] c"call ptr @lp_long_str(\00" @.str6278 = private unnamed_addr constant [10 x i8] c"string(n)\00" @.str6279 = private unnamed_addr constant [21 x i8] c"call ptr @lp_fp_str(\00" @.str6280 = private unnamed_addr constant [10 x i8] c"string(x)\00" @.str6281 = private unnamed_addr constant [24 x i8] c"call ptr @lp_str_slice(\00" @.str6282 = private unnamed_addr constant [10 x i8] c"substring\00" @.str6283 = private unnamed_addr constant [19 x i8] c"call ptr @lp_text_\00" @.str6284 = private unnamed_addr constant [5 x i8] c"Text\00" @.str6285 = private unnamed_addr constant [21 x i8] c"call ptr @lp_intern(\00" @.str6286 = private unnamed_addr constant [7 x i8] c"intern\00" @.str6287 = private unnamed_addr constant [28 x i8] c" store i8 1, ptr @lp_want\0A\00" @.str6288 = private unnamed_addr constant [14 x i8] c"call ptr @lp_\00" @.str6289 = private unnamed_addr constant [13 x i8] c"fence_callee\00" @.str6290 = private unnamed_addr constant [4 x i8] c"off\00" @.str6291 = private unnamed_addr constant [6 x i8] c"count\00" @.str6292 = private unnamed_addr constant [5 x i8] c"warn\00" @.str6293 = private unnamed_addr constant [5 x i8] c"fail\00" @.str6294 = private unnamed_addr constant [44 x i8] c"the fence is off, count, warn or fail, not \00" @.str6295 = private unnamed_addr constant [14 x i8] c"fence_mode_of\00" @.str6296 = private unnamed_addr constant [9 x i8] c"--fence=\00" @.str6297 = private unnamed_addr constant [11 x i8] c"fence_flag\00" @.str6298 = private unnamed_addr constant [14 x i8] c"--fence-warm=\00" @.str6299 = private unnamed_addr constant [16 x i8] c"--fence-census=\00" @.str6300 = private unnamed_addr constant [8 x i8] c"--arena\00" @.str6301 = private unnamed_addr constant [15 x i8] c"--arena-strict\00" @.str6302 = private unnamed_addr constant [2 x i8] c"/\00" @.str6303 = private unnamed_addr constant [15 x i8] c"fence_manifest\00" @.str6304 = private unnamed_addr constant [14 x i8] c"package.ludic\00" @.str6305 = private unnamed_addr constant [3 x i8] c"..\00" @.str6306 = private unnamed_addr constant [4 x i8] c"/..\00" @.str6307 = private unnamed_addr constant [20 x i8] c"fence_manifest_read\00" @.str6308 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12850: index out of range: \00" @.str6309 = private unnamed_addr constant [6 x i8] c"fence\00" @.str6310 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12850: index out of range: \00" @.str6311 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12851: index out of range: \00" @.str6312 = private unnamed_addr constant [6 x i8] c"fence\00" @.str6313 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12851: index out of range: \00" @.str6314 = private unnamed_addr constant [5 x i8] c"warm\00" @.str6315 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12851: index out of range: \00" @.str6316 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12852: index out of range: \00" @.str6317 = private unnamed_addr constant [6 x i8] c"fence\00" @.str6318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12852: index out of range: \00" @.str6319 = private unnamed_addr constant [7 x i8] c"census\00" @.str6320 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12852: index out of range: \00" @.str6321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12853: index out of range: \00" @.str6322 = private unnamed_addr constant [6 x i8] c"arena\00" @.str6323 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12853: index out of range: \00" @.str6324 = private unnamed_addr constant [3 x i8] c"on\00" @.str6325 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12854: index out of range: \00" @.str6326 = private unnamed_addr constant [6 x i8] c"arena\00" @.str6327 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12854: index out of range: \00" @.str6328 = private unnamed_addr constant [7 x i8] c"strict\00" @.str6329 = private unnamed_addr constant [5 x i8] c"play\00" @.str6330 = private unnamed_addr constant [7 x i8] c"rewarm\00" @.str6331 = private unnamed_addr constant [8 x i8] c"settled\00" @.str6332 = private unnamed_addr constant [5 x i8] c"over\00" @.str6333 = private unnamed_addr constant [5 x i8] c"scan\00" @.str6334 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6335 = private unnamed_addr constant [5 x i8] c"kept\00" @.str6336 = private unnamed_addr constant [11 x i8] c"bad_frames\00" @.str6337 = private unnamed_addr constant [5 x i8] c"kept\00" @.str6338 = private unnamed_addr constant [24 x i8] c"call i64 @lp_mem_kept()\00" @.str6339 = private unnamed_addr constant [5 x i8] c"long\00" @.str6340 = private unnamed_addr constant [11 x i8] c"bad_frames\00" @.str6341 = private unnamed_addr constant [30 x i8] c"call i64 @lp_mem_bad_frames()\00" @.str6342 = private unnamed_addr constant [5 x i8] c"long\00" @.str6343 = private unnamed_addr constant [5 x i8] c"scan\00" @.str6344 = private unnamed_addr constant [24 x i8] c"call i64 @lp_mem_scan()\00" @.str6345 = private unnamed_addr constant [5 x i8] c"long\00" @.str6346 = private unnamed_addr constant [7 x i8] c"rewarm\00" @.str6347 = private unnamed_addr constant [28 x i8] c" call void @lp_mem_play()\0A\00" @.str6348 = private unnamed_addr constant [2 x i8] c"0\00" @.str6349 = private unnamed_addr constant [5 x i8] c"void\00" @.str6350 = private unnamed_addr constant [5 x i8] c"over\00" @.str6351 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12870: index out of range: \00" @.str6352 = private unnamed_addr constant [30 x i8] c" call void @lp_cap_over(ptr \00" @.str6353 = private unnamed_addr constant [18 x i8] c"emit_mem_fence_ns\00" @.str6354 = private unnamed_addr constant [17 x i8] c", i32 0, i32 0)\0A\00" @.str6355 = private unnamed_addr constant [2 x i8] c"0\00" @.str6356 = private unnamed_addr constant [5 x i8] c"void\00" @.str6357 = private unnamed_addr constant [21 x i8] c" call void @lp_mem_\00" @.str6358 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str6359 = private unnamed_addr constant [2 x i8] c"0\00" @.str6360 = private unnamed_addr constant [5 x i8] c"void\00" @.str6361 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str6362 = private unnamed_addr constant [12 x i8] c"fence_table\00" @.str6363 = private unnamed_addr constant [4 x i8] c" x \00" @.str6364 = private unnamed_addr constant [4 x i8] c"] [\00" @.str6365 = private unnamed_addr constant [3 x i8] c", \00" @.str6366 = private unnamed_addr constant [2 x i8] c" \00" @.str6367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12883: index out of range: \00" @.str6368 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str6369 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str6370 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str6371 = private unnamed_addr constant [60 x i8] c"declare extern_weak void @malloc_zone_statistics(ptr, ptr)\0A\00" @.str6372 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str6373 = private unnamed_addr constant [2 x i8] c"0\00" @.str6374 = private unnamed_addr constant [2 x i8] c"1\00" @.str6375 = private unnamed_addr constant [23 x i8] c"@lp_ardef = global i8 \00" @.str6376 = private unnamed_addr constant [19 x i8] c"emit_fence_runtime\00" @.str6377 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6378 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12907: index out of range: \00" @.str6379 = private unnamed_addr constant [10 x i8] c"(runtime)\00" @.str6380 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12907: index out of range: \00" @.str6381 = private unnamed_addr constant [10 x i8] c"(no site)\00" @.str6382 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12907: index out of range: \00" @.str6383 = private unnamed_addr constant [8 x i8] c"unsited\00" @.str6384 = private unnamed_addr constant [2 x i8] c"4\00" @.str6385 = private unnamed_addr constant [22 x i8] c"@lp_fdef = global i8 \00" @.str6386 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6387 = private unnamed_addr constant [23 x i8] c"@lp_warm = global i64 \00" @.str6388 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6389 = private unnamed_addr constant [34 x i8] c"@lp_census_def = global ptr null\0A\00" @.str6390 = private unnamed_addr constant [29 x i8] c"@lp_census_def = global ptr \00" @.str6391 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6392 = private unnamed_addr constant [25 x i8] c"@lp_site_n = global i32 \00" @.str6393 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6394 = private unnamed_addr constant [12 x i8] c"@lp_site_fn\00" @.str6395 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6396 = private unnamed_addr constant [14 x i8] c"@lp_site_file\00" @.str6397 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6398 = private unnamed_addr constant [14 x i8] c"@lp_site_kind\00" @.str6399 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6400 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12922: index out of range: \00" @.str6401 = private unnamed_addr constant [14 x i8] c"@lp_site_line\00" @.str6402 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6403 = private unnamed_addr constant [25 x i8] c"@lp_site_live = global [\00" @.str6404 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6405 = private unnamed_addr constant [25 x i8] c"@lp_site_mark = global [\00" @.str6406 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6407 = private unnamed_addr constant [26 x i8] c"@lp_site_stamp = global [\00" @.str6408 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6409 = private unnamed_addr constant [25 x i8] c"@lp_site_base = global [\00" @.str6410 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6411 = private unnamed_addr constant [25 x i8] c"@lp_site_scan = global [\00" @.str6412 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6413 = private unnamed_addr constant [26 x i8] c"@lp_site_dlive = global [\00" @.str6414 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6415 = private unnamed_addr constant [26 x i8] c"@lp_site_dbase = global [\00" @.str6416 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6417 = private unnamed_addr constant [24 x i8] c"@lp_site_dhw = global [\00" @.str6418 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6419 = private unnamed_addr constant [26 x i8] c"@lp_site_drise = global [\00" @.str6420 = private unnamed_addr constant [25 x i8] c" x i64] zeroinitializer\0A\00" @.str6421 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12935: index out of range: \00" @.str6422 = private unnamed_addr constant [15 x i8] c"@lp_site_owner\00" @.str6423 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6424 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12939: index out of range: \00" @.str6425 = private unnamed_addr constant [5 x i8] c"null\00" @.str6426 = private unnamed_addr constant [15 x i8] c"@lp_owner_name\00" @.str6427 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6428 = private unnamed_addr constant [26 x i8] c"@lp_nowners = global i32 \00" @.str6429 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6430 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str6431 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12945: index out of range: \00" @.str6432 = private unnamed_addr constant [5 x i8] c"null\00" @.str6433 = private unnamed_addr constant [10 x i8] c"@lp_roots\00" @.str6434 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6435 = private unnamed_addr constant [25 x i8] c"@lp_nroots = global i32 \00" @.str6436 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6437 = private unnamed_addr constant [23 x i8] c"@lp_site_ra = global [\00" @.str6438 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str6439 = private unnamed_addr constant [2 x i8] c".\00" @.str6440 = private unnamed_addr constant [13 x i8] c"fence_cap_of\00" @.str6441 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12961: index out of range: \00" @.str6442 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:12963: index out of range: \00" @.str6443 = private unnamed_addr constant [25 x i8] c"@lp_site = global i32 0\0A\00" @.str6444 = private unnamed_addr constant [24 x i8] c"@lp_want = global i8 0\0A\00" @.str6445 = private unnamed_addr constant [25 x i8] c"@lp_ar_on = global i8 0\0A\00" @.str6446 = private unnamed_addr constant [28 x i8] c"@lp_ar_tried = global i8 0\0A\00" @.str6447 = private unnamed_addr constant [26 x i8] c"@lp_ar_lo = global i64 0\0A\00" @.str6448 = private unnamed_addr constant [26 x i8] c"@lp_ar_hi = global i64 0\0A\00" @.str6449 = private unnamed_addr constant [27 x i8] c"@lp_ar_cur = global i64 0\0A\00" @.str6450 = private unnamed_addr constant [27 x i8] c"@lp_ar_end = global i64 0\0A\00" @.str6451 = private unnamed_addr constant [29 x i8] c"@lp_ar_which = global i64 0\0A\00" @.str6452 = private unnamed_addr constant [28 x i8] c"@lp_ar_half = global i64 0\0A\00" @.str6453 = private unnamed_addr constant [31 x i8] c"@lp_ar_main = global ptr null\0A\00" @.str6454 = private unnamed_addr constant [27 x i8] c"@lp_ar_hw0 = global i64 0\0A\00" @.str6455 = private unnamed_addr constant [27 x i8] c"@lp_ar_hw1 = global i64 0\0A\00" @.str6456 = private unnamed_addr constant [28 x i8] c"@lp_ar_check = global i8 0\0A\00" @.str6457 = private unnamed_addr constant [26 x i8] c"@lp_fdecl = global i32 0\0A\00" @.str6458 = private unnamed_addr constant [26 x i8] c"@lp_dlive = global i64 0\0A\00" @.str6459 = private unnamed_addr constant [27 x i8] c"@lp_mdlive = global i64 0\0A\00" @.str6460 = private unnamed_addr constant [27 x i8] c"@lp_sdlive = global i64 0\0A\00" @.str6461 = private unnamed_addr constant [27 x i8] c"@lp_dwin = global i64 600\0A\00" @.str6462 = private unnamed_addr constant [26 x i8] c"@lp_drise = global i64 6\0A\00" @.str6463 = private unnamed_addr constant [25 x i8] c"@lp_dunb = global i64 0\0A\00" @.str6464 = private unnamed_addr constant [22 x i8] c"@lp_ft = global i8 0\0A\00" @.str6465 = private unnamed_addr constant [22 x i8] c"@lp_fm = global i8 0\0A\00" @.str6466 = private unnamed_addr constant [22 x i8] c"@lp_fj = global i8 0\0A\00" @.str6467 = private unnamed_addr constant [23 x i8] c"@lp_fl = global i32 0\0A\00" @.str6468 = private unnamed_addr constant [27 x i8] c"@lp_tab = global ptr null\0A\00" @.str6469 = private unnamed_addr constant [28 x i8] c"@lp_tabmask = global i64 0\0A\00" @.str6470 = private unnamed_addr constant [25 x i8] c"@lp_tabn = global i64 0\0A\00" @.str6471 = private unnamed_addr constant [27 x i8] c"@lp_tabmax = global i64 0\0A\00" @.str6472 = private unnamed_addr constant [25 x i8] c"@lp_live = global i64 0\0A\00" @.str6473 = private unnamed_addr constant [24 x i8] c"@lp_pre = global i64 0\0A\00" @.str6474 = private unnamed_addr constant [25 x i8] c"@lp_made = global i64 0\0A\00" @.str6475 = private unnamed_addr constant [26 x i8] c"@lp_freed = global i64 0\0A\00" @.str6476 = private unnamed_addr constant [25 x i8] c"@lp_over = global i64 0\0A\00" @.str6477 = private unnamed_addr constant [27 x i8] c"@lp_overrep = global i8 0\0A\00" @.str6478 = private unnamed_addr constant [26 x i8] c"@lp_frame = global i64 0\0A\00" @.str6479 = private unnamed_addr constant [25 x i8] c"@lp_flat = global i64 0\0A\00" @.str6480 = private unnamed_addr constant [26 x i8] c"@lp_playf = global i64 0\0A\00" @.str6481 = private unnamed_addr constant [30 x i8] c"@lp_warm_max = global i64 -1\0A\00" @.str6482 = private unnamed_addr constant [25 x i8] c"@lp_fauto = global i8 1\0A\00" @.str6483 = private unnamed_addr constant [30 x i8] c"@lp_autoplay = global i64 -1\0A\00" @.str6484 = private unnamed_addr constant [26 x i8] c"@lp_mlive = global i64 0\0A\00" @.str6485 = private unnamed_addr constant [25 x i8] c"@lp_mpre = global i64 0\0A\00" @.str6486 = private unnamed_addr constant [26 x i8] c"@lp_mmade = global i64 0\0A\00" @.str6487 = private unnamed_addr constant [27 x i8] c"@lp_mfreed = global i64 0\0A\00" @.str6488 = private unnamed_addr constant [26 x i8] c"@lp_slive = global i64 0\0A\00" @.str6489 = private unnamed_addr constant [25 x i8] c"@lp_spre = global i64 0\0A\00" @.str6490 = private unnamed_addr constant [48 x i8] c"@lp_touch = global [512 x i32] zeroinitializer\0A\00" @.str6491 = private unnamed_addr constant [27 x i8] c"@lp_ntouch = global i32 0\0A\00" @.str6492 = private unnamed_addr constant [26 x i8] c"@lp_fkept = global i64 0\0A\00" @.str6493 = private unnamed_addr constant [25 x i8] c"@lp_fbad = global i64 0\0A\00" @.str6494 = private unnamed_addr constant [28 x i8] c"@lp_fjudged = global i64 0\0A\00" @.str6495 = private unnamed_addr constant [29 x i8] c"@lp_scan_at = global i64 -2\0A\00" @.str6496 = private unnamed_addr constant [33 x i8] c"@lp_visit_set = global ptr null\0A\00" @.str6497 = private unnamed_addr constant [26 x i8] c"@lp_vmask = global i64 0\0A\00" @.str6498 = private unnamed_addr constant [26 x i8] c"@lp_wl = global ptr null\0A\00" @.str6499 = private unnamed_addr constant [24 x i8] c"@lp_wln = global i64 0\0A\00" @.str6500 = private unnamed_addr constant [26 x i8] c"@lp_wlcap = global i64 0\0A\00" @.str6501 = private unnamed_addr constant [31 x i8] c"@lp_scan_bytes = global i64 0\0A\00" @.str6502 = private unnamed_addr constant [25 x i8] c"@lp_capn = global i64 0\0A\00" @.str6503 = private unnamed_addr constant [25 x i8] c"@lp_zset = global i64 0\0A\00" @.str6504 = private unnamed_addr constant [25 x i8] c"@lp_jset = global i64 0\0A\00" @.str6505 = private unnamed_addr constant [25 x i8] c"@lp_vset = global i64 0\0A\00" @.str6506 = private unnamed_addr constant [30 x i8] c"@lp_census = global ptr null\0A\00" @.str6507 = private unnamed_addr constant [43 x i8] c"declare extern_weak i64 @malloc_size(ptr)\0A\00" @.str6508 = private unnamed_addr constant [37 x i8] c"declare i32 @dprintf(i32, ptr, ...)\0A\00" @.str6509 = private unnamed_addr constant [42 x i8] c"declare i32 @_Unwind_Backtrace(ptr, ptr)\0A\00" @.str6510 = private unnamed_addr constant [33 x i8] c"declare i64 @_Unwind_GetIP(ptr)\0A\00" @.str6511 = private unnamed_addr constant [31 x i8] c"declare i32 @dladdr(ptr, ptr)\0A\00" @.str6512 = private unnamed_addr constant [30 x i8] c"declare ptr @dlsym(ptr, ptr)\0A\00" @.str6513 = private unnamed_addr constant [29 x i8] c"declare ptr @pthread_self()\0A\00" @.str6514 = 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" @.str6515 = 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" @.str6516 = 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" @.str6517 = 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" @.str6518 = private unnamed_addr constant [66 x i8] c"@.lpf_dev = private unnamed_addr constant [8 x i8] c\22R3D_DEV\5C00\22\0A\00" @.str6519 = private unnamed_addr constant [62 x i8] c"@.lpf_off = private unnamed_addr constant [4 x i8] c\22off\5C00\22\0A\00" @.str6520 = private unnamed_addr constant [66 x i8] c"@.lpf_count = private unnamed_addr constant [6 x i8] c\22count\5C00\22\0A\00" @.str6521 = private unnamed_addr constant [64 x i8] c"@.lpf_warn = private unnamed_addr constant [5 x i8] c\22warn\5C00\22\0A\00" @.str6522 = private unnamed_addr constant [64 x i8] c"@.lpf_fail = private unnamed_addr constant [5 x i8] c\22fail\5C00\22\0A\00" @.str6523 = 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" @.str6524 = 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" @.str6525 = 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" @.str6526 = 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" @.str6527 = private unnamed_addr constant [71 x i8] c"@.lpf_arena = private unnamed_addr constant [10 x i8] c\22R3D_ARENA\5C00\22\0A\00" @.str6528 = 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" @.str6529 = 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" @.str6530 = 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" @.str6531 = 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" @.str6532 = 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" @.str6533 = 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" @.str6534 = 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" @.str6535 = 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" @.str6536 = 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" @.str6537 = 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" @.str6538 = private unnamed_addr constant [58 x i8] c"@.lpf_a = private unnamed_addr constant [2 x i8] c\22a\5C00\22\0A\00" @.str6539 = 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" @.str6540 = 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" @.str6541 = 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" @.str6542 = 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" @.str6543 = 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" @.str6544 = 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" @.str6545 = 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" @.str6546 = 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" @.str6547 = private unnamed_addr constant [58 x i8] c"@.lpf_w = private unnamed_addr constant [2 x i8] c\22w\5C00\22\0A\00" @.str6548 = 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" @.str6549 = 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" @.str6550 = 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" @.str6551 = 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" @.str6552 = 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" @.str6553 = 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" @.str6554 = 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" @.str6555 = 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" @.str6556 = 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" @.str6557 = 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" @.str6558 = 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" @.str6559 = 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" @.str6560 = private unnamed_addr constant [61 x i8] c"@.lpf_lp = private unnamed_addr constant [4 x i8] c\22lp_\5C00\22\0A\00" @.str6561 = 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" @.str6562 = 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" @.str6563 = 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" @.str6564 = 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" @.str6565 = 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" @.str6566 = 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" @.str6567 = 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" @.str6568 = 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" @.str6569 = private unnamed_addr constant [74 x i8] c"; frame's scratch arena, and lp_free hands an arena block back to nobody\0A\00" @.str6570 = private unnamed_addr constant [40 x i8] c"define internal ptr @lp_heap(i64 %n) {\0A\00" @.str6571 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6572 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6573 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str6574 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str6575 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str6576 = private unnamed_addr constant [38 x i8] c" %p = tail call ptr @malloc(i64 %n)\0A\00" @.str6577 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6578 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str6579 = private unnamed_addr constant [33 x i8] c" %q = call ptr @malloc(i64 %n)\0A\00" @.str6580 = private unnamed_addr constant [38 x i8] c" call void @lp_fadd(ptr %q, i64 %n)\0A\00" @.str6581 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str6582 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6583 = private unnamed_addr constant [33 x i8] c"define ptr @lp_malloc(i64 %n) {\0A\00" @.str6584 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6585 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6586 = private unnamed_addr constant [30 x i8] c" %w = load i8, ptr @lp_want\0A\00" @.str6587 = private unnamed_addr constant [21 x i8] c" %o = or i8 %t, %w\0A\00" @.str6588 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %o, 0\0A\00" @.str6589 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str6590 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str6591 = private unnamed_addr constant [38 x i8] c" %p = tail call ptr @malloc(i64 %n)\0A\00" @.str6592 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6593 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str6594 = private unnamed_addr constant [26 x i8] c" %wq = icmp ne i8 %w, 0\0A\00" @.str6595 = private unnamed_addr constant [42 x i8] c" br i1 %wq, label %scratch, label %heap\0A\00" @.str6596 = private unnamed_addr constant [10 x i8] c"scratch:\0A\00" @.str6597 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str6598 = private unnamed_addr constant [37 x i8] c" %s = call ptr @lp_scratch(i64 %n)\0A\00" @.str6599 = private unnamed_addr constant [14 x i8] c" ret ptr %s\0A\00" @.str6600 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str6601 = private unnamed_addr constant [33 x i8] c" %q = call ptr @malloc(i64 %n)\0A\00" @.str6602 = private unnamed_addr constant [38 x i8] c" call void @lp_fadd(ptr %q, i64 %n)\0A\00" @.str6603 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str6604 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6605 = private unnamed_addr constant [41 x i8] c"define ptr @lp_calloc(i64 %n, i64 %s) {\0A\00" @.str6606 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6607 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6608 = private unnamed_addr constant [30 x i8] c" %w = load i8, ptr @lp_want\0A\00" @.str6609 = private unnamed_addr constant [21 x i8] c" %o = or i8 %t, %w\0A\00" @.str6610 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %o, 0\0A\00" @.str6611 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str6612 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str6613 = private unnamed_addr constant [46 x i8] c" %p = tail call ptr @calloc(i64 %n, i64 %s)\0A\00" @.str6614 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6615 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str6616 = private unnamed_addr constant [23 x i8] c" %b = mul i64 %n, %s\0A\00" @.str6617 = private unnamed_addr constant [26 x i8] c" %wq = icmp ne i8 %w, 0\0A\00" @.str6618 = private unnamed_addr constant [42 x i8] c" br i1 %wq, label %scratch, label %heap\0A\00" @.str6619 = private unnamed_addr constant [10 x i8] c"scratch:\0A\00" @.str6620 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str6621 = private unnamed_addr constant [37 x i8] c" %z = call ptr @lp_scratch(i64 %b)\0A\00" @.str6622 = private unnamed_addr constant [43 x i8] c" call ptr @memset(ptr %z, i32 0, i64 %b)\0A\00" @.str6623 = private unnamed_addr constant [14 x i8] c" ret ptr %z\0A\00" @.str6624 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str6625 = private unnamed_addr constant [41 x i8] c" %q = call ptr @calloc(i64 %n, i64 %s)\0A\00" @.str6626 = private unnamed_addr constant [38 x i8] c" call void @lp_fadd(ptr %q, i64 %b)\0A\00" @.str6627 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str6628 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6629 = private unnamed_addr constant [42 x i8] c"define ptr @lp_realloc(ptr %o, i64 %n) {\0A\00" @.str6630 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6631 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6632 = private unnamed_addr constant [30 x i8] c" %w = load i8, ptr @lp_want\0A\00" @.str6633 = private unnamed_addr constant [31 x i8] c" %x = ptrtoint ptr %o to i64\0A\00" @.str6634 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str6635 = private unnamed_addr constant [33 x i8] c" %hi = load i64, ptr @lp_ar_hi\0A\00" @.str6636 = private unnamed_addr constant [30 x i8] c" %ge = icmp uge i64 %x, %lo\0A\00" @.str6637 = private unnamed_addr constant [30 x i8] c" %lt = icmp ult i64 %x, %hi\0A\00" @.str6638 = private unnamed_addr constant [27 x i8] c" %inar = and i1 %ge, %lt\0A\00" @.str6639 = private unnamed_addr constant [22 x i8] c" %o1 = or i8 %t, %w\0A\00" @.str6640 = private unnamed_addr constant [29 x i8] c" %some = icmp ne i8 %o1, 0\0A\00" @.str6641 = private unnamed_addr constant [28 x i8] c" %on = or i1 %some, %inar\0A\00" @.str6642 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %slow, label %fast\0A\00" @.str6643 = private unnamed_addr constant [7 x i8] c"fast:\0A\00" @.str6644 = private unnamed_addr constant [47 x i8] c" %p = tail call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str6645 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str6646 = private unnamed_addr constant [7 x i8] c"slow:\0A\00" @.str6647 = private unnamed_addr constant [38 x i8] c" %in = call i1 @lp_in_arena(ptr %o)\0A\00" @.str6648 = private unnamed_addr constant [26 x i8] c" %wq = icmp ne i8 %w, 0\0A\00" @.str6649 = private unnamed_addr constant [26 x i8] c" %move = or i1 %in, %wq\0A\00" @.str6650 = private unnamed_addr constant [44 x i8] c" br i1 %move, label %scratch, label %heap\0A\00" @.str6651 = private unnamed_addr constant [10 x i8] c"scratch:\0A\00" @.str6652 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str6653 = private unnamed_addr constant [37 x i8] c" %q = call ptr @lp_scratch(i64 %n)\0A\00" @.str6654 = private unnamed_addr constant [32 x i8] c" %none = icmp eq ptr %o, null\0A\00" @.str6655 = private unnamed_addr constant [41 x i8] c" br i1 %none, label %done, label %copy\0A\00" @.str6656 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str6657 = private unnamed_addr constant [43 x i8] c" br i1 %in, label %oldar, label %oldheap\0A\00" @.str6658 = private unnamed_addr constant [8 x i8] c"oldar:\0A\00" @.str6659 = private unnamed_addr constant [43 x i8] c" %hp = getelementptr i8, ptr %o, i64 -16\0A\00" @.str6660 = private unnamed_addr constant [28 x i8] c" %osz = load i64, ptr %hp\0A\00" @.str6661 = private unnamed_addr constant [16 x i8] c" br label %cp\0A\00" @.str6662 = private unnamed_addr constant [10 x i8] c"oldheap:\0A\00" @.str6663 = private unnamed_addr constant [41 x i8] c" %has = icmp ne ptr @malloc_size, null\0A\00" @.str6664 = private unnamed_addr constant [37 x i8] c" br i1 %has, label %msz, label %cp\0A\00" @.str6665 = private unnamed_addr constant [6 x i8] c"msz:\0A\00" @.str6666 = private unnamed_addr constant [40 x i8] c" %hsz = call i64 @malloc_size(ptr %o)\0A\00" @.str6667 = private unnamed_addr constant [16 x i8] c" br label %cp\0A\00" @.str6668 = private unnamed_addr constant [5 x i8] c"cp:\0A\00" @.str6669 = private unnamed_addr constant [68 x i8] c" %old = phi i64 [ %osz, %oldar ], [ 0, %oldheap ], [ %hsz, %msz ]\0A\00" @.str6670 = private unnamed_addr constant [33 x i8] c" %less = icmp ult i64 %old, %n\0A\00" @.str6671 = private unnamed_addr constant [42 x i8] c" %c = select i1 %less, i64 %old, i64 %n\0A\00" @.str6672 = private unnamed_addr constant [44 x i8] c" call ptr @memcpy(ptr %q, ptr %o, i64 %c)\0A\00" @.str6673 = private unnamed_addr constant [41 x i8] c" br i1 %in, label %done, label %givebk\0A\00" @.str6674 = private unnamed_addr constant [9 x i8] c"givebk:\0A\00" @.str6675 = private unnamed_addr constant [30 x i8] c" call void @lp_free(ptr %o)\0A\00" @.str6676 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str6677 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str6678 = private unnamed_addr constant [14 x i8] c" ret ptr %q\0A\00" @.str6679 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str6680 = private unnamed_addr constant [26 x i8] c" %tq = icmp ne i8 %t, 0\0A\00" @.str6681 = private unnamed_addr constant [43 x i8] c" br i1 %tq, label %tracked, label %plain\0A\00" @.str6682 = private unnamed_addr constant [8 x i8] c"plain:\0A\00" @.str6683 = private unnamed_addr constant [47 x i8] c" %r = tail call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str6684 = private unnamed_addr constant [14 x i8] c" ret ptr %r\0A\00" @.str6685 = private unnamed_addr constant [10 x i8] c"tracked:\0A\00" @.str6686 = private unnamed_addr constant [30 x i8] c" call void @lp_fdel(ptr %o)\0A\00" @.str6687 = private unnamed_addr constant [43 x i8] c" %r2 = call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str6688 = private unnamed_addr constant [39 x i8] c" call void @lp_fadd(ptr %r2, i64 %n)\0A\00" @.str6689 = private unnamed_addr constant [15 x i8] c" ret ptr %r2\0A\00" @.str6690 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6691 = private unnamed_addr constant [32 x i8] c"define void @lp_free(ptr %o) {\0A\00" @.str6692 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6693 = private unnamed_addr constant [41 x i8] c" %ist = ptrtoint ptr @lp_istore to i64\0A\00" @.str6694 = private unnamed_addr constant [32 x i8] c" %ien = add i64 %ist, 4194304\0A\00" @.str6695 = private unnamed_addr constant [32 x i8] c" %ix = ptrtoint ptr %o to i64\0A\00" @.str6696 = private unnamed_addr constant [33 x i8] c" %ige = icmp uge i64 %ix, %ist\0A\00" @.str6697 = private unnamed_addr constant [33 x i8] c" %ilt = icmp ult i64 %ix, %ien\0A\00" @.str6698 = private unnamed_addr constant [28 x i8] c" %iin = and i1 %ige, %ilt\0A\00" @.str6699 = private unnamed_addr constant [43 x i8] c" br i1 %iin, label %istore, label %free0\0A\00" @.str6700 = private unnamed_addr constant [9 x i8] c"istore:\0A\00" @.str6701 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6702 = private unnamed_addr constant [8 x i8] c"free0:\0A\00" @.str6703 = private unnamed_addr constant [31 x i8] c" %x = ptrtoint ptr %o to i64\0A\00" @.str6704 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str6705 = private unnamed_addr constant [33 x i8] c" %hi = load i64, ptr @lp_ar_hi\0A\00" @.str6706 = private unnamed_addr constant [30 x i8] c" %ge = icmp uge i64 %x, %lo\0A\00" @.str6707 = private unnamed_addr constant [30 x i8] c" %lt = icmp ult i64 %x, %hi\0A\00" @.str6708 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %lt\0A\00" @.str6709 = private unnamed_addr constant [39 x i8] c" br i1 %in, label %keep, label %heap\0A\00" @.str6710 = private unnamed_addr constant [7 x i8] c"keep:\0A\00" @.str6711 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6712 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str6713 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str6714 = private unnamed_addr constant [26 x i8] c" %tq = icmp ne i8 %t, 0\0A\00" @.str6715 = private unnamed_addr constant [43 x i8] c" br i1 %tq, label %tracked, label %plain\0A\00" @.str6716 = private unnamed_addr constant [8 x i8] c"plain:\0A\00" @.str6717 = private unnamed_addr constant [32 x i8] c" tail call void @free(ptr %o)\0A\00" @.str6718 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6719 = private unnamed_addr constant [10 x i8] c"tracked:\0A\00" @.str6720 = private unnamed_addr constant [30 x i8] c" call void @lp_fdel(ptr %o)\0A\00" @.str6721 = private unnamed_addr constant [27 x i8] c" call void @free(ptr %o)\0A\00" @.str6722 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6723 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6724 = private unnamed_addr constant [43 x i8] c"define internal i1 @lp_in_arena(ptr %o) {\0A\00" @.str6725 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6726 = private unnamed_addr constant [31 x i8] c" %x = ptrtoint ptr %o to i64\0A\00" @.str6727 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str6728 = private unnamed_addr constant [33 x i8] c" %hi = load i64, ptr @lp_ar_hi\0A\00" @.str6729 = private unnamed_addr constant [29 x i8] c" %a = icmp uge i64 %x, %lo\0A\00" @.str6730 = private unnamed_addr constant [29 x i8] c" %b = icmp ult i64 %x, %hi\0A\00" @.str6731 = private unnamed_addr constant [23 x i8] c" %in = and i1 %a, %b\0A\00" @.str6732 = private unnamed_addr constant [14 x i8] c" ret i1 %in\0A\00" @.str6733 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6734 = 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" @.str6735 = private unnamed_addr constant [66 x i8] c"; frame is running, off the main thread, or past the arena's end\0A\00" @.str6736 = private unnamed_addr constant [43 x i8] c"define internal ptr @lp_scratch(i64 %n) {\0A\00" @.str6737 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6738 = private unnamed_addr constant [32 x i8] c" %on = load i8, ptr @lp_ar_on\0A\00" @.str6739 = private unnamed_addr constant [28 x i8] c" %onq = icmp ne i8 %on, 0\0A\00" @.str6740 = private unnamed_addr constant [43 x i8] c" br i1 %onq, label %thread, label %start\0A\00" @.str6741 = private unnamed_addr constant [8 x i8] c"start:\0A\00" @.str6742 = 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" @.str6743 = private unnamed_addr constant [73 x i8] c" ; handlers return, and their half is started again two frame marks on\0A\00" @.str6744 = private unnamed_addr constant [28 x i8] c" call void @lp_ar_frame()\0A\00" @.str6745 = private unnamed_addr constant [33 x i8] c" %on2 = load i8, ptr @lp_ar_on\0A\00" @.str6746 = private unnamed_addr constant [30 x i8] c" %on2q = icmp ne i8 %on2, 0\0A\00" @.str6747 = private unnamed_addr constant [43 x i8] c" br i1 %on2q, label %thread, label %heap\0A\00" @.str6748 = private unnamed_addr constant [9 x i8] c"thread:\0A\00" @.str6749 = private unnamed_addr constant [34 x i8] c" %me = call ptr @pthread_self()\0A\00" @.str6750 = private unnamed_addr constant [37 x i8] c" %main = load ptr, ptr @lp_ar_main\0A\00" @.str6751 = private unnamed_addr constant [35 x i8] c" %mainq = icmp eq ptr %me, %main\0A\00" @.str6752 = private unnamed_addr constant [42 x i8] c" br i1 %mainq, label %bump, label %heap\0A\00" @.str6753 = private unnamed_addr constant [7 x i8] c"bump:\0A\00" @.str6754 = private unnamed_addr constant [35 x i8] c" %cur = load i64, ptr @lp_ar_cur\0A\00" @.str6755 = private unnamed_addr constant [25 x i8] c" %n16 = add i64 %n, 31\0A\00" @.str6756 = private unnamed_addr constant [29 x i8] c" %need = and i64 %n16, -16\0A\00" @.str6757 = private unnamed_addr constant [29 x i8] c" %np = add i64 %cur, %need\0A\00" @.str6758 = private unnamed_addr constant [35 x i8] c" %end = load i64, ptr @lp_ar_end\0A\00" @.str6759 = private unnamed_addr constant [34 x i8] c" %fits = icmp ule i64 %np, %end\0A\00" @.str6760 = private unnamed_addr constant [41 x i8] c" br i1 %fits, label %take, label %heap\0A\00" @.str6761 = private unnamed_addr constant [7 x i8] c"take:\0A\00" @.str6762 = private unnamed_addr constant [33 x i8] c" store i64 %np, ptr @lp_ar_cur\0A\00" @.str6763 = private unnamed_addr constant [34 x i8] c" %hp = inttoptr i64 %cur to ptr\0A\00" @.str6764 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %hp\0A\00" @.str6765 = private unnamed_addr constant [43 x i8] c" %bp = getelementptr i8, ptr %hp, i64 16\0A\00" @.str6766 = private unnamed_addr constant [15 x i8] c" ret ptr %bp\0A\00" @.str6767 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str6768 = private unnamed_addr constant [34 x i8] c" %h = call ptr @lp_heap(i64 %n)\0A\00" @.str6769 = private unnamed_addr constant [14 x i8] c" ret ptr %h\0A\00" @.str6770 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6771 = 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" @.str6772 = 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" @.str6773 = 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" @.str6774 = private unnamed_addr constant [39 x i8] c"define internal void @lp_ar_frame() {\0A\00" @.str6775 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6776 = private unnamed_addr constant [33 x i8] c" %def = load i8, ptr @lp_ardef\0A\00" @.str6777 = private unnamed_addr constant [30 x i8] c" %defq = icmp ne i8 %def, 0\0A\00" @.str6778 = private unnamed_addr constant [39 x i8] c" br i1 %defq, label %chk, label %out\0A\00" @.str6779 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str6780 = private unnamed_addr constant [32 x i8] c" %on = load i8, ptr @lp_ar_on\0A\00" @.str6781 = private unnamed_addr constant [28 x i8] c" %onq = icmp ne i8 %on, 0\0A\00" @.str6782 = private unnamed_addr constant [41 x i8] c" br i1 %onq, label %flip, label %maybe\0A\00" @.str6783 = private unnamed_addr constant [8 x i8] c"maybe:\0A\00" @.str6784 = private unnamed_addr constant [38 x i8] c" %tried = load i8, ptr @lp_ar_tried\0A\00" @.str6785 = private unnamed_addr constant [30 x i8] c" %tq = icmp ne i8 %tried, 0\0A\00" @.str6786 = private unnamed_addr constant [41 x i8] c" br i1 %tq, label %out, label %reserve\0A\00" @.str6787 = private unnamed_addr constant [10 x i8] c"reserve:\0A\00" @.str6788 = private unnamed_addr constant [32 x i8] c" store i8 1, ptr @lp_ar_tried\0A\00" @.str6789 = private unnamed_addr constant [53 x i8] c" %want = call i64 @lp_fenv(ptr @.lpf_arena, i64 1)\0A\00" @.str6790 = private unnamed_addr constant [30 x i8] c" %wz = icmp eq i64 %want, 0\0A\00" @.str6791 = private unnamed_addr constant [38 x i8] c" br i1 %wz, label %out, label %size\0A\00" @.str6792 = private unnamed_addr constant [7 x i8] c"size:\0A\00" @.str6793 = private unnamed_addr constant [55 x i8] c" %mb = call i64 @lp_fenv(ptr @.lpf_arenamb, i64 256)\0A\00" @.str6794 = private unnamed_addr constant [27 x i8] c" %half = shl i64 %mb, 20\0A\00" @.str6795 = private unnamed_addr constant [36 x i8] c" store i64 %half, ptr @lp_ar_half\0A\00" @.str6796 = private unnamed_addr constant [28 x i8] c" %both = shl i64 %half, 1\0A\00" @.str6797 = 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" @.str6798 = private unnamed_addr constant [32 x i8] c" %mi = ptrtoint ptr %m to i64\0A\00" @.str6799 = private unnamed_addr constant [30 x i8] c" %bad = icmp eq i64 %mi, -1\0A\00" @.str6800 = private unnamed_addr constant [40 x i8] c" br i1 %bad, label %out, label %armed\0A\00" @.str6801 = private unnamed_addr constant [8 x i8] c"armed:\0A\00" @.str6802 = private unnamed_addr constant [32 x i8] c" store i64 %mi, ptr @lp_ar_lo\0A\00" @.str6803 = private unnamed_addr constant [28 x i8] c" %hi = add i64 %mi, %both\0A\00" @.str6804 = private unnamed_addr constant [32 x i8] c" store i64 %hi, ptr @lp_ar_hi\0A\00" @.str6805 = private unnamed_addr constant [33 x i8] c" store i64 %mi, ptr @lp_ar_cur\0A\00" @.str6806 = private unnamed_addr constant [28 x i8] c" %e0 = add i64 %mi, %half\0A\00" @.str6807 = private unnamed_addr constant [33 x i8] c" store i64 %e0, ptr @lp_ar_end\0A\00" @.str6808 = private unnamed_addr constant [33 x i8] c" store i64 0, ptr @lp_ar_which\0A\00" @.str6809 = private unnamed_addr constant [34 x i8] c" %me = call ptr @pthread_self()\0A\00" @.str6810 = private unnamed_addr constant [34 x i8] c" store ptr %me, ptr @lp_ar_main\0A\00" @.str6811 = private unnamed_addr constant [53 x i8] c" %ck = call i64 @lp_fenv(ptr @.lpf_archeck, i64 0)\0A\00" @.str6812 = private unnamed_addr constant [30 x i8] c" %ck8 = trunc i64 %ck to i8\0A\00" @.str6813 = private unnamed_addr constant [35 x i8] c" store i8 %ck8, ptr @lp_ar_check\0A\00" @.str6814 = private unnamed_addr constant [29 x i8] c" store i8 1, ptr @lp_ar_on\0A\00" @.str6815 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6816 = private unnamed_addr constant [7 x i8] c"flip:\0A\00" @.str6817 = private unnamed_addr constant [35 x i8] c" %w = load i64, ptr @lp_ar_which\0A\00" @.str6818 = private unnamed_addr constant [33 x i8] c" %lo = load i64, ptr @lp_ar_lo\0A\00" @.str6819 = private unnamed_addr constant [35 x i8] c" %hf = load i64, ptr @lp_ar_half\0A\00" @.str6820 = private unnamed_addr constant [26 x i8] c" %off = mul i64 %w, %hf\0A\00" @.str6821 = private unnamed_addr constant [30 x i8] c" %start = add i64 %lo, %off\0A\00" @.str6822 = private unnamed_addr constant [35 x i8] c" %cur = load i64, ptr @lp_ar_cur\0A\00" @.str6823 = private unnamed_addr constant [32 x i8] c" %used = sub i64 %cur, %start\0A\00" @.str6824 = private unnamed_addr constant [27 x i8] c" %w0 = icmp eq i64 %w, 0\0A\00" @.str6825 = private unnamed_addr constant [56 x i8] c" %hwq = select i1 %w0, ptr @lp_ar_hw0, ptr @lp_ar_hw1\0A\00" @.str6826 = private unnamed_addr constant [29 x i8] c" %hwv = load i64, ptr %hwq\0A\00" @.str6827 = private unnamed_addr constant [36 x i8] c" %more = icmp ugt i64 %used, %hwv\0A\00" @.str6828 = private unnamed_addr constant [47 x i8] c" %hwn = select i1 %more, i64 %used, i64 %hwv\0A\00" @.str6829 = private unnamed_addr constant [28 x i8] c" store i64 %hwn, ptr %hwq\0A\00" @.str6830 = private unnamed_addr constant [23 x i8] c" %nw = xor i64 %w, 1\0A\00" @.str6831 = private unnamed_addr constant [35 x i8] c" store i64 %nw, ptr @lp_ar_which\0A\00" @.str6832 = private unnamed_addr constant [28 x i8] c" %noff = mul i64 %nw, %hf\0A\00" @.str6833 = private unnamed_addr constant [32 x i8] c" %nstart = add i64 %lo, %noff\0A\00" @.str6834 = private unnamed_addr constant [37 x i8] c" store i64 %nstart, ptr @lp_ar_cur\0A\00" @.str6835 = private unnamed_addr constant [32 x i8] c" %nend = add i64 %nstart, %hf\0A\00" @.str6836 = private unnamed_addr constant [35 x i8] c" store i64 %nend, ptr @lp_ar_end\0A\00" @.str6837 = private unnamed_addr constant [35 x i8] c" %cq = load i8, ptr @lp_ar_check\0A\00" @.str6838 = private unnamed_addr constant [28 x i8] c" %cqq = icmp ne i8 %cq, 0\0A\00" @.str6839 = private unnamed_addr constant [41 x i8] c" br i1 %cqq, label %poison, label %out\0A\00" @.str6840 = private unnamed_addr constant [9 x i8] c"poison:\0A\00" @.str6841 = private unnamed_addr constant [28 x i8] c" %n0 = icmp eq i64 %nw, 0\0A\00" @.str6842 = private unnamed_addr constant [56 x i8] c" %nhq = select i1 %n0, ptr @lp_ar_hw0, ptr @lp_ar_hw1\0A\00" @.str6843 = private unnamed_addr constant [29 x i8] c" %nhv = load i64, ptr %nhq\0A\00" @.str6844 = private unnamed_addr constant [37 x i8] c" %np = inttoptr i64 %nstart to ptr\0A\00" @.str6845 = private unnamed_addr constant [48 x i8] c" call ptr @memset(ptr %np, i32 221, i64 %nhv)\0A\00" @.str6846 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6847 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6848 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6849 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6850 = private unnamed_addr constant [36 x i8] c"define internal void @lp_flock() {\0A\00" @.str6851 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6852 = private unnamed_addr constant [18 x i8] c" br label %spin\0A\00" @.str6853 = private unnamed_addr constant [7 x i8] c"spin:\0A\00" @.str6854 = private unnamed_addr constant [49 x i8] c" %o = atomicrmw xchg ptr @lp_fl, i32 1 acquire\0A\00" @.str6855 = private unnamed_addr constant [26 x i8] c" %b = icmp eq i32 %o, 0\0A\00" @.str6856 = private unnamed_addr constant [38 x i8] c" br i1 %b, label %done, label %spin\0A\00" @.str6857 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str6858 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6859 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6860 = private unnamed_addr constant [38 x i8] c"define internal void @lp_funlock() {\0A\00" @.str6861 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6862 = private unnamed_addr constant [51 x i8] c" store atomic i32 0, ptr @lp_fl release, align 4\0A\00" @.str6863 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6864 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6865 = private unnamed_addr constant [41 x i8] c"define internal i64 @lp_fhash(i64 %k) {\0A\00" @.str6866 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6867 = private unnamed_addr constant [23 x i8] c" %a = lshr i64 %k, 4\0A\00" @.str6868 = private unnamed_addr constant [41 x i8] c" %b = mul i64 %a, -7046029254386353131\0A\00" @.str6869 = private unnamed_addr constant [24 x i8] c" %c = lshr i64 %b, 29\0A\00" @.str6870 = private unnamed_addr constant [23 x i8] c" %d = xor i64 %b, %c\0A\00" @.str6871 = private unnamed_addr constant [14 x i8] c" ret i64 %d\0A\00" @.str6872 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6873 = private unnamed_addr constant [43 x i8] c"define internal void @lp_ftouch(i64 %s) {\0A\00" @.str6874 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6875 = private unnamed_addr constant [64 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_stamp, i64 %s\0A\00" @.str6876 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str6877 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str6878 = private unnamed_addr constant [23 x i8] c" %f1 = add i64 %f, 1\0A\00" @.str6879 = private unnamed_addr constant [32 x i8] c" %seen = icmp eq i64 %st, %f1\0A\00" @.str6880 = private unnamed_addr constant [40 x i8] c" br i1 %seen, label %out, label %mark\0A\00" @.str6881 = private unnamed_addr constant [7 x i8] c"mark:\0A\00" @.str6882 = private unnamed_addr constant [26 x i8] c" store i64 %f1, ptr %sp\0A\00" @.str6883 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_ntouch\0A\00" @.str6884 = private unnamed_addr constant [32 x i8] c" %room = icmp ult i32 %n, 512\0A\00" @.str6885 = private unnamed_addr constant [23 x i8] c" %n1 = add i32 %n, 1\0A\00" @.str6886 = private unnamed_addr constant [33 x i8] c" store i32 %n1, ptr @lp_ntouch\0A\00" @.str6887 = private unnamed_addr constant [39 x i8] c" br i1 %room, label %put, label %out\0A\00" @.str6888 = private unnamed_addr constant [6 x i8] c"put:\0A\00" @.str6889 = private unnamed_addr constant [74 x i8] c" %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %n\0A\00" @.str6890 = private unnamed_addr constant [30 x i8] c" %s32 = trunc i64 %s to i32\0A\00" @.str6891 = private unnamed_addr constant [27 x i8] c" store i32 %s32, ptr %tp\0A\00" @.str6892 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6893 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6894 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6895 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6896 = private unnamed_addr constant [55 x i8] c"define internal void @lp_fsite_dadd(i64 %s, i64 %n) {\0A\00" @.str6897 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6898 = private unnamed_addr constant [64 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_dlive, i64 %s\0A\00" @.str6899 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str6900 = private unnamed_addr constant [24 x i8] c" %v1 = add i64 %v, %n\0A\00" @.str6901 = private unnamed_addr constant [26 x i8] c" store i64 %v1, ptr %sp\0A\00" @.str6902 = private unnamed_addr constant [33 x i8] c" %dl = load i64, ptr @lp_dlive\0A\00" @.str6903 = private unnamed_addr constant [26 x i8] c" %dl1 = add i64 %dl, %n\0A\00" @.str6904 = private unnamed_addr constant [33 x i8] c" store i64 %dl1, ptr @lp_dlive\0A\00" @.str6905 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6906 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6907 = private unnamed_addr constant [54 x i8] c"define internal void @lp_fsite_add(i64 %s, i64 %n) {\0A\00" @.str6908 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6909 = private unnamed_addr constant [63 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_live, i64 %s\0A\00" @.str6910 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str6911 = private unnamed_addr constant [24 x i8] c" %v1 = add i64 %v, %n\0A\00" @.str6912 = private unnamed_addr constant [26 x i8] c" store i64 %v1, ptr %sp\0A\00" @.str6913 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str6914 = private unnamed_addr constant [26 x i8] c" %lv1 = add i64 %lv, %n\0A\00" @.str6915 = private unnamed_addr constant [32 x i8] c" store i64 %lv1, ptr @lp_live\0A\00" @.str6916 = private unnamed_addr constant [32 x i8] c" call void @lp_ftouch(i64 %s)\0A\00" @.str6917 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6918 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6919 = 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" @.str6920 = 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" @.str6921 = private unnamed_addr constant [39 x i8] c"; what a report names, and it is rare\0A\00" @.str6922 = private unnamed_addr constant [51 x i8] c"define internal i32 @lp_funw(ptr %ctx, ptr %st) {\0A\00" @.str6923 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6924 = private unnamed_addr constant [26 x i8] c" %n = load i64, ptr %st\0A\00" @.str6925 = private unnamed_addr constant [30 x i8] c" %full = icmp uge i64 %n, 6\0A\00" @.str6926 = private unnamed_addr constant [41 x i8] c" br i1 %full, label %stop, label %take\0A\00" @.str6927 = private unnamed_addr constant [7 x i8] c"take:\0A\00" @.str6928 = private unnamed_addr constant [43 x i8] c" %ip = call i64 @_Unwind_GetIP(ptr %ctx)\0A\00" @.str6929 = private unnamed_addr constant [52 x i8] c" %bp = getelementptr inbounds i64, ptr %st, i64 1\0A\00" @.str6930 = private unnamed_addr constant [29 x i8] c" %base = load i64, ptr %bp\0A\00" @.str6931 = private unnamed_addr constant [29 x i8] c" %slot = add i64 %base, %n\0A\00" @.str6932 = private unnamed_addr constant [65 x i8] c" %dst = getelementptr inbounds i64, ptr @lp_site_ra, i64 %slot\0A\00" @.str6933 = private unnamed_addr constant [27 x i8] c" store i64 %ip, ptr %dst\0A\00" @.str6934 = private unnamed_addr constant [23 x i8] c" %n1 = add i64 %n, 1\0A\00" @.str6935 = private unnamed_addr constant [26 x i8] c" store i64 %n1, ptr %st\0A\00" @.str6936 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str6937 = private unnamed_addr constant [7 x i8] c"stop:\0A\00" @.str6938 = private unnamed_addr constant [13 x i8] c" ret i32 5\0A\00" @.str6939 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6940 = private unnamed_addr constant [54 x i8] c"define internal void @lp_fcallers(i64 %s) noinline {\0A\00" @.str6941 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6942 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str6943 = private unnamed_addr constant [31 x i8] c" %judging = icmp ne i8 %j, 0\0A\00" @.str6944 = private unnamed_addr constant [43 x i8] c" br i1 %judging, label %walk, label %out\0A\00" @.str6945 = private unnamed_addr constant [7 x i8] c"walk:\0A\00" @.str6946 = private unnamed_addr constant [35 x i8] c" %st = alloca [2 x i64], align 8\0A\00" @.str6947 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %st\0A\00" @.str6948 = private unnamed_addr constant [52 x i8] c" %bp = getelementptr inbounds i64, ptr %st, i64 1\0A\00" @.str6949 = private unnamed_addr constant [25 x i8] c" %base = mul i64 %s, 6\0A\00" @.str6950 = private unnamed_addr constant [28 x i8] c" store i64 %base, ptr %bp\0A\00" @.str6951 = private unnamed_addr constant [63 x i8] c" %z = getelementptr inbounds i64, ptr @lp_site_ra, i64 %base\0A\00" @.str6952 = private unnamed_addr constant [43 x i8] c" call ptr @memset(ptr %z, i32 0, i64 48)\0A\00" @.str6953 = private unnamed_addr constant [54 x i8] c" call i32 @_Unwind_Backtrace(ptr @lp_funw, ptr %st)\0A\00" @.str6954 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str6955 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str6956 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6957 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6958 = 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" @.str6959 = private unnamed_addr constant [36 x i8] c"; the site's own function left out\0A\00" @.str6960 = private unnamed_addr constant [66 x i8] c"define internal void @lp_fsite_from(ptr %fp, i32 %s, ptr %own) {\0A\00" @.str6961 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str6962 = private unnamed_addr constant [37 x i8] c" %info = alloca [4 x ptr], align 8\0A\00" @.str6963 = private unnamed_addr constant [29 x i8] c" %s64 = sext i32 %s to i64\0A\00" @.str6964 = private unnamed_addr constant [27 x i8] c" %base = mul i64 %s64, 6\0A\00" @.str6965 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6966 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str6967 = private unnamed_addr constant [46 x i8] c" %i = phi i64 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str6968 = private unnamed_addr constant [54 x i8] c" %shown = phi i32 [ 0, %entry ], [ %shown1, %next ]\0A\00" @.str6969 = private unnamed_addr constant [30 x i8] c" %more = icmp ult i64 %i, 6\0A\00" @.str6970 = private unnamed_addr constant [34 x i8] c" %room = icmp ult i32 %shown, 3\0A\00" @.str6971 = private unnamed_addr constant [29 x i8] c" %go = and i1 %more, %room\0A\00" @.str6972 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %out\0A\00" @.str6973 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str6974 = private unnamed_addr constant [29 x i8] c" %slot = add i64 %base, %i\0A\00" @.str6975 = private unnamed_addr constant [64 x i8] c" %rp = getelementptr inbounds ptr, ptr @lp_site_ra, i64 %slot\0A\00" @.str6976 = private unnamed_addr constant [28 x i8] c" %ra0 = load ptr, ptr %rp\0A\00" @.str6977 = private unnamed_addr constant [44 x i8] c" %ra = getelementptr i8, ptr %ra0, i64 -1\0A\00" @.str6978 = private unnamed_addr constant [33 x i8] c" %nul = icmp eq ptr %ra0, null\0A\00" @.str6979 = private unnamed_addr constant [40 x i8] c" br i1 %nul, label %skip, label %look\0A\00" @.str6980 = private unnamed_addr constant [7 x i8] c"look:\0A\00" @.str6981 = private unnamed_addr constant [46 x i8] c" %ok = call i32 @dladdr(ptr %ra, ptr %info)\0A\00" @.str6982 = private unnamed_addr constant [29 x i8] c" %okq = icmp ne i32 %ok, 0\0A\00" @.str6983 = private unnamed_addr constant [41 x i8] c" br i1 %okq, label %named, label %skip\0A\00" @.str6984 = private unnamed_addr constant [8 x i8] c"named:\0A\00" @.str6985 = private unnamed_addr constant [68 x i8] c" %snp = getelementptr inbounds [4 x ptr], ptr %info, i32 0, i32 2\0A\00" @.str6986 = private unnamed_addr constant [28 x i8] c" %sn = load ptr, ptr %snp\0A\00" @.str6987 = private unnamed_addr constant [34 x i8] c" %snnul = icmp eq ptr %sn, null\0A\00" @.str6988 = private unnamed_addr constant [44 x i8] c" br i1 %snnul, label %skip, label %filter\0A\00" @.str6989 = private unnamed_addr constant [9 x i8] c"filter:\0A\00" @.str6990 = private unnamed_addr constant [57 x i8] c" %c1 = call i32 @strncmp(ptr %sn, ptr @.lpf_lp, i64 3)\0A\00" @.str6991 = private unnamed_addr constant [30 x i8] c" %islp = icmp eq i32 %c1, 0\0A\00" @.str6992 = private unnamed_addr constant [53 x i8] c" %own3 = getelementptr inbounds i8, ptr %sn, i64 3\0A\00" @.str6993 = private unnamed_addr constant [47 x i8] c" %c2 = call i32 @strcmp(ptr %own3, ptr %own)\0A\00" @.str6994 = private unnamed_addr constant [31 x i8] c" %isown = icmp eq i32 %c2, 0\0A\00" @.str6995 = private unnamed_addr constant [31 x i8] c" %drop = or i1 %islp, %isown\0A\00" @.str6996 = private unnamed_addr constant [42 x i8] c" br i1 %drop, label %skip, label %print\0A\00" @.str6997 = private unnamed_addr constant [8 x i8] c"print:\0A\00" @.str6998 = private unnamed_addr constant [35 x i8] c" %tofile = icmp ne ptr %fp, null\0A\00" @.str6999 = private unnamed_addr constant [39 x i8] c" br i1 %tofile, label %pf, label %pe\0A\00" @.str7000 = private unnamed_addr constant [5 x i8] c"pf:\0A\00" @.str7001 = private unnamed_addr constant [72 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cfrom, ptr %sn)\0A\00" @.str7002 = private unnamed_addr constant [21 x i8] c" br label %counted\0A\00" @.str7003 = private unnamed_addr constant [5 x i8] c"pe:\0A\00" @.str7004 = private unnamed_addr constant [69 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_from, ptr %sn)\0A\00" @.str7005 = private unnamed_addr constant [21 x i8] c" br label %counted\0A\00" @.str7006 = private unnamed_addr constant [10 x i8] c"counted:\0A\00" @.str7007 = private unnamed_addr constant [18 x i8] c" br label %next\0A\00" @.str7008 = private unnamed_addr constant [7 x i8] c"skip:\0A\00" @.str7009 = private unnamed_addr constant [18 x i8] c" br label %next\0A\00" @.str7010 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str7011 = private unnamed_addr constant [48 x i8] c" %add = phi i32 [ 1, %counted ], [ 0, %skip ]\0A\00" @.str7012 = private unnamed_addr constant [34 x i8] c" %shown1 = add i32 %shown, %add\0A\00" @.str7013 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str7014 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7015 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7016 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7017 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7018 = private unnamed_addr constant [53 x i8] c"define internal void @lp_fadd(ptr %p, i64 %asked) {\0A\00" @.str7019 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7020 = private unnamed_addr constant [34 x i8] c" %isnull = icmp eq ptr %p, null\0A\00" @.str7021 = private unnamed_addr constant [42 x i8] c" br i1 %isnull, label %out, label %size\0A\00" @.str7022 = private unnamed_addr constant [7 x i8] c"size:\0A\00" @.str7023 = private unnamed_addr constant [43 x i8] c" %hasms = icmp ne ptr @malloc_size, null\0A\00" @.str7024 = private unnamed_addr constant [40 x i8] c" br i1 %hasms, label %real, label %go\0A\00" @.str7025 = private unnamed_addr constant [7 x i8] c"real:\0A\00" @.str7026 = private unnamed_addr constant [39 x i8] c" %ms = call i64 @malloc_size(ptr %p)\0A\00" @.str7027 = private unnamed_addr constant [16 x i8] c" br label %go\0A\00" @.str7028 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str7029 = private unnamed_addr constant [50 x i8] c" %n = phi i64 [ %asked, %size ], [ %ms, %real ]\0A\00" @.str7030 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str7031 = private unnamed_addr constant [33 x i8] c" %cnt = load i64, ptr @lp_tabn\0A\00" @.str7032 = private unnamed_addr constant [35 x i8] c" %max = load i64, ptr @lp_tabmax\0A\00" @.str7033 = private unnamed_addr constant [35 x i8] c" %full = icmp sge i64 %cnt, %max\0A\00" @.str7034 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %over, label %ins\0A\00" @.str7035 = private unnamed_addr constant [7 x i8] c"over:\0A\00" @.str7036 = private unnamed_addr constant [32 x i8] c" %ov = load i64, ptr @lp_over\0A\00" @.str7037 = private unnamed_addr constant [25 x i8] c" %ov1 = add i64 %ov, 1\0A\00" @.str7038 = private unnamed_addr constant [32 x i8] c" store i64 %ov1, ptr @lp_over\0A\00" @.str7039 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str7040 = private unnamed_addr constant [6 x i8] c"ins:\0A\00" @.str7041 = private unnamed_addr constant [32 x i8] c" %s0 = load i32, ptr @lp_site\0A\00" @.str7042 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str7043 = private unnamed_addr constant [32 x i8] c" %sok = icmp ult i32 %s0, %sn\0A\00" @.str7044 = private unnamed_addr constant [39 x i8] c" %s = select i1 %sok, i32 %s0, i32 0\0A\00" @.str7045 = private unnamed_addr constant [29 x i8] c" %s64 = zext i32 %s to i64\0A\00" @.str7046 = private unnamed_addr constant [31 x i8] c" %k = ptrtoint ptr %p to i64\0A\00" @.str7047 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str7048 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str7049 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str7050 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7051 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str7052 = private unnamed_addr constant [45 x i8] c" %i = phi i64 [ %h, %ins ], [ %i1, %next ]\0A\00" @.str7053 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str7054 = private unnamed_addr constant [60 x i8] c" %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %im\0A\00" @.str7055 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str7056 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str7057 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %put, label %chk\0A\00" @.str7058 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str7059 = private unnamed_addr constant [31 x i8] c" %same = icmp eq i64 %ek, %k\0A\00" @.str7060 = private unnamed_addr constant [40 x i8] c" br i1 %same, label %dup, label %next\0A\00" @.str7061 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str7062 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str7063 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7064 = private unnamed_addr constant [6 x i8] c"dup:\0A\00" @.str7065 = private unnamed_addr constant [51 x i8] c" %dv = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str7066 = private unnamed_addr constant [29 x i8] c" %dold = load i64, ptr %dv\0A\00" @.str7067 = private unnamed_addr constant [37 x i8] c" %dn = and i64 %dold, 549755813887\0A\00" @.str7068 = private unnamed_addr constant [28 x i8] c" %ds = lshr i64 %dold, 40\0A\00" @.str7069 = private unnamed_addr constant [26 x i8] c" %dneg = sub i64 0, %dn\0A\00" @.str7070 = private unnamed_addr constant [38 x i8] c" %dwd = and i64 %dold, 549755813888\0A\00" @.str7071 = private unnamed_addr constant [31 x i8] c" %dwas = icmp ne i64 %dwd, 0\0A\00" @.str7072 = private unnamed_addr constant [42 x i8] c" br i1 %dwas, label %ddecl, label %dund\0A\00" @.str7073 = private unnamed_addr constant [8 x i8] c"ddecl:\0A\00" @.str7074 = private unnamed_addr constant [48 x i8] c" call void @lp_fsite_dadd(i64 %ds, i64 %dneg)\0A\00" @.str7075 = private unnamed_addr constant [20 x i8] c" br label %dcount\0A\00" @.str7076 = private unnamed_addr constant [7 x i8] c"dund:\0A\00" @.str7077 = private unnamed_addr constant [47 x i8] c" call void @lp_fsite_add(i64 %ds, i64 %dneg)\0A\00" @.str7078 = private unnamed_addr constant [20 x i8] c" br label %dcount\0A\00" @.str7079 = private unnamed_addr constant [9 x i8] c"dcount:\0A\00" @.str7080 = private unnamed_addr constant [33 x i8] c" %dtn = load i64, ptr @lp_tabn\0A\00" @.str7081 = private unnamed_addr constant [27 x i8] c" %dtn1 = sub i64 %dtn, 1\0A\00" @.str7082 = private unnamed_addr constant [33 x i8] c" store i64 %dtn1, ptr @lp_tabn\0A\00" @.str7083 = private unnamed_addr constant [34 x i8] c" %dfr = load i64, ptr @lp_freed\0A\00" @.str7084 = private unnamed_addr constant [27 x i8] c" %dfr1 = add i64 %dfr, 1\0A\00" @.str7085 = private unnamed_addr constant [34 x i8] c" store i64 %dfr1, ptr @lp_freed\0A\00" @.str7086 = private unnamed_addr constant [17 x i8] c" br label %put\0A\00" @.str7087 = private unnamed_addr constant [6 x i8] c"put:\0A\00" @.str7088 = private unnamed_addr constant [24 x i8] c" store i64 %k, ptr %e\0A\00" @.str7089 = private unnamed_addr constant [51 x i8] c" %ev = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str7090 = private unnamed_addr constant [26 x i8] c" %sh = shl i64 %s64, 40\0A\00" @.str7091 = private unnamed_addr constant [24 x i8] c" %v0 = or i64 %sh, %n\0A\00" @.str7092 = private unnamed_addr constant [33 x i8] c" %dc = load i32, ptr @lp_fdecl\0A\00" @.str7093 = private unnamed_addr constant [33 x i8] c" %isdecl = icmp sgt i32 %dc, 0\0A\00" @.str7094 = private unnamed_addr constant [54 x i8] c" %dbit = select i1 %isdecl, i64 549755813888, i64 0\0A\00" @.str7095 = private unnamed_addr constant [26 x i8] c" %v = or i64 %v0, %dbit\0A\00" @.str7096 = private unnamed_addr constant [25 x i8] c" store i64 %v, ptr %ev\0A\00" @.str7097 = private unnamed_addr constant [32 x i8] c" %tn = load i64, ptr @lp_tabn\0A\00" @.str7098 = private unnamed_addr constant [25 x i8] c" %tn1 = add i64 %tn, 1\0A\00" @.str7099 = private unnamed_addr constant [32 x i8] c" store i64 %tn1, ptr @lp_tabn\0A\00" @.str7100 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str7101 = private unnamed_addr constant [25 x i8] c" %md1 = add i64 %md, 1\0A\00" @.str7102 = private unnamed_addr constant [32 x i8] c" store i64 %md1, ptr @lp_made\0A\00" @.str7103 = private unnamed_addr constant [44 x i8] c" br i1 %isdecl, label %pdecl, label %pund\0A\00" @.str7104 = private unnamed_addr constant [8 x i8] c"pdecl:\0A\00" @.str7105 = private unnamed_addr constant [46 x i8] c" call void @lp_fsite_dadd(i64 %s64, i64 %n)\0A\00" @.str7106 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str7107 = private unnamed_addr constant [7 x i8] c"pund:\0A\00" @.str7108 = private unnamed_addr constant [45 x i8] c" call void @lp_fsite_add(i64 %s64, i64 %n)\0A\00" @.str7109 = private unnamed_addr constant [36 x i8] c" call void @lp_fcallers(i64 %s64)\0A\00" @.str7110 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str7111 = private unnamed_addr constant [9 x i8] c"unlock:\0A\00" @.str7112 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str7113 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7114 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7115 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7116 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7117 = private unnamed_addr constant [41 x i8] c"define internal void @lp_fdel(ptr %p) {\0A\00" @.str7118 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7119 = private unnamed_addr constant [34 x i8] c" %isnull = icmp eq ptr %p, null\0A\00" @.str7120 = private unnamed_addr constant [40 x i8] c" br i1 %isnull, label %out, label %go\0A\00" @.str7121 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str7122 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str7123 = private unnamed_addr constant [31 x i8] c" %k = ptrtoint ptr %p to i64\0A\00" @.str7124 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str7125 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str7126 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str7127 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7128 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str7129 = private unnamed_addr constant [44 x i8] c" %i = phi i64 [ %h, %go ], [ %i1, %next ]\0A\00" @.str7130 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str7131 = private unnamed_addr constant [60 x i8] c" %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %im\0A\00" @.str7132 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str7133 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str7134 = private unnamed_addr constant [41 x i8] c" br i1 %empty, label %miss, label %cmp\0A\00" @.str7135 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str7136 = private unnamed_addr constant [30 x i8] c" %hit = icmp eq i64 %ek, %k\0A\00" @.str7137 = private unnamed_addr constant [41 x i8] c" br i1 %hit, label %found, label %next\0A\00" @.str7138 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str7139 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str7140 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7141 = private unnamed_addr constant [7 x i8] c"miss:\0A\00" @.str7142 = private unnamed_addr constant [41 x i8] c" %has = icmp ne ptr @malloc_size, null\0A\00" @.str7143 = private unnamed_addr constant [41 x i8] c" br i1 %has, label %msz, label %unlock\0A\00" @.str7144 = private unnamed_addr constant [6 x i8] c"msz:\0A\00" @.str7145 = private unnamed_addr constant [39 x i8] c" %ms = call i64 @malloc_size(ptr %p)\0A\00" @.str7146 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str7147 = private unnamed_addr constant [27 x i8] c" %pr1 = add i64 %pr, %ms\0A\00" @.str7148 = private unnamed_addr constant [31 x i8] c" store i64 %pr1, ptr @lp_pre\0A\00" @.str7149 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str7150 = private unnamed_addr constant [8 x i8] c"found:\0A\00" @.str7151 = private unnamed_addr constant [51 x i8] c" %ev = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str7152 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %ev\0A\00" @.str7153 = private unnamed_addr constant [33 x i8] c" %n = and i64 %v, 549755813887\0A\00" @.str7154 = private unnamed_addr constant [24 x i8] c" %s = lshr i64 %v, 40\0A\00" @.str7155 = private unnamed_addr constant [24 x i8] c" %neg = sub i64 0, %n\0A\00" @.str7156 = private unnamed_addr constant [34 x i8] c" %wd = and i64 %v, 549755813888\0A\00" @.str7157 = private unnamed_addr constant [33 x i8] c" %wasdecl = icmp ne i64 %wd, 0\0A\00" @.str7158 = private unnamed_addr constant [45 x i8] c" br i1 %wasdecl, label %fdecl, label %fund\0A\00" @.str7159 = private unnamed_addr constant [8 x i8] c"fdecl:\0A\00" @.str7160 = private unnamed_addr constant [46 x i8] c" call void @lp_fsite_dadd(i64 %s, i64 %neg)\0A\00" @.str7161 = private unnamed_addr constant [20 x i8] c" br label %fcount\0A\00" @.str7162 = private unnamed_addr constant [7 x i8] c"fund:\0A\00" @.str7163 = private unnamed_addr constant [45 x i8] c" call void @lp_fsite_add(i64 %s, i64 %neg)\0A\00" @.str7164 = private unnamed_addr constant [20 x i8] c" br label %fcount\0A\00" @.str7165 = private unnamed_addr constant [9 x i8] c"fcount:\0A\00" @.str7166 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str7167 = private unnamed_addr constant [25 x i8] c" %fr1 = add i64 %fr, 1\0A\00" @.str7168 = private unnamed_addr constant [33 x i8] c" store i64 %fr1, ptr @lp_freed\0A\00" @.str7169 = private unnamed_addr constant [32 x i8] c" %tn = load i64, ptr @lp_tabn\0A\00" @.str7170 = private unnamed_addr constant [25 x i8] c" %tn1 = sub i64 %tn, 1\0A\00" @.str7171 = private unnamed_addr constant [32 x i8] c" store i64 %tn1, ptr @lp_tabn\0A\00" @.str7172 = private unnamed_addr constant [16 x i8] c" br label %sh\0A\00" @.str7173 = private unnamed_addr constant [5 x i8] c"sh:\0A\00" @.str7174 = private unnamed_addr constant [75 x i8] c" %hole = phi i64 [ %im, %fcount ], [ %hole, %sh_skip ], [ %j, %sh_move ]\0A\00" @.str7175 = private unnamed_addr constant [70 x i8] c" %jp = phi i64 [ %im, %fcount ], [ %j, %sh_skip ], [ %j, %sh_move ]\0A\00" @.str7176 = private unnamed_addr constant [24 x i8] c" %j0 = add i64 %jp, 1\0A\00" @.str7177 = private unnamed_addr constant [27 x i8] c" %j = and i64 %j0, %mask\0A\00" @.str7178 = private unnamed_addr constant [60 x i8] c" %ej = getelementptr inbounds [2 x i64], ptr %tab, i64 %j\0A\00" @.str7179 = private unnamed_addr constant [27 x i8] c" %kj = load i64, ptr %ej\0A\00" @.str7180 = private unnamed_addr constant [30 x i8] c" %endq = icmp eq i64 %kj, 0\0A\00" @.str7181 = private unnamed_addr constant [46 x i8] c" br i1 %endq, label %sh_end, label %sh_test\0A\00" @.str7182 = private unnamed_addr constant [10 x i8] c"sh_test:\0A\00" @.str7183 = private unnamed_addr constant [37 x i8] c" %hj = call i64 @lp_fhash(i64 %kj)\0A\00" @.str7184 = private unnamed_addr constant [30 x i8] c" %home = and i64 %hj, %mask\0A\00" @.str7185 = private unnamed_addr constant [33 x i8] c" %jgt = icmp ugt i64 %j, %hole\0A\00" @.str7186 = private unnamed_addr constant [35 x i8] c" %a1 = icmp ugt i64 %home, %hole\0A\00" @.str7187 = private unnamed_addr constant [32 x i8] c" %a2 = icmp ule i64 %home, %j\0A\00" @.str7188 = private unnamed_addr constant [26 x i8] c" %in1 = and i1 %a1, %a2\0A\00" @.str7189 = private unnamed_addr constant [25 x i8] c" %in2 = or i1 %a1, %a2\0A\00" @.str7190 = private unnamed_addr constant [42 x i8] c" %in = select i1 %jgt, i1 %in1, i1 %in2\0A\00" @.str7191 = private unnamed_addr constant [45 x i8] c" br i1 %in, label %sh_skip, label %sh_move\0A\00" @.str7192 = private unnamed_addr constant [10 x i8] c"sh_skip:\0A\00" @.str7193 = private unnamed_addr constant [16 x i8] c" br label %sh\0A\00" @.str7194 = private unnamed_addr constant [10 x i8] c"sh_move:\0A\00" @.str7195 = private unnamed_addr constant [63 x i8] c" %eh = getelementptr inbounds [2 x i64], ptr %tab, i64 %hole\0A\00" @.str7196 = private unnamed_addr constant [26 x i8] c" store i64 %kj, ptr %eh\0A\00" @.str7197 = private unnamed_addr constant [53 x i8] c" %ejv = getelementptr inbounds i64, ptr %ej, i64 1\0A\00" @.str7198 = private unnamed_addr constant [28 x i8] c" %vj = load i64, ptr %ejv\0A\00" @.str7199 = private unnamed_addr constant [53 x i8] c" %ehv = getelementptr inbounds i64, ptr %eh, i64 1\0A\00" @.str7200 = private unnamed_addr constant [27 x i8] c" store i64 %vj, ptr %ehv\0A\00" @.str7201 = private unnamed_addr constant [16 x i8] c" br label %sh\0A\00" @.str7202 = private unnamed_addr constant [9 x i8] c"sh_end:\0A\00" @.str7203 = private unnamed_addr constant [64 x i8] c" %ehe = getelementptr inbounds [2 x i64], ptr %tab, i64 %hole\0A\00" @.str7204 = private unnamed_addr constant [25 x i8] c" store i64 0, ptr %ehe\0A\00" @.str7205 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str7206 = private unnamed_addr constant [9 x i8] c"unlock:\0A\00" @.str7207 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str7208 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7209 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7210 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7211 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7212 = private unnamed_addr constant [54 x i8] c"define internal i64 @lp_fenv(ptr %name, i64 %dflt) {\0A\00" @.str7213 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7214 = private unnamed_addr constant [36 x i8] c" %e = call ptr @getenv(ptr %name)\0A\00" @.str7215 = private unnamed_addr constant [31 x i8] c" %has = icmp ne ptr %e, null\0A\00" @.str7216 = private unnamed_addr constant [40 x i8] c" br i1 %has, label %read, label %none\0A\00" @.str7217 = private unnamed_addr constant [7 x i8] c"read:\0A\00" @.str7218 = private unnamed_addr constant [31 x i8] c" %v = call i32 @atoi(ptr %e)\0A\00" @.str7219 = private unnamed_addr constant [29 x i8] c" %v64 = sext i32 %v to i64\0A\00" @.str7220 = private unnamed_addr constant [16 x i8] c" ret i64 %v64\0A\00" @.str7221 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str7222 = private unnamed_addr constant [17 x i8] c" ret i64 %dflt\0A\00" @.str7223 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7224 = private unnamed_addr constant [36 x i8] c"define internal void @lp_finit() {\0A\00" @.str7225 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7226 = private unnamed_addr constant [29 x i8] c" %m0 = load i8, ptr @lp_fm\0A\00" @.str7227 = private unnamed_addr constant [29 x i8] c" %done = icmp ne i8 %m0, 0\0A\00" @.str7228 = private unnamed_addr constant [38 x i8] c" br i1 %done, label %out, label %go\0A\00" @.str7229 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str7230 = private unnamed_addr constant [40 x i8] c" %e = call ptr @getenv(ptr @.lpf_env)\0A\00" @.str7231 = private unnamed_addr constant [31 x i8] c" %has = icmp ne ptr %e, null\0A\00" @.str7232 = private unnamed_addr constant [41 x i8] c" br i1 %has, label %parse, label %dflt\0A\00" @.str7233 = private unnamed_addr constant [8 x i8] c"parse:\0A\00" @.str7234 = private unnamed_addr constant [49 x i8] c" %c1 = call i32 @strcmp(ptr %e, ptr @.lpf_off)\0A\00" @.str7235 = private unnamed_addr constant [29 x i8] c" %is1 = icmp eq i32 %c1, 0\0A\00" @.str7236 = private unnamed_addr constant [51 x i8] c" %c2 = call i32 @strcmp(ptr %e, ptr @.lpf_count)\0A\00" @.str7237 = private unnamed_addr constant [29 x i8] c" %is2 = icmp eq i32 %c2, 0\0A\00" @.str7238 = private unnamed_addr constant [50 x i8] c" %c3 = call i32 @strcmp(ptr %e, ptr @.lpf_warn)\0A\00" @.str7239 = private unnamed_addr constant [29 x i8] c" %is3 = icmp eq i32 %c3, 0\0A\00" @.str7240 = private unnamed_addr constant [36 x i8] c" %ma = select i1 %is3, i8 3, i8 4\0A\00" @.str7241 = private unnamed_addr constant [38 x i8] c" %mb = select i1 %is2, i8 2, i8 %ma\0A\00" @.str7242 = private unnamed_addr constant [38 x i8] c" %mc = select i1 %is1, i8 1, i8 %mb\0A\00" @.str7243 = private unnamed_addr constant [17 x i8] c" br label %set\0A\00" @.str7244 = private unnamed_addr constant [7 x i8] c"dflt:\0A\00" @.str7245 = private unnamed_addr constant [30 x i8] c" %d = load i8, ptr @lp_fdef\0A\00" @.str7246 = private unnamed_addr constant [26 x i8] c" %dz = icmp eq i8 %d, 0\0A\00" @.str7247 = private unnamed_addr constant [37 x i8] c" br i1 %dz, label %dev, label %set\0A\00" @.str7248 = private unnamed_addr constant [6 x i8] c"dev:\0A\00" @.str7249 = private unnamed_addr constant [41 x i8] c" %dv = call ptr @getenv(ptr @.lpf_dev)\0A\00" @.str7250 = private unnamed_addr constant [31 x i8] c" %hd = icmp ne ptr %dv, null\0A\00" @.str7251 = private unnamed_addr constant [35 x i8] c" %md = select i1 %hd, i8 4, i8 1\0A\00" @.str7252 = private unnamed_addr constant [17 x i8] c" br label %set\0A\00" @.str7253 = private unnamed_addr constant [6 x i8] c"set:\0A\00" @.str7254 = private unnamed_addr constant [64 x i8] c" %mode = phi i8 [ %mc, %parse ], [ %d, %dflt ], [ %md, %dev ]\0A\00" @.str7255 = private unnamed_addr constant [30 x i8] c" store i8 %mode, ptr @lp_fm\0A\00" @.str7256 = private unnamed_addr constant [32 x i8] c" %wd = load i64, ptr @lp_warm\0A\00" @.str7257 = private unnamed_addr constant [51 x i8] c" %w = call i64 @lp_fenv(ptr @.lpf_warm, i64 %wd)\0A\00" @.str7258 = private unnamed_addr constant [30 x i8] c" store i64 %w, ptr @lp_warm\0A\00" @.str7259 = private unnamed_addr constant [24 x i8] c" %wx5 = mul i64 %w, 5\0A\00" @.str7260 = private unnamed_addr constant [56 x i8] c" %wm = call i64 @lp_fenv(ptr @.lpf_warmmax, i64 %wx5)\0A\00" @.str7261 = private unnamed_addr constant [35 x i8] c" store i64 %wm, ptr @lp_warm_max\0A\00" @.str7262 = private unnamed_addr constant [53 x i8] c" %dwv = call i64 @lp_fenv(ptr @.lpf_dwin, i64 600)\0A\00" @.str7263 = private unnamed_addr constant [32 x i8] c" store i64 %dwv, ptr @lp_dwin\0A\00" @.str7264 = private unnamed_addr constant [52 x i8] c" %drv = call i64 @lp_fenv(ptr @.lpf_drise, i64 6)\0A\00" @.str7265 = private unnamed_addr constant [33 x i8] c" store i64 %drv, ptr @lp_drise\0A\00" @.str7266 = private unnamed_addr constant [50 x i8] c" %au = call i64 @lp_fenv(ptr @.lpf_auto, i64 1)\0A\00" @.str7267 = private unnamed_addr constant [30 x i8] c" %au8 = trunc i64 %au to i8\0A\00" @.str7268 = private unnamed_addr constant [32 x i8] c" store i8 %au8, ptr @lp_fauto\0A\00" @.str7269 = private unnamed_addr constant [51 x i8] c" %pl = call i64 @lp_fenv(ptr @.lpf_play, i64 -1)\0A\00" @.str7270 = private unnamed_addr constant [35 x i8] c" store i64 %pl, ptr @lp_autoplay\0A\00" @.str7271 = private unnamed_addr constant [57 x i8] c" %want = call i64 @lp_fenv(ptr @.lpf_tab, i64 4194304)\0A\00" @.str7272 = private unnamed_addr constant [17 x i8] c" br label %cap\0A\00" @.str7273 = private unnamed_addr constant [6 x i8] c"cap:\0A\00" @.str7274 = private unnamed_addr constant [48 x i8] c" %c = phi i64 [ 1024, %set ], [ %c2x, %grow ]\0A\00" @.str7275 = private unnamed_addr constant [33 x i8] c" %big = icmp sge i64 %c, %want\0A\00" @.str7276 = private unnamed_addr constant [42 x i8] c" br i1 %big, label %capped, label %grow\0A\00" @.str7277 = private unnamed_addr constant [7 x i8] c"grow:\0A\00" @.str7278 = private unnamed_addr constant [24 x i8] c" %c2x = shl i64 %c, 1\0A\00" @.str7279 = private unnamed_addr constant [17 x i8] c" br label %cap\0A\00" @.str7280 = private unnamed_addr constant [9 x i8] c"capped:\0A\00" @.str7281 = private unnamed_addr constant [25 x i8] c" %mask = sub i64 %c, 1\0A\00" @.str7282 = private unnamed_addr constant [36 x i8] c" store i64 %mask, ptr @lp_tabmask\0A\00" @.str7283 = private unnamed_addr constant [23 x i8] c" %q = lshr i64 %c, 2\0A\00" @.str7284 = private unnamed_addr constant [24 x i8] c" %max = mul i64 %q, 3\0A\00" @.str7285 = private unnamed_addr constant [34 x i8] c" store i64 %max, ptr @lp_tabmax\0A\00" @.str7286 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7287 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7288 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7289 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7290 = private unnamed_addr constant [36 x i8] c"define internal void @lp_fsnap() {\0A\00" @.str7291 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7292 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str7293 = private unnamed_addr constant [32 x i8] c" store i64 %lv, ptr @lp_mlive\0A\00" @.str7294 = private unnamed_addr constant [34 x i8] c" %dlm = load i64, ptr @lp_dlive\0A\00" @.str7295 = private unnamed_addr constant [34 x i8] c" store i64 %dlm, ptr @lp_mdlive\0A\00" @.str7296 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str7297 = private unnamed_addr constant [31 x i8] c" store i64 %pr, ptr @lp_mpre\0A\00" @.str7298 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str7299 = private unnamed_addr constant [32 x i8] c" store i64 %md, ptr @lp_mmade\0A\00" @.str7300 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str7301 = private unnamed_addr constant [33 x i8] c" store i64 %fr, ptr @lp_mfreed\0A\00" @.str7302 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @lp_ntouch\0A\00" @.str7303 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7304 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7305 = private unnamed_addr constant [40 x i8] c"define internal void @lp_fsnap_all() {\0A\00" @.str7306 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7307 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_site_n\0A\00" @.str7308 = private unnamed_addr constant [29 x i8] c" %n64 = zext i32 %n to i64\0A\00" @.str7309 = private unnamed_addr constant [24 x i8] c" %b = shl i64 %n64, 3\0A\00" @.str7310 = private unnamed_addr constant [66 x i8] c" call ptr @memcpy(ptr @lp_site_mark, ptr @lp_site_live, i64 %b)\0A\00" @.str7311 = private unnamed_addr constant [25 x i8] c" call void @lp_fsnap()\0A\00" @.str7312 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7313 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7314 = private unnamed_addr constant [30 x i8] c"define void @lp_mem_play() {\0A\00" @.str7315 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7316 = private unnamed_addr constant [25 x i8] c" call void @lp_finit()\0A\00" @.str7317 = private unnamed_addr constant [28 x i8] c" %m = load i8, ptr @lp_fm\0A\00" @.str7318 = private unnamed_addr constant [28 x i8] c" %off = icmp ule i8 %m, 1\0A\00" @.str7319 = private unnamed_addr constant [38 x i8] c" br i1 %off, label %out, label %chk\0A\00" @.str7320 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str7321 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str7322 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str7323 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str7324 = private unnamed_addr constant [42 x i8] c" br i1 %on, label %rewarm, label %start\0A\00" @.str7325 = private unnamed_addr constant [9 x i8] c"rewarm:\0A\00" @.str7326 = 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" @.str7327 = 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" @.str7328 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str7329 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_fj\0A\00" @.str7330 = private unnamed_addr constant [29 x i8] c" store i64 0, ptr @lp_flat\0A\00" @.str7331 = private unnamed_addr constant [54 x i8] c" %rw = call i64 @lp_fenv(ptr @.lpf_rewarm, i64 120)\0A\00" @.str7332 = private unnamed_addr constant [37 x i8] c" %wmx = load i64, ptr @lp_warm_max\0A\00" @.str7333 = private unnamed_addr constant [34 x i8] c" %pf0 = load i64, ptr @lp_playf\0A\00" @.str7334 = private unnamed_addr constant [25 x i8] c" %fr = add i64 %f, %rw\0A\00" @.str7335 = private unnamed_addr constant [28 x i8] c" %pfg = sub i64 %fr, %wmx\0A\00" @.str7336 = private unnamed_addr constant [36 x i8] c" %later = icmp sgt i64 %pfg, %pf0\0A\00" @.str7337 = private unnamed_addr constant [47 x i8] c" %pf1 = select i1 %later, i64 %pfg, i64 %pf0\0A\00" @.str7338 = private unnamed_addr constant [33 x i8] c" store i64 %pf1, ptr @lp_playf\0A\00" @.str7339 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str7340 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7341 = private unnamed_addr constant [8 x i8] c"start:\0A\00" @.str7342 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str7343 = private unnamed_addr constant [34 x i8] c" %none = icmp eq ptr %tab, null\0A\00" @.str7344 = private unnamed_addr constant [40 x i8] c" br i1 %none, label %make, label %arm\0A\00" @.str7345 = private unnamed_addr constant [7 x i8] c"make:\0A\00" @.str7346 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str7347 = private unnamed_addr constant [25 x i8] c" %c = add i64 %mask, 1\0A\00" @.str7348 = private unnamed_addr constant [41 x i8] c" %p = call ptr @calloc(i64 %c, i64 16)\0A\00" @.str7349 = private unnamed_addr constant [29 x i8] c" store ptr %p, ptr @lp_tab\0A\00" @.str7350 = private unnamed_addr constant [17 x i8] c" br label %arm\0A\00" @.str7351 = private unnamed_addr constant [6 x i8] c"arm:\0A\00" @.str7352 = private unnamed_addr constant [31 x i8] c" store i64 %f, ptr @lp_playf\0A\00" @.str7353 = private unnamed_addr constant [29 x i8] c" store i64 0, ptr @lp_flat\0A\00" @.str7354 = private unnamed_addr constant [45 x i8] c" %cp0 = call ptr @getenv(ptr @.lpf_census)\0A\00" @.str7355 = private unnamed_addr constant [39 x i8] c" %cpd = load ptr, ptr @lp_census_def\0A\00" @.str7356 = private unnamed_addr constant [36 x i8] c" %hasenv = icmp ne ptr %cp0, null\0A\00" @.str7357 = private unnamed_addr constant [47 x i8] c" %cp = select i1 %hasenv, ptr %cp0, ptr %cpd\0A\00" @.str7358 = private unnamed_addr constant [33 x i8] c" store ptr %cp, ptr @lp_census\0A\00" @.str7359 = private unnamed_addr constant [34 x i8] c" %hascp = icmp ne ptr %cp, null\0A\00" @.str7360 = private unnamed_addr constant [39 x i8] c" br i1 %hascp, label %reg, label %go\0A\00" @.str7361 = private unnamed_addr constant [6 x i8] c"reg:\0A\00" @.str7362 = private unnamed_addr constant [37 x i8] c" call i32 @atexit(ptr @lp_fcensus)\0A\00" @.str7363 = private unnamed_addr constant [16 x i8] c" br label %go\0A\00" @.str7364 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str7365 = private unnamed_addr constant [54 x i8] c" %ex = call i64 @lp_fenv(ptr @.lpf_exitscan, i64 0)\0A\00" @.str7366 = private unnamed_addr constant [29 x i8] c" %exq = icmp ne i64 %ex, 0\0A\00" @.str7367 = private unnamed_addr constant [39 x i8] c" br i1 %exq, label %regx, label %go2\0A\00" @.str7368 = private unnamed_addr constant [7 x i8] c"regx:\0A\00" @.str7369 = private unnamed_addr constant [39 x i8] c" call i32 @atexit(ptr @lp_fexitscan)\0A\00" @.str7370 = private unnamed_addr constant [17 x i8] c" br label %go2\0A\00" @.str7371 = private unnamed_addr constant [6 x i8] c"go2:\0A\00" @.str7372 = private unnamed_addr constant [29 x i8] c" call void @lp_fsnap_all()\0A\00" @.str7373 = private unnamed_addr constant [26 x i8] c" store i8 1, ptr @lp_ft\0A\00" @.str7374 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7375 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7376 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7377 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7378 = private unnamed_addr constant [33 x i8] c"define void @lp_mem_settled() {\0A\00" @.str7379 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7380 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str7381 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str7382 = private unnamed_addr constant [37 x i8] c" br i1 %on, label %chk, label %out\0A\00" @.str7383 = private unnamed_addr constant [6 x i8] c"chk:\0A\00" @.str7384 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str7385 = private unnamed_addr constant [31 x i8] c" %already = icmp ne i8 %j, 0\0A\00" @.str7386 = private unnamed_addr constant [41 x i8] c" br i1 %already, label %out, label %go\0A\00" @.str7387 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str7388 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str7389 = private unnamed_addr constant [29 x i8] c" call void @lp_fsnap_all()\0A\00" @.str7390 = private unnamed_addr constant [34 x i8] c" call void @lp_fsettle_locked()\0A\00" @.str7391 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str7392 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7393 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7394 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7395 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7396 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_kept() {\0A\00" @.str7397 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7398 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str7399 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %j, 0\0A\00" @.str7400 = private unnamed_addr constant [39 x i8] c" br i1 %on, label %read, label %none\0A\00" @.str7401 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str7402 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str7403 = private unnamed_addr constant [7 x i8] c"read:\0A\00" @.str7404 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str7405 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str7406 = private unnamed_addr constant [33 x i8] c" %sl = load i64, ptr @lp_slive\0A\00" @.str7407 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str7408 = private unnamed_addr constant [32 x i8] c" %sp = load i64, ptr @lp_spre\0A\00" @.str7409 = private unnamed_addr constant [25 x i8] c" %a = sub i64 %lv, %sl\0A\00" @.str7410 = private unnamed_addr constant [25 x i8] c" %b = sub i64 %pr, %sp\0A\00" @.str7411 = private unnamed_addr constant [23 x i8] c" %k = sub i64 %a, %b\0A\00" @.str7412 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str7413 = private unnamed_addr constant [14 x i8] c" ret i64 %k\0A\00" @.str7414 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7415 = private unnamed_addr constant [35 x i8] c"define i64 @lp_mem_bad_frames() {\0A\00" @.str7416 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7417 = private unnamed_addr constant [31 x i8] c" %b = load i64, ptr @lp_fbad\0A\00" @.str7418 = private unnamed_addr constant [14 x i8] c" ret i64 %b\0A\00" @.str7419 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7420 = private unnamed_addr constant [63 x i8] c"define internal i64 @lp_fdelta(i32 %s, ptr %cur, ptr %base) {\0A\00" @.str7421 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7422 = private unnamed_addr constant [54 x i8] c" %sp = getelementptr inbounds i64, ptr %cur, i32 %s\0A\00" @.str7423 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str7424 = private unnamed_addr constant [55 x i8] c" %mp = getelementptr inbounds i64, ptr %base, i32 %s\0A\00" @.str7425 = private unnamed_addr constant [26 x i8] c" %m = load i64, ptr %mp\0A\00" @.str7426 = private unnamed_addr constant [23 x i8] c" %d = sub i64 %v, %m\0A\00" @.str7427 = private unnamed_addr constant [14 x i8] c" ret i64 %d\0A\00" @.str7428 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7429 = private unnamed_addr constant [53 x i8] c"define internal i32 @lp_fsite_at(i32 %i, i1 %all) {\0A\00" @.str7430 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7431 = private unnamed_addr constant [44 x i8] c" br i1 %all, label %every, label %touched\0A\00" @.str7432 = private unnamed_addr constant [8 x i8] c"every:\0A\00" @.str7433 = private unnamed_addr constant [14 x i8] c" ret i32 %i\0A\00" @.str7434 = private unnamed_addr constant [10 x i8] c"touched:\0A\00" @.str7435 = private unnamed_addr constant [74 x i8] c" %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %i\0A\00" @.str7436 = private unnamed_addr constant [26 x i8] c" %s = load i32, ptr %tp\0A\00" @.str7437 = private unnamed_addr constant [14 x i8] c" ret i32 %s\0A\00" @.str7438 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7439 = 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" @.str7440 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7441 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7442 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str7443 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str7444 = private unnamed_addr constant [49 x i8] c" %bb0 = phi i64 [ 0, %entry ], [ %bb1, %body ]\0A\00" @.str7445 = private unnamed_addr constant [50 x i8] c" %bs0 = phi i32 [ -1, %entry ], [ %bs1, %body ]\0A\00" @.str7446 = private unnamed_addr constant [31 x i8] c" %go = icmp ult i32 %i, %cnt\0A\00" @.str7447 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str7448 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str7449 = private unnamed_addr constant [47 x i8] c" %s = call i32 @lp_fsite_at(i32 %i, i1 %all)\0A\00" @.str7450 = private unnamed_addr constant [57 x i8] c" %d = call i64 @lp_fdelta(i32 %s, ptr %cur, ptr %base)\0A\00" @.str7451 = private unnamed_addr constant [29 x i8] c" %pos = icmp sgt i64 %d, 0\0A\00" @.str7452 = private unnamed_addr constant [30 x i8] c" %lt = icmp slt i64 %d, %pb\0A\00" @.str7453 = private unnamed_addr constant [30 x i8] c" %eqb = icmp eq i64 %d, %pb\0A\00" @.str7454 = private unnamed_addr constant [31 x i8] c" %gts = icmp sgt i32 %s, %ps\0A\00" @.str7455 = private unnamed_addr constant [28 x i8] c" %tie = and i1 %eqb, %gts\0A\00" @.str7456 = private unnamed_addr constant [28 x i8] c" %below = or i1 %lt, %tie\0A\00" @.str7457 = private unnamed_addr constant [32 x i8] c" %gtb = icmp sgt i64 %d, %bb0\0A\00" @.str7458 = private unnamed_addr constant [32 x i8] c" %eqbb = icmp eq i64 %d, %bb0\0A\00" @.str7459 = private unnamed_addr constant [32 x i8] c" %lts = icmp slt i32 %s, %bs0\0A\00" @.str7460 = private unnamed_addr constant [30 x i8] c" %tie2 = and i1 %eqbb, %lts\0A\00" @.str7461 = private unnamed_addr constant [31 x i8] c" %better = or i1 %gtb, %tie2\0A\00" @.str7462 = private unnamed_addr constant [29 x i8] c" %c1 = and i1 %pos, %below\0A\00" @.str7463 = private unnamed_addr constant [31 x i8] c" %take = and i1 %c1, %better\0A\00" @.str7464 = private unnamed_addr constant [44 x i8] c" %bb1 = select i1 %take, i64 %d, i64 %bb0\0A\00" @.str7465 = private unnamed_addr constant [44 x i8] c" %bs1 = select i1 %take, i32 %s, i32 %bs0\0A\00" @.str7466 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str7467 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7468 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str7469 = private unnamed_addr constant [53 x i8] c" %r0 = insertvalue { i64, i32 } undef, i64 %bb0, 0\0A\00" @.str7470 = private unnamed_addr constant [51 x i8] c" %r1 = insertvalue { i64, i32 } %r0, i32 %bs0, 1\0A\00" @.str7471 = private unnamed_addr constant [24 x i8] c" ret { i64, i32 } %r1\0A\00" @.str7472 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7473 = 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" @.str7474 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7475 = private unnamed_addr constant [62 x i8] c" %fnp = getelementptr inbounds ptr, ptr @lp_site_fn, i32 %s\0A\00" @.str7476 = private unnamed_addr constant [28 x i8] c" %fn = load ptr, ptr %fnp\0A\00" @.str7477 = private unnamed_addr constant [64 x i8] c" %flp = getelementptr inbounds ptr, ptr @lp_site_file, i32 %s\0A\00" @.str7478 = private unnamed_addr constant [28 x i8] c" %fl = load ptr, ptr %flp\0A\00" @.str7479 = private unnamed_addr constant [64 x i8] c" %lnp = getelementptr inbounds i32, ptr @lp_site_line, i32 %s\0A\00" @.str7480 = private unnamed_addr constant [28 x i8] c" %ln = load i32, ptr %lnp\0A\00" @.str7481 = private unnamed_addr constant [64 x i8] c" %kdp = getelementptr inbounds ptr, ptr @lp_site_kind, i32 %s\0A\00" @.str7482 = private unnamed_addr constant [28 x i8] c" %kd = load ptr, ptr %kdp\0A\00" @.str7483 = private unnamed_addr constant [35 x i8] c" %tofile = icmp ne ptr %fp, null\0A\00" @.str7484 = private unnamed_addr constant [42 x i8] c" br i1 %tofile, label %file, label %err\0A\00" @.str7485 = private unnamed_addr constant [7 x i8] c"file:\0A\00" @.str7486 = 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" @.str7487 = private unnamed_addr constant [18 x i8] c" br label %from\0A\00" @.str7488 = private unnamed_addr constant [6 x i8] c"err:\0A\00" @.str7489 = 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" @.str7490 = private unnamed_addr constant [18 x i8] c" br label %from\0A\00" @.str7491 = private unnamed_addr constant [7 x i8] c"from:\0A\00" @.str7492 = private unnamed_addr constant [54 x i8] c" call void @lp_fsite_from(ptr %fp, i32 %s, ptr %fn)\0A\00" @.str7493 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7494 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7495 = private unnamed_addr constant [73 x i8] c"; the largest `rows` sites by what they hold over `base`, largest first\0A\00" @.str7496 = 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" @.str7497 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7498 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str7499 = private unnamed_addr constant [7 x i8] c"pass:\0A\00" @.str7500 = private unnamed_addr constant [50 x i8] c" %row = phi i32 [ 0, %entry ], [ %row1, %show ]\0A\00" @.str7501 = private unnamed_addr constant [65 x i8] c" %pb = phi i64 [ 9223372036854775807, %entry ], [ %bb, %show ]\0A\00" @.str7502 = private unnamed_addr constant [48 x i8] c" %ps = phi i32 [ -1, %entry ], [ %bs, %show ]\0A\00" @.str7503 = private unnamed_addr constant [36 x i8] c" %more = icmp ult i32 %row, %rows\0A\00" @.str7504 = private unnamed_addr constant [41 x i8] c" br i1 %more, label %scan, label %tail\0A\00" @.str7505 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str7506 = 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" @.str7507 = private unnamed_addr constant [41 x i8] c" %bb = extractvalue { i64, i32 } %r, 0\0A\00" @.str7508 = private unnamed_addr constant [41 x i8] c" %bs = extractvalue { i64, i32 } %r, 1\0A\00" @.str7509 = private unnamed_addr constant [32 x i8] c" %found = icmp sge i32 %bs, 0\0A\00" @.str7510 = private unnamed_addr constant [42 x i8] c" br i1 %found, label %show, label %tail\0A\00" @.str7511 = private unnamed_addr constant [7 x i8] c"show:\0A\00" @.str7512 = 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" @.str7513 = private unnamed_addr constant [27 x i8] c" %row1 = add i32 %row, 1\0A\00" @.str7514 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str7515 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str7516 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7517 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7518 = private unnamed_addr constant [55 x i8] c"define internal void @lp_freport(i64 %f, i64 %kept) {\0A\00" @.str7519 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7520 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str7521 = private unnamed_addr constant [33 x i8] c" %mm = load i64, ptr @lp_mmade\0A\00" @.str7522 = private unnamed_addr constant [28 x i8] c" %made = sub i64 %md, %mm\0A\00" @.str7523 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str7524 = private unnamed_addr constant [34 x i8] c" %mf = load i64, ptr @lp_mfreed\0A\00" @.str7525 = private unnamed_addr constant [29 x i8] c" %freed = sub i64 %fr, %mf\0A\00" @.str7526 = 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" @.str7527 = private unnamed_addr constant [34 x i8] c" %nt = load i32, ptr @lp_ntouch\0A\00" @.str7528 = private unnamed_addr constant [32 x i8] c" %all = icmp ugt i32 %nt, 512\0A\00" @.str7529 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str7530 = private unnamed_addr constant [43 x i8] c" %cnt = select i1 %all, i32 %sn, i32 %nt\0A\00" @.str7531 = 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" @.str7532 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7533 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7534 = 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" @.str7535 = private unnamed_addr constant [51 x i8] c"; that holds more than it did then, largest first\0A\00" @.str7536 = private unnamed_addr constant [29 x i8] c"define void @lp_fcensus() {\0A\00" @.str7537 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7538 = private unnamed_addr constant [36 x i8] c" %path = load ptr, ptr @lp_census\0A\00" @.str7539 = private unnamed_addr constant [35 x i8] c" %none = icmp eq ptr %path, null\0A\00" @.str7540 = private unnamed_addr constant [40 x i8] c" br i1 %none, label %out, label %open\0A\00" @.str7541 = private unnamed_addr constant [7 x i8] c"open:\0A\00" @.str7542 = private unnamed_addr constant [30 x i8] c" %zn = call i64 @lp_fzone()\0A\00" @.str7543 = private unnamed_addr constant [41 x i8] c" %jn = call i64 @lp_fnat(ptr @.lpf_jb)\0A\00" @.str7544 = private unnamed_addr constant [42 x i8] c" %jpk = call i64 @lp_fnat(ptr @.lpf_jp)\0A\00" @.str7545 = private unnamed_addr constant [41 x i8] c" %vn = call i64 @lp_fnat(ptr @.lpf_vb)\0A\00" @.str7546 = private unnamed_addr constant [42 x i8] c" %vpk = call i64 @lp_fnat(ptr @.lpf_vp)\0A\00" @.str7547 = private unnamed_addr constant [49 x i8] c" %fp = call ptr @fopen(ptr %path, ptr @.lpf_w)\0A\00" @.str7548 = private unnamed_addr constant [32 x i8] c" %bad = icmp eq ptr %fp, null\0A\00" @.str7549 = private unnamed_addr constant [40 x i8] c" br i1 %bad, label %out, label %write\0A\00" @.str7550 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str7551 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_ft\0A\00" @.str7552 = private unnamed_addr constant [34 x i8] c" %j = load i64, ptr @lp_fjudged\0A\00" @.str7553 = private unnamed_addr constant [31 x i8] c" %b = load i64, ptr @lp_fbad\0A\00" @.str7554 = private unnamed_addr constant [32 x i8] c" %k = call i64 @lp_mem_kept()\0A\00" @.str7555 = private unnamed_addr constant [32 x i8] c" %md = load i64, ptr @lp_made\0A\00" @.str7556 = private unnamed_addr constant [33 x i8] c" %fr = load i64, ptr @lp_freed\0A\00" @.str7557 = private unnamed_addr constant [32 x i8] c" %ov = load i64, ptr @lp_over\0A\00" @.str7558 = 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" @.str7559 = private unnamed_addr constant [27 x i8] c" %jq = icmp ne i64 %j, 0\0A\00" @.str7560 = private unnamed_addr constant [32 x i8] c" %zs = load i64, ptr @lp_zset\0A\00" @.str7561 = private unnamed_addr constant [26 x i8] c" %zd = sub i64 %zn, %zs\0A\00" @.str7562 = private unnamed_addr constant [32 x i8] c" %js = load i64, ptr @lp_jset\0A\00" @.str7563 = private unnamed_addr constant [26 x i8] c" %jd = sub i64 %jn, %js\0A\00" @.str7564 = private unnamed_addr constant [32 x i8] c" %vs = load i64, ptr @lp_vset\0A\00" @.str7565 = private unnamed_addr constant [26 x i8] c" %vd = sub i64 %vn, %vs\0A\00" @.str7566 = private unnamed_addr constant [34 x i8] c" %dnw = load i64, ptr @lp_dlive\0A\00" @.str7567 = private unnamed_addr constant [35 x i8] c" %dst = load i64, ptr @lp_sdlive\0A\00" @.str7568 = private unnamed_addr constant [29 x i8] c" %dgr = sub i64 %dnw, %dst\0A\00" @.str7569 = private unnamed_addr constant [27 x i8] c" %nat0 = sub i64 %zd, %k\0A\00" @.str7570 = private unnamed_addr constant [30 x i8] c" %nat = sub i64 %nat0, %dgr\0A\00" @.str7571 = private unnamed_addr constant [29 x i8] c" %nat2 = sub i64 %nat, %jd\0A\00" @.str7572 = private unnamed_addr constant [30 x i8] c" %nat3 = sub i64 %nat2, %vd\0A\00" @.str7573 = private unnamed_addr constant [43 x i8] c" %nat1 = select i1 %jq, i64 %nat3, i64 0\0A\00" @.str7574 = private unnamed_addr constant [73 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cnat, i64 %nat1)\0A\00" @.str7575 = private unnamed_addr constant [35 x i8] c" %dnow = load i64, ptr @lp_dlive\0A\00" @.str7576 = private unnamed_addr constant [36 x i8] c" %dset = load i64, ptr @lp_sdlive\0A\00" @.str7577 = private unnamed_addr constant [31 x i8] c" %ddc = sub i64 %dnow, %dset\0A\00" @.str7578 = private unnamed_addr constant [42 x i8] c" %ddc1 = select i1 %jq, i64 %ddc, i64 0\0A\00" @.str7579 = private unnamed_addr constant [74 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cdecl, i64 %ddc1)\0A\00" @.str7580 = private unnamed_addr constant [34 x i8] c" %capn = load i64, ptr @lp_capn\0A\00" @.str7581 = private unnamed_addr constant [73 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_ccap, i64 %capn)\0A\00" @.str7582 = private unnamed_addr constant [35 x i8] c" %ah0 = load i64, ptr @lp_ar_hw0\0A\00" @.str7583 = private unnamed_addr constant [35 x i8] c" %ah1 = load i64, ptr @lp_ar_hw1\0A\00" @.str7584 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_car, i64 %ah0, i64 %ah1)\0A\00" @.str7585 = private unnamed_addr constant [40 x i8] c" %jd1 = select i1 %jq, i64 %jd, i64 0\0A\00" @.str7586 = private unnamed_addr constant [83 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cjolt, i64 %jd1, i64 %jpk)\0A\00" @.str7587 = private unnamed_addr constant [40 x i8] c" %vd1 = select i1 %jq, i64 %vd, i64 0\0A\00" @.str7588 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cvk, i64 %vd1, i64 %vpk)\0A\00" @.str7589 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str7590 = private unnamed_addr constant [33 x i8] c" %dun = load i64, ptr @lp_dunb\0A\00" @.str7591 = private unnamed_addr constant [73 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cdunb, i64 %dun)\0A\00" @.str7592 = 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" @.str7593 = 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" @.str7594 = private unnamed_addr constant [34 x i8] c" call void @lp_fowners(ptr %fp)\0A\00" @.str7595 = private unnamed_addr constant [29 x i8] c" call i32 @fclose(ptr %fp)\0A\00" @.str7596 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7597 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7598 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7599 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7600 = private unnamed_addr constant [44 x i8] c"define internal void @lp_fmark_touched() {\0A\00" @.str7601 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7602 = private unnamed_addr constant [34 x i8] c" %nt = load i32, ptr @lp_ntouch\0A\00" @.str7603 = private unnamed_addr constant [32 x i8] c" %all = icmp ugt i32 %nt, 512\0A\00" @.str7604 = private unnamed_addr constant [41 x i8] c" br i1 %all, label %every, label %some\0A\00" @.str7605 = private unnamed_addr constant [8 x i8] c"every:\0A\00" @.str7606 = private unnamed_addr constant [29 x i8] c" call void @lp_fsnap_all()\0A\00" @.str7607 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7608 = private unnamed_addr constant [7 x i8] c"some:\0A\00" @.str7609 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7610 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str7611 = private unnamed_addr constant [45 x i8] c" %i = phi i32 [ 0, %some ], [ %i1, %body ]\0A\00" @.str7612 = private unnamed_addr constant [30 x i8] c" %go = icmp ult i32 %i, %nt\0A\00" @.str7613 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str7614 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str7615 = private unnamed_addr constant [74 x i8] c" %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %i\0A\00" @.str7616 = private unnamed_addr constant [26 x i8] c" %s = load i32, ptr %tp\0A\00" @.str7617 = private unnamed_addr constant [63 x i8] c" %sp = getelementptr inbounds i64, ptr @lp_site_live, i32 %s\0A\00" @.str7618 = private unnamed_addr constant [26 x i8] c" %v = load i64, ptr %sp\0A\00" @.str7619 = private unnamed_addr constant [63 x i8] c" %mp = getelementptr inbounds i64, ptr @lp_site_mark, i32 %s\0A\00" @.str7620 = private unnamed_addr constant [25 x i8] c" store i64 %v, ptr %mp\0A\00" @.str7621 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str7622 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7623 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str7624 = private unnamed_addr constant [25 x i8] c" call void @lp_fsnap()\0A\00" @.str7625 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7626 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7627 = 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" @.str7628 = private unnamed_addr constant [35 x i8] c"define internal i64 @lp_fzone() {\0A\00" @.str7629 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7630 = private unnamed_addr constant [52 x i8] c" %has = icmp ne ptr @malloc_zone_statistics, null\0A\00" @.str7631 = private unnamed_addr constant [40 x i8] c" br i1 %has, label %read, label %none\0A\00" @.str7632 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str7633 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str7634 = private unnamed_addr constant [7 x i8] c"read:\0A\00" @.str7635 = private unnamed_addr constant [35 x i8] c" %st = alloca [4 x i64], align 8\0A\00" @.str7636 = private unnamed_addr constant [56 x i8] c" call void @malloc_zone_statistics(ptr null, ptr %st)\0A\00" @.str7637 = private unnamed_addr constant [55 x i8] c" %p = getelementptr [4 x i64], ptr %st, i32 0, i32 1\0A\00" @.str7638 = private unnamed_addr constant [25 x i8] c" %n = load i64, ptr %p\0A\00" @.str7639 = private unnamed_addr constant [14 x i8] c" ret i64 %n\0A\00" @.str7640 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7641 = 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" @.str7642 = 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" @.str7643 = private unnamed_addr constant [43 x i8] c"define internal i64 @lp_fnat(ptr %name) {\0A\00" @.str7644 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7645 = private unnamed_addr constant [42 x i8] c" %rtld_default = inttoptr i64 -2 to ptr\0A\00" @.str7646 = private unnamed_addr constant [54 x i8] c" %f = call ptr @dlsym(ptr %rtld_default, ptr %name)\0A\00" @.str7647 = private unnamed_addr constant [32 x i8] c" %none = icmp eq ptr %f, null\0A\00" @.str7648 = private unnamed_addr constant [41 x i8] c" br i1 %none, label %zero, label %call\0A\00" @.str7649 = private unnamed_addr constant [7 x i8] c"zero:\0A\00" @.str7650 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str7651 = private unnamed_addr constant [7 x i8] c"call:\0A\00" @.str7652 = private unnamed_addr constant [22 x i8] c" %v = call i64 %f()\0A\00" @.str7653 = private unnamed_addr constant [14 x i8] c" ret i64 %v\0A\00" @.str7654 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7655 = 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" @.str7656 = 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" @.str7657 = private unnamed_addr constant [59 x i8] c"define void @lp_cap_over(ptr %name, i32 %cap, i32 %len) {\0A\00" @.str7658 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7659 = private unnamed_addr constant [25 x i8] c" call void @lp_finit()\0A\00" @.str7660 = private unnamed_addr constant [28 x i8] c" %m = load i8, ptr @lp_fm\0A\00" @.str7661 = private unnamed_addr constant [28 x i8] c" %off = icmp ule i8 %m, 1\0A\00" @.str7662 = private unnamed_addr constant [40 x i8] c" br i1 %off, label %out, label %count\0A\00" @.str7663 = private unnamed_addr constant [8 x i8] c"count:\0A\00" @.str7664 = private unnamed_addr constant [31 x i8] c" %c = load i64, ptr @lp_capn\0A\00" @.str7665 = private unnamed_addr constant [23 x i8] c" %c1 = add i64 %c, 1\0A\00" @.str7666 = private unnamed_addr constant [31 x i8] c" store i64 %c1, ptr @lp_capn\0A\00" @.str7667 = private unnamed_addr constant [28 x i8] c" %say = icmp uge i8 %m, 3\0A\00" @.str7668 = private unnamed_addr constant [40 x i8] c" br i1 %say, label %which, label %out\0A\00" @.str7669 = private unnamed_addr constant [8 x i8] c"which:\0A\00" @.str7670 = private unnamed_addr constant [33 x i8] c" %isfull = icmp eq i32 %cap, 0\0A\00" @.str7671 = private unnamed_addr constant [43 x i8] c" br i1 %isfull, label %full, label %over\0A\00" @.str7672 = private unnamed_addr constant [7 x i8] c"full:\0A\00" @.str7673 = private unnamed_addr constant [71 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_full, ptr %name)\0A\00" @.str7674 = private unnamed_addr constant [19 x i8] c" br label %judge\0A\00" @.str7675 = private unnamed_addr constant [7 x i8] c"over:\0A\00" @.str7676 = 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" @.str7677 = private unnamed_addr constant [19 x i8] c" br label %judge\0A\00" @.str7678 = private unnamed_addr constant [8 x i8] c"judge:\0A\00" @.str7679 = private unnamed_addr constant [28 x i8] c" %fail = icmp eq i8 %m, 4\0A\00" @.str7680 = private unnamed_addr constant [39 x i8] c" br i1 %fail, label %die, label %out\0A\00" @.str7681 = private unnamed_addr constant [6 x i8] c"die:\0A\00" @.str7682 = private unnamed_addr constant [63 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_capfail)\0A\00" @.str7683 = private unnamed_addr constant [27 x i8] c" call void @exit(i32 87)\0A\00" @.str7684 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str7685 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7686 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7687 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7688 = 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" @.str7689 = 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" @.str7690 = 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" @.str7691 = 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" @.str7692 = private unnamed_addr constant [39 x i8] c"define internal i1 @lp_vput(i64 %k) {\0A\00" @.str7693 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7694 = private unnamed_addr constant [35 x i8] c" %mask = load i64, ptr @lp_vmask\0A\00" @.str7695 = private unnamed_addr constant [38 x i8] c" %tab = load ptr, ptr @lp_visit_set\0A\00" @.str7696 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str7697 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7698 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str7699 = private unnamed_addr constant [47 x i8] c" %i = phi i64 [ %h, %entry ], [ %i1, %next ]\0A\00" @.str7700 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str7701 = private unnamed_addr constant [54 x i8] c" %e = getelementptr inbounds i64, ptr %tab, i64 %im\0A\00" @.str7702 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str7703 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str7704 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %put, label %cmp\0A\00" @.str7705 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str7706 = private unnamed_addr constant [31 x i8] c" %same = icmp eq i64 %ek, %k\0A\00" @.str7707 = private unnamed_addr constant [40 x i8] c" br i1 %same, label %was, label %next\0A\00" @.str7708 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str7709 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str7710 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7711 = private unnamed_addr constant [6 x i8] c"put:\0A\00" @.str7712 = private unnamed_addr constant [24 x i8] c" store i64 %k, ptr %e\0A\00" @.str7713 = private unnamed_addr constant [12 x i8] c" ret i1 1\0A\00" @.str7714 = private unnamed_addr constant [6 x i8] c"was:\0A\00" @.str7715 = private unnamed_addr constant [12 x i8] c" ret i1 0\0A\00" @.str7716 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7717 = private unnamed_addr constant [39 x i8] c"define internal i1 @lp_vhas(i64 %k) {\0A\00" @.str7718 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7719 = private unnamed_addr constant [35 x i8] c" %mask = load i64, ptr @lp_vmask\0A\00" @.str7720 = private unnamed_addr constant [38 x i8] c" %tab = load ptr, ptr @lp_visit_set\0A\00" @.str7721 = private unnamed_addr constant [35 x i8] c" %h = call i64 @lp_fhash(i64 %k)\0A\00" @.str7722 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7723 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str7724 = private unnamed_addr constant [47 x i8] c" %i = phi i64 [ %h, %entry ], [ %i1, %next ]\0A\00" @.str7725 = private unnamed_addr constant [27 x i8] c" %im = and i64 %i, %mask\0A\00" @.str7726 = private unnamed_addr constant [54 x i8] c" %e = getelementptr inbounds i64, ptr %tab, i64 %im\0A\00" @.str7727 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str7728 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str7729 = private unnamed_addr constant [39 x i8] c" br i1 %empty, label %no, label %cmp\0A\00" @.str7730 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str7731 = private unnamed_addr constant [31 x i8] c" %same = icmp eq i64 %ek, %k\0A\00" @.str7732 = private unnamed_addr constant [40 x i8] c" br i1 %same, label %yes, label %next\0A\00" @.str7733 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str7734 = private unnamed_addr constant [24 x i8] c" %i1 = add i64 %im, 1\0A\00" @.str7735 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str7736 = private unnamed_addr constant [6 x i8] c"yes:\0A\00" @.str7737 = private unnamed_addr constant [12 x i8] c" ret i1 1\0A\00" @.str7738 = private unnamed_addr constant [5 x i8] c"no:\0A\00" @.str7739 = private unnamed_addr constant [12 x i8] c" ret i1 0\0A\00" @.str7740 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7741 = 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" @.str7742 = 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" @.str7743 = 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" @.str7744 = private unnamed_addr constant [42 x i8] c"define internal void @lp_visit(i64 %w) {\0A\00" @.str7745 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7746 = private unnamed_addr constant [24 x i8] c" %al = and i64 %w, 15\0A\00" @.str7747 = private unnamed_addr constant [29 x i8] c" %mis = icmp ne i64 %al, 0\0A\00" @.str7748 = private unnamed_addr constant [38 x i8] c" %low = icmp ult i64 %w, 4294967296\0A\00" @.str7749 = private unnamed_addr constant [44 x i8] c" %high = icmp uge i64 %w, 140737488355328\0A\00" @.str7750 = private unnamed_addr constant [26 x i8] c" %s1 = or i1 %mis, %low\0A\00" @.str7751 = private unnamed_addr constant [26 x i8] c" %s2 = or i1 %s1, %high\0A\00" @.str7752 = private unnamed_addr constant [39 x i8] c" br i1 %s2, label %out, label %arena\0A\00" @.str7753 = private unnamed_addr constant [8 x i8] c"arena:\0A\00" @.str7754 = private unnamed_addr constant [32 x i8] c" %wp = inttoptr i64 %w to ptr\0A\00" @.str7755 = private unnamed_addr constant [41 x i8] c" %inar = call i1 @lp_in_arena(ptr %wp)\0A\00" @.str7756 = private unnamed_addr constant [40 x i8] c" br i1 %inar, label %out, label %size\0A\00" @.str7757 = private unnamed_addr constant [7 x i8] c"size:\0A\00" @.str7758 = private unnamed_addr constant [31 x i8] c" %p = inttoptr i64 %w to ptr\0A\00" @.str7759 = private unnamed_addr constant [39 x i8] c" %sz = call i64 @malloc_size(ptr %p)\0A\00" @.str7760 = private unnamed_addr constant [28 x i8] c" %nz = icmp eq i64 %sz, 0\0A\00" @.str7761 = private unnamed_addr constant [38 x i8] c" br i1 %nz, label %out, label %mark\0A\00" @.str7762 = private unnamed_addr constant [7 x i8] c"mark:\0A\00" @.str7763 = private unnamed_addr constant [35 x i8] c" %new = call i1 @lp_vput(i64 %w)\0A\00" @.str7764 = private unnamed_addr constant [40 x i8] c" br i1 %new, label %queue, label %out\0A\00" @.str7765 = private unnamed_addr constant [8 x i8] c"queue:\0A\00" @.str7766 = private unnamed_addr constant [30 x i8] c" %n = load i64, ptr @lp_wln\0A\00" @.str7767 = private unnamed_addr constant [34 x i8] c" %cap = load i64, ptr @lp_wlcap\0A\00" @.str7768 = private unnamed_addr constant [33 x i8] c" %full = icmp uge i64 %n, %cap\0A\00" @.str7769 = private unnamed_addr constant [41 x i8] c" br i1 %full, label %grow, label %push\0A\00" @.str7770 = private unnamed_addr constant [7 x i8] c"grow:\0A\00" @.str7771 = private unnamed_addr constant [26 x i8] c" %nc0 = shl i64 %cap, 1\0A\00" @.str7772 = private unnamed_addr constant [37 x i8] c" %small = icmp ult i64 %nc0, 65536\0A\00" @.str7773 = private unnamed_addr constant [47 x i8] c" %nc = select i1 %small, i64 65536, i64 %nc0\0A\00" @.str7774 = private unnamed_addr constant [31 x i8] c" %old = load ptr, ptr @lp_wl\0A\00" @.str7775 = private unnamed_addr constant [27 x i8] c" %bytes = shl i64 %nc, 3\0A\00" @.str7776 = private unnamed_addr constant [49 x i8] c" %nw = call ptr @realloc(ptr %old, i64 %bytes)\0A\00" @.str7777 = private unnamed_addr constant [29 x i8] c" store ptr %nw, ptr @lp_wl\0A\00" @.str7778 = private unnamed_addr constant [32 x i8] c" store i64 %nc, ptr @lp_wlcap\0A\00" @.str7779 = private unnamed_addr constant [18 x i8] c" br label %push\0A\00" @.str7780 = private unnamed_addr constant [7 x i8] c"push:\0A\00" @.str7781 = private unnamed_addr constant [30 x i8] c" %wl = load ptr, ptr @lp_wl\0A\00" @.str7782 = private unnamed_addr constant [55 x i8] c" %slot = getelementptr inbounds i64, ptr %wl, i64 %n\0A\00" @.str7783 = private unnamed_addr constant [27 x i8] c" store i64 %w, ptr %slot\0A\00" @.str7784 = private unnamed_addr constant [23 x i8] c" %n1 = add i64 %n, 1\0A\00" @.str7785 = private unnamed_addr constant [30 x i8] c" store i64 %n1, ptr @lp_wln\0A\00" @.str7786 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str7787 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str7788 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7789 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7790 = 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" @.str7791 = private unnamed_addr constant [40 x i8] c"define internal void @lp_fexitscan() {\0A\00" @.str7792 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7793 = private unnamed_addr constant [27 x i8] c" call i64 @lp_mem_scan()\0A\00" @.str7794 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7795 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7796 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_scan() {\0A\00" @.str7797 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7798 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str7799 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str7800 = private unnamed_addr constant [43 x i8] c" %hasms = icmp ne ptr @malloc_size, null\0A\00" @.str7801 = private unnamed_addr constant [28 x i8] c" %go = and i1 %on, %hasms\0A\00" @.str7802 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %prep, label %none\0A\00" @.str7803 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str7804 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str7805 = private unnamed_addr constant [7 x i8] c"prep:\0A\00" @.str7806 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str7807 = private unnamed_addr constant [37 x i8] c" %vs = load ptr, ptr @lp_visit_set\0A\00" @.str7808 = private unnamed_addr constant [34 x i8] c" %vnone = icmp eq ptr %vs, null\0A\00" @.str7809 = private unnamed_addr constant [43 x i8] c" br i1 %vnone, label %make, label %clear\0A\00" @.str7810 = private unnamed_addr constant [7 x i8] c"make:\0A\00" @.str7811 = private unnamed_addr constant [45 x i8] c" %v = call ptr @calloc(i64 8388608, i64 8)\0A\00" @.str7812 = private unnamed_addr constant [35 x i8] c" store ptr %v, ptr @lp_visit_set\0A\00" @.str7813 = private unnamed_addr constant [36 x i8] c" store i64 8388607, ptr @lp_vmask\0A\00" @.str7814 = private unnamed_addr constant [19 x i8] c" br label %roots\0A\00" @.str7815 = private unnamed_addr constant [8 x i8] c"clear:\0A\00" @.str7816 = private unnamed_addr constant [50 x i8] c" call ptr @memset(ptr %vs, i32 0, i64 67108864)\0A\00" @.str7817 = private unnamed_addr constant [19 x i8] c" br label %roots\0A\00" @.str7818 = private unnamed_addr constant [8 x i8] c"roots:\0A\00" @.str7819 = private unnamed_addr constant [28 x i8] c" store i64 0, ptr @lp_wln\0A\00" @.str7820 = private unnamed_addr constant [34 x i8] c" %nr = load i32, ptr @lp_nroots\0A\00" @.str7821 = private unnamed_addr constant [16 x i8] c" br label %rl\0A\00" @.str7822 = private unnamed_addr constant [5 x i8] c"rl:\0A\00" @.str7823 = private unnamed_addr constant [46 x i8] c" %ri = phi i32 [ 0, %roots ], [ %ri1, %rb ]\0A\00" @.str7824 = private unnamed_addr constant [32 x i8] c" %rgo = icmp ult i32 %ri, %nr\0A\00" @.str7825 = private unnamed_addr constant [38 x i8] c" br i1 %rgo, label %rb, label %walk\0A\00" @.str7826 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str7827 = private unnamed_addr constant [60 x i8] c" %rp = getelementptr inbounds ptr, ptr @lp_roots, i32 %ri\0A\00" @.str7828 = private unnamed_addr constant [26 x i8] c" %g = load ptr, ptr %rp\0A\00" @.str7829 = private unnamed_addr constant [26 x i8] c" %gv = load i64, ptr %g\0A\00" @.str7830 = private unnamed_addr constant [32 x i8] c" call void @lp_visit(i64 %gv)\0A\00" @.str7831 = private unnamed_addr constant [25 x i8] c" %ri1 = add i32 %ri, 1\0A\00" @.str7832 = private unnamed_addr constant [16 x i8] c" br label %rl\0A\00" @.str7833 = private unnamed_addr constant [7 x i8] c"walk:\0A\00" @.str7834 = private unnamed_addr constant [30 x i8] c" %n = load i64, ptr @lp_wln\0A\00" @.str7835 = private unnamed_addr constant [29 x i8] c" %done = icmp eq i64 %n, 0\0A\00" @.str7836 = private unnamed_addr constant [41 x i8] c" br i1 %done, label %sweep, label %pop\0A\00" @.str7837 = private unnamed_addr constant [6 x i8] c"pop:\0A\00" @.str7838 = private unnamed_addr constant [23 x i8] c" %n1 = sub i64 %n, 1\0A\00" @.str7839 = private unnamed_addr constant [30 x i8] c" store i64 %n1, ptr @lp_wln\0A\00" @.str7840 = private unnamed_addr constant [30 x i8] c" %wl = load ptr, ptr @lp_wl\0A\00" @.str7841 = private unnamed_addr constant [54 x i8] c" %sp = getelementptr inbounds i64, ptr %wl, i64 %n1\0A\00" @.str7842 = private unnamed_addr constant [26 x i8] c" %b = load i64, ptr %sp\0A\00" @.str7843 = private unnamed_addr constant [32 x i8] c" %bp = inttoptr i64 %b to ptr\0A\00" @.str7844 = private unnamed_addr constant [41 x i8] c" %bsz = call i64 @malloc_size(ptr %bp)\0A\00" @.str7845 = private unnamed_addr constant [29 x i8] c" %words = lshr i64 %bsz, 3\0A\00" @.str7846 = private unnamed_addr constant [19 x i8] c" br label %wordl\0A\00" @.str7847 = private unnamed_addr constant [8 x i8] c"wordl:\0A\00" @.str7848 = private unnamed_addr constant [47 x i8] c" %wi = phi i64 [ 0, %pop ], [ %wi1, %wordb ]\0A\00" @.str7849 = private unnamed_addr constant [35 x i8] c" %wgo = icmp ult i64 %wi, %words\0A\00" @.str7850 = private unnamed_addr constant [41 x i8] c" br i1 %wgo, label %wordb, label %walk\0A\00" @.str7851 = private unnamed_addr constant [8 x i8] c"wordb:\0A\00" @.str7852 = private unnamed_addr constant [54 x i8] c" %wp = getelementptr inbounds i64, ptr %bp, i64 %wi\0A\00" @.str7853 = private unnamed_addr constant [27 x i8] c" %wv = load i64, ptr %wp\0A\00" @.str7854 = private unnamed_addr constant [32 x i8] c" call void @lp_visit(i64 %wv)\0A\00" @.str7855 = private unnamed_addr constant [25 x i8] c" %wi1 = add i64 %wi, 1\0A\00" @.str7856 = private unnamed_addr constant [19 x i8] c" br label %wordl\0A\00" @.str7857 = private unnamed_addr constant [8 x i8] c"sweep:\0A\00" @.str7858 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str7859 = private unnamed_addr constant [31 x i8] c" %sn64 = zext i32 %sn to i64\0A\00" @.str7860 = private unnamed_addr constant [26 x i8] c" %sb = shl i64 %sn64, 3\0A\00" @.str7861 = private unnamed_addr constant [55 x i8] c" call ptr @memset(ptr @lp_site_scan, i32 0, i64 %sb)\0A\00" @.str7862 = private unnamed_addr constant [37 x i8] c" %mask = load i64, ptr @lp_tabmask\0A\00" @.str7863 = private unnamed_addr constant [27 x i8] c" %cap = add i64 %mask, 1\0A\00" @.str7864 = private unnamed_addr constant [32 x i8] c" %tab = load ptr, ptr @lp_tab\0A\00" @.str7865 = private unnamed_addr constant [16 x i8] c" br label %tl\0A\00" @.str7866 = private unnamed_addr constant [5 x i8] c"tl:\0A\00" @.str7867 = private unnamed_addr constant [49 x i8] c" %ti = phi i64 [ 0, %sweep ], [ %ti1, %tnext ]\0A\00" @.str7868 = private unnamed_addr constant [53 x i8] c" %lost = phi i64 [ 0, %sweep ], [ %lost2, %tnext ]\0A\00" @.str7869 = private unnamed_addr constant [55 x i8] c" %lostn = phi i64 [ 0, %sweep ], [ %lostn2, %tnext ]\0A\00" @.str7870 = private unnamed_addr constant [33 x i8] c" %tgo = icmp ult i64 %ti, %cap\0A\00" @.str7871 = private unnamed_addr constant [40 x i8] c" br i1 %tgo, label %tb, label %report\0A\00" @.str7872 = private unnamed_addr constant [5 x i8] c"tb:\0A\00" @.str7873 = private unnamed_addr constant [60 x i8] c" %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %ti\0A\00" @.str7874 = private unnamed_addr constant [26 x i8] c" %ek = load i64, ptr %e\0A\00" @.str7875 = private unnamed_addr constant [31 x i8] c" %empty = icmp eq i64 %ek, 0\0A\00" @.str7876 = private unnamed_addr constant [43 x i8] c" br i1 %empty, label %tnext, label %tchk\0A\00" @.str7877 = private unnamed_addr constant [7 x i8] c"tchk:\0A\00" @.str7878 = private unnamed_addr constant [37 x i8] c" %seen = call i1 @lp_vhas(i64 %ek)\0A\00" @.str7879 = private unnamed_addr constant [43 x i8] c" br i1 %seen, label %tnext, label %tlost\0A\00" @.str7880 = private unnamed_addr constant [8 x i8] c"tlost:\0A\00" @.str7881 = private unnamed_addr constant [51 x i8] c" %ev = getelementptr inbounds i64, ptr %e, i64 1\0A\00" @.str7882 = private unnamed_addr constant [28 x i8] c" %val = load i64, ptr %ev\0A\00" @.str7883 = private unnamed_addr constant [36 x i8] c" %sz = and i64 %val, 549755813887\0A\00" @.str7884 = private unnamed_addr constant [29 x i8] c" %site = lshr i64 %val, 40\0A\00" @.str7885 = private unnamed_addr constant [67 x i8] c" %ssp = getelementptr inbounds i64, ptr @lp_site_scan, i64 %site\0A\00" @.str7886 = private unnamed_addr constant [28 x i8] c" %sv = load i64, ptr %ssp\0A\00" @.str7887 = private unnamed_addr constant [27 x i8] c" %sv1 = add i64 %sv, %sz\0A\00" @.str7888 = private unnamed_addr constant [28 x i8] c" store i64 %sv1, ptr %ssp\0A\00" @.str7889 = private unnamed_addr constant [19 x i8] c" br label %tnext\0A\00" @.str7890 = private unnamed_addr constant [8 x i8] c"tnext:\0A\00" @.str7891 = private unnamed_addr constant [60 x i8] c" %add = phi i64 [ 0, %tb ], [ 0, %tchk ], [ %sz, %tlost ]\0A\00" @.str7892 = private unnamed_addr constant [59 x i8] c" %addn = phi i64 [ 0, %tb ], [ 0, %tchk ], [ 1, %tlost ]\0A\00" @.str7893 = private unnamed_addr constant [32 x i8] c" %lost2 = add i64 %lost, %add\0A\00" @.str7894 = private unnamed_addr constant [35 x i8] c" %lostn2 = add i64 %lostn, %addn\0A\00" @.str7895 = private unnamed_addr constant [25 x i8] c" %ti1 = add i64 %ti, 1\0A\00" @.str7896 = private unnamed_addr constant [16 x i8] c" br label %tl\0A\00" @.str7897 = private unnamed_addr constant [9 x i8] c"report:\0A\00" @.str7898 = private unnamed_addr constant [39 x i8] c" store i64 %lost, ptr @lp_scan_bytes\0A\00" @.str7899 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str7900 = 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" @.str7901 = private unnamed_addr constant [55 x i8] c" %top = call i64 @lp_fenv(ptr @.lpf_scantop, i64 24)\0A\00" @.str7902 = private unnamed_addr constant [34 x i8] c" %top32 = trunc i64 %top to i32\0A\00" @.str7903 = private unnamed_addr constant [70 x i8] c" call void @lp_franked_vals(ptr @lp_site_scan, i32 %sn, i32 %top32)\0A\00" @.str7904 = private unnamed_addr constant [47 x i8] c" %sfp = call ptr @getenv(ptr @.lpf_scanfile)\0A\00" @.str7905 = private unnamed_addr constant [34 x i8] c" %hasf = icmp ne ptr %sfp, null\0A\00" @.str7906 = private unnamed_addr constant [42 x i8] c" br i1 %hasf, label %tofile, label %fin\0A\00" @.str7907 = private unnamed_addr constant [9 x i8] c"tofile:\0A\00" @.str7908 = private unnamed_addr constant [48 x i8] c" %fh = call ptr @fopen(ptr %sfp, ptr @.lpf_a)\0A\00" @.str7909 = private unnamed_addr constant [32 x i8] c" %fok = icmp ne ptr %fh, null\0A\00" @.str7910 = private unnamed_addr constant [39 x i8] c" br i1 %fok, label %rows, label %fin\0A\00" @.str7911 = private unnamed_addr constant [7 x i8] c"rows:\0A\00" @.str7912 = private unnamed_addr constant [51 x i8] c" %ri2 = phi i32 [ 0, %tofile ], [ %ri3, %rnext ]\0A\00" @.str7913 = private unnamed_addr constant [34 x i8] c" %more = icmp ult i32 %ri2, %sn\0A\00" @.str7914 = private unnamed_addr constant [41 x i8] c" br i1 %more, label %row, label %close\0A\00" @.str7915 = private unnamed_addr constant [6 x i8] c"row:\0A\00" @.str7916 = private unnamed_addr constant [66 x i8] c" %rsp = getelementptr inbounds i64, ptr @lp_site_scan, i32 %ri2\0A\00" @.str7917 = private unnamed_addr constant [28 x i8] c" %rv = load i64, ptr %rsp\0A\00" @.str7918 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i64 %rv, 0\0A\00" @.str7919 = private unnamed_addr constant [40 x i8] c" br i1 %has, label %say, label %rnext\0A\00" @.str7920 = private unnamed_addr constant [6 x i8] c"say:\0A\00" @.str7921 = private unnamed_addr constant [64 x i8] c" %fnp = getelementptr inbounds ptr, ptr @lp_site_fn, i32 %ri2\0A\00" @.str7922 = private unnamed_addr constant [28 x i8] c" %fn = load ptr, ptr %fnp\0A\00" @.str7923 = private unnamed_addr constant [66 x i8] c" %flp = getelementptr inbounds ptr, ptr @lp_site_file, i32 %ri2\0A\00" @.str7924 = private unnamed_addr constant [28 x i8] c" %fl = load ptr, ptr %flp\0A\00" @.str7925 = private unnamed_addr constant [66 x i8] c" %lnp = getelementptr inbounds i32, ptr @lp_site_line, i32 %ri2\0A\00" @.str7926 = private unnamed_addr constant [28 x i8] c" %ln = load i32, ptr %lnp\0A\00" @.str7927 = private unnamed_addr constant [66 x i8] c" %kdp = getelementptr inbounds ptr, ptr @lp_site_kind, i32 %ri2\0A\00" @.str7928 = private unnamed_addr constant [28 x i8] c" %kd = load ptr, ptr %kdp\0A\00" @.str7929 = 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" @.str7930 = private unnamed_addr constant [19 x i8] c" br label %rnext\0A\00" @.str7931 = private unnamed_addr constant [8 x i8] c"rnext:\0A\00" @.str7932 = private unnamed_addr constant [26 x i8] c" %ri3 = add i32 %ri2, 1\0A\00" @.str7933 = private unnamed_addr constant [18 x i8] c" br label %rows\0A\00" @.str7934 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str7935 = private unnamed_addr constant [29 x i8] c" call i32 @fclose(ptr %fh)\0A\00" @.str7936 = private unnamed_addr constant [17 x i8] c" br label %fin\0A\00" @.str7937 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str7938 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str7939 = private unnamed_addr constant [17 x i8] c" ret i64 %lost\0A\00" @.str7940 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7941 = 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" @.str7942 = private unnamed_addr constant [45 x i8] c"define internal void @lp_fowners(ptr %fp) {\0A\00" @.str7943 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7944 = private unnamed_addr constant [35 x i8] c" %no = load i32, ptr @lp_nowners\0A\00" @.str7945 = private unnamed_addr constant [34 x i8] c" %sn = load i32, ptr @lp_site_n\0A\00" @.str7946 = private unnamed_addr constant [16 x i8] c" br label %ol\0A\00" @.str7947 = private unnamed_addr constant [5 x i8] c"ol:\0A\00" @.str7948 = private unnamed_addr constant [47 x i8] c" %o = phi i32 [ 1, %entry ], [ %o1, %onext ]\0A\00" @.str7949 = private unnamed_addr constant [31 x i8] c" %ogo = icmp ule i32 %o, %no\0A\00" @.str7950 = private unnamed_addr constant [39 x i8] c" br i1 %ogo, label %sl0, label %done\0A\00" @.str7951 = private unnamed_addr constant [6 x i8] c"sl0:\0A\00" @.str7952 = private unnamed_addr constant [16 x i8] c" br label %sl\0A\00" @.str7953 = private unnamed_addr constant [5 x i8] c"sl:\0A\00" @.str7954 = private unnamed_addr constant [45 x i8] c" %s = phi i32 [ 0, %sl0 ], [ %s1, %snext ]\0A\00" @.str7955 = private unnamed_addr constant [51 x i8] c" %live = phi i64 [ 0, %sl0 ], [ %live2, %snext ]\0A\00" @.str7956 = private unnamed_addr constant [51 x i8] c" %grew = phi i64 [ 0, %sl0 ], [ %grew2, %snext ]\0A\00" @.str7957 = private unnamed_addr constant [31 x i8] c" %sgo = icmp ult i32 %s, %sn\0A\00" @.str7958 = private unnamed_addr constant [37 x i8] c" br i1 %sgo, label %sb, label %say\0A\00" @.str7959 = private unnamed_addr constant [5 x i8] c"sb:\0A\00" @.str7960 = private unnamed_addr constant [64 x i8] c" %op = getelementptr inbounds i32, ptr @lp_site_owner, i32 %s\0A\00" @.str7961 = private unnamed_addr constant [27 x i8] c" %ow = load i32, ptr %op\0A\00" @.str7962 = private unnamed_addr constant [31 x i8] c" %mine = icmp eq i32 %ow, %o\0A\00" @.str7963 = private unnamed_addr constant [63 x i8] c" %lp = getelementptr inbounds i64, ptr @lp_site_live, i32 %s\0A\00" @.str7964 = private unnamed_addr constant [27 x i8] c" %lv = load i64, ptr %lp\0A\00" @.str7965 = private unnamed_addr constant [63 x i8] c" %bp = getelementptr inbounds i64, ptr @lp_site_base, i32 %s\0A\00" @.str7966 = private unnamed_addr constant [27 x i8] c" %bv = load i64, ptr %bp\0A\00" @.str7967 = private unnamed_addr constant [25 x i8] c" %d = sub i64 %lv, %bv\0A\00" @.str7968 = private unnamed_addr constant [41 x i8] c" %la = select i1 %mine, i64 %lv, i64 0\0A\00" @.str7969 = private unnamed_addr constant [40 x i8] c" %da = select i1 %mine, i64 %d, i64 0\0A\00" @.str7970 = private unnamed_addr constant [31 x i8] c" %live2 = add i64 %live, %la\0A\00" @.str7971 = private unnamed_addr constant [31 x i8] c" %grew2 = add i64 %grew, %da\0A\00" @.str7972 = private unnamed_addr constant [19 x i8] c" br label %snext\0A\00" @.str7973 = private unnamed_addr constant [8 x i8] c"snext:\0A\00" @.str7974 = private unnamed_addr constant [23 x i8] c" %s1 = add i32 %s, 1\0A\00" @.str7975 = private unnamed_addr constant [16 x i8] c" br label %sl\0A\00" @.str7976 = private unnamed_addr constant [6 x i8] c"say:\0A\00" @.str7977 = private unnamed_addr constant [31 x i8] c" %any = icmp ne i64 %live, 0\0A\00" @.str7978 = private unnamed_addr constant [42 x i8] c" br i1 %any, label %print, label %onext\0A\00" @.str7979 = private unnamed_addr constant [8 x i8] c"print:\0A\00" @.str7980 = private unnamed_addr constant [23 x i8] c" %oi = sub i32 %o, 1\0A\00" @.str7981 = private unnamed_addr constant [65 x i8] c" %np = getelementptr inbounds ptr, ptr @lp_owner_name, i32 %oi\0A\00" @.str7982 = private unnamed_addr constant [27 x i8] c" %nm = load ptr, ptr %np\0A\00" @.str7983 = 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" @.str7984 = private unnamed_addr constant [19 x i8] c" br label %onext\0A\00" @.str7985 = private unnamed_addr constant [8 x i8] c"onext:\0A\00" @.str7986 = private unnamed_addr constant [23 x i8] c" %o1 = add i32 %o, 1\0A\00" @.str7987 = private unnamed_addr constant [16 x i8] c" br label %ol\0A\00" @.str7988 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str7989 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7990 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7991 = 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" @.str7992 = private unnamed_addr constant [73 x i8] c"define internal void @lp_franked_vals(ptr %vals, i32 %cnt, i32 %rows) {\0A\00" @.str7993 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str7994 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str7995 = private unnamed_addr constant [7 x i8] c"pass:\0A\00" @.str7996 = private unnamed_addr constant [50 x i8] c" %row = phi i32 [ 0, %entry ], [ %row1, %show ]\0A\00" @.str7997 = private unnamed_addr constant [66 x i8] c" %pb = phi i64 [ 9223372036854775807, %entry ], [ %bb0, %show ]\0A\00" @.str7998 = private unnamed_addr constant [49 x i8] c" %ps = phi i32 [ -1, %entry ], [ %bs0, %show ]\0A\00" @.str7999 = private unnamed_addr constant [36 x i8] c" %more = icmp ult i32 %row, %rows\0A\00" @.str8000 = private unnamed_addr constant [41 x i8] c" br i1 %more, label %scan, label %tail\0A\00" @.str8001 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str8002 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str8003 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str8004 = private unnamed_addr constant [45 x i8] c" %i = phi i32 [ 0, %scan ], [ %i1, %body ]\0A\00" @.str8005 = private unnamed_addr constant [48 x i8] c" %bb0 = phi i64 [ 0, %scan ], [ %bb1, %body ]\0A\00" @.str8006 = private unnamed_addr constant [49 x i8] c" %bs0 = phi i32 [ -1, %scan ], [ %bs1, %body ]\0A\00" @.str8007 = private unnamed_addr constant [31 x i8] c" %go = icmp ult i32 %i, %cnt\0A\00" @.str8008 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str8009 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str8010 = private unnamed_addr constant [55 x i8] c" %vp = getelementptr inbounds i64, ptr %vals, i32 %i\0A\00" @.str8011 = private unnamed_addr constant [26 x i8] c" %d = load i64, ptr %vp\0A\00" @.str8012 = private unnamed_addr constant [29 x i8] c" %pos = icmp sgt i64 %d, 0\0A\00" @.str8013 = private unnamed_addr constant [30 x i8] c" %lt = icmp slt i64 %d, %pb\0A\00" @.str8014 = private unnamed_addr constant [30 x i8] c" %eqb = icmp eq i64 %d, %pb\0A\00" @.str8015 = private unnamed_addr constant [31 x i8] c" %gts = icmp sgt i32 %i, %ps\0A\00" @.str8016 = private unnamed_addr constant [28 x i8] c" %tie = and i1 %eqb, %gts\0A\00" @.str8017 = private unnamed_addr constant [28 x i8] c" %below = or i1 %lt, %tie\0A\00" @.str8018 = private unnamed_addr constant [32 x i8] c" %gtb = icmp sgt i64 %d, %bb0\0A\00" @.str8019 = private unnamed_addr constant [29 x i8] c" %c1 = and i1 %pos, %below\0A\00" @.str8020 = private unnamed_addr constant [28 x i8] c" %take = and i1 %c1, %gtb\0A\00" @.str8021 = private unnamed_addr constant [44 x i8] c" %bb1 = select i1 %take, i64 %d, i64 %bb0\0A\00" @.str8022 = private unnamed_addr constant [44 x i8] c" %bs1 = select i1 %take, i32 %i, i32 %bs0\0A\00" @.str8023 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str8024 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str8025 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str8026 = private unnamed_addr constant [33 x i8] c" %found = icmp sge i32 %bs0, 0\0A\00" @.str8027 = private unnamed_addr constant [42 x i8] c" br i1 %found, label %show, label %tail\0A\00" @.str8028 = private unnamed_addr constant [7 x i8] c"show:\0A\00" @.str8029 = 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" @.str8030 = private unnamed_addr constant [27 x i8] c" %row1 = add i32 %row, 1\0A\00" @.str8031 = private unnamed_addr constant [18 x i8] c" br label %pass\0A\00" @.str8032 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str8033 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8034 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8035 = private unnamed_addr constant [45 x i8] c"define internal void @lp_fsettle_locked() {\0A\00" @.str8036 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8037 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_site_n\0A\00" @.str8038 = private unnamed_addr constant [29 x i8] c" %n64 = zext i32 %n to i64\0A\00" @.str8039 = private unnamed_addr constant [25 x i8] c" %nb = shl i64 %n64, 3\0A\00" @.str8040 = private unnamed_addr constant [67 x i8] c" call ptr @memcpy(ptr @lp_site_base, ptr @lp_site_live, i64 %nb)\0A\00" @.str8041 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str8042 = private unnamed_addr constant [32 x i8] c" store i64 %lv, ptr @lp_slive\0A\00" @.str8043 = private unnamed_addr constant [34 x i8] c" %dls = load i64, ptr @lp_dlive\0A\00" @.str8044 = private unnamed_addr constant [34 x i8] c" store i64 %dls, ptr @lp_sdlive\0A\00" @.str8045 = private unnamed_addr constant [69 x i8] c" call ptr @memcpy(ptr @lp_site_dbase, ptr @lp_site_dlive, i64 %nb)\0A\00" @.str8046 = private unnamed_addr constant [67 x i8] c" call ptr @memcpy(ptr @lp_site_dhw, ptr @lp_site_dlive, i64 %nb)\0A\00" @.str8047 = private unnamed_addr constant [56 x i8] c" call ptr @memset(ptr @lp_site_drise, i32 0, i64 %nb)\0A\00" @.str8048 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str8049 = private unnamed_addr constant [31 x i8] c" store i64 %pr, ptr @lp_spre\0A\00" @.str8050 = private unnamed_addr constant [41 x i8] c" %jb = call i64 @lp_fnat(ptr @.lpf_jb)\0A\00" @.str8051 = private unnamed_addr constant [31 x i8] c" store i64 %jb, ptr @lp_jset\0A\00" @.str8052 = private unnamed_addr constant [41 x i8] c" %vb = call i64 @lp_fnat(ptr @.lpf_vb)\0A\00" @.str8053 = private unnamed_addr constant [31 x i8] c" store i64 %vb, ptr @lp_vset\0A\00" @.str8054 = private unnamed_addr constant [29 x i8] c" %z = call i64 @lp_fzone()\0A\00" @.str8055 = private unnamed_addr constant [30 x i8] c" store i64 %z, ptr @lp_zset\0A\00" @.str8056 = private unnamed_addr constant [26 x i8] c" store i8 1, ptr @lp_fj\0A\00" @.str8057 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8058 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8059 = 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" @.str8060 = 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" @.str8061 = 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" @.str8062 = private unnamed_addr constant [51 x i8] c"define internal i64 @lp_fdwindow(i64 %f, i8 %m) {\0A\00" @.str8063 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8064 = private unnamed_addr constant [33 x i8] c" %n = load i32, ptr @lp_site_n\0A\00" @.str8065 = private unnamed_addr constant [35 x i8] c" %need = load i64, ptr @lp_drise\0A\00" @.str8066 = private unnamed_addr constant [32 x i8] c" %dw = load i64, ptr @lp_dwin\0A\00" @.str8067 = private unnamed_addr constant [28 x i8] c" %say = icmp uge i8 %m, 3\0A\00" @.str8068 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str8069 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str8070 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str8071 = private unnamed_addr constant [52 x i8] c" %hits = phi i64 [ 0, %entry ], [ %hits1, %next ]\0A\00" @.str8072 = private unnamed_addr constant [29 x i8] c" %go = icmp ult i32 %i, %n\0A\00" @.str8073 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %body, label %done\0A\00" @.str8074 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str8075 = private unnamed_addr constant [64 x i8] c" %lp = getelementptr inbounds i64, ptr @lp_site_dlive, i32 %i\0A\00" @.str8076 = private unnamed_addr constant [27 x i8] c" %dl = load i64, ptr %lp\0A\00" @.str8077 = private unnamed_addr constant [62 x i8] c" %hp = getelementptr inbounds i64, ptr @lp_site_dhw, i32 %i\0A\00" @.str8078 = private unnamed_addr constant [27 x i8] c" %hw = load i64, ptr %hp\0A\00" @.str8079 = private unnamed_addr constant [64 x i8] c" %rp = getelementptr inbounds i64, ptr @lp_site_drise, i32 %i\0A\00" @.str8080 = private unnamed_addr constant [26 x i8] c" %r = load i64, ptr %rp\0A\00" @.str8081 = private unnamed_addr constant [31 x i8] c" %up = icmp sgt i64 %dl, %hw\0A\00" @.str8082 = private unnamed_addr constant [33 x i8] c" %fell = icmp slt i64 %dl, %hw\0A\00" @.str8083 = private unnamed_addr constant [30 x i8] c" %rpos = icmp sgt i64 %r, 0\0A\00" @.str8084 = private unnamed_addr constant [25 x i8] c" %rdec = sub i64 %r, 1\0A\00" @.str8085 = private unnamed_addr constant [46 x i8] c" %rflat = select i1 %rpos, i64 %rdec, i64 0\0A\00" @.str8086 = private unnamed_addr constant [24 x i8] c" %rup = add i64 %r, 1\0A\00" @.str8087 = private unnamed_addr constant [44 x i8] c" %r0 = select i1 %fell, i64 0, i64 %rflat\0A\00" @.str8088 = private unnamed_addr constant [42 x i8] c" %rn = select i1 %up, i64 %rup, i64 %r0\0A\00" @.str8089 = private unnamed_addr constant [30 x i8] c" %sent = icmp slt i64 %r, 0\0A\00" @.str8090 = private unnamed_addr constant [42 x i8] c" %rs = select i1 %sent, i64 %r, i64 %rn\0A\00" @.str8091 = private unnamed_addr constant [26 x i8] c" store i64 %rs, ptr %rp\0A\00" @.str8092 = private unnamed_addr constant [42 x i8] c" %hw1 = select i1 %up, i64 %dl, i64 %hw\0A\00" @.str8093 = private unnamed_addr constant [27 x i8] c" store i64 %hw1, ptr %hp\0A\00" @.str8094 = private unnamed_addr constant [35 x i8] c" %hit0 = icmp sge i64 %rs, %need\0A\00" @.str8095 = private unnamed_addr constant [28 x i8] c" %hit = and i1 %hit0, %up\0A\00" @.str8096 = private unnamed_addr constant [43 x i8] c" br i1 %hit, label %report, label %next0\0A\00" @.str8097 = private unnamed_addr constant [9 x i8] c"report:\0A\00" @.str8098 = private unnamed_addr constant [25 x i8] c" store i64 -1, ptr %rp\0A\00" @.str8099 = private unnamed_addr constant [32 x i8] c" %du = load i64, ptr @lp_dunb\0A\00" @.str8100 = private unnamed_addr constant [25 x i8] c" %du1 = add i64 %du, 1\0A\00" @.str8101 = private unnamed_addr constant [32 x i8] c" store i64 %du1, ptr @lp_dunb\0A\00" @.str8102 = private unnamed_addr constant [41 x i8] c" br i1 %say, label %tell, label %next0\0A\00" @.str8103 = private unnamed_addr constant [7 x i8] c"tell:\0A\00" @.str8104 = 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" @.str8105 = private unnamed_addr constant [64 x i8] c" %bp = getelementptr inbounds i64, ptr @lp_site_dbase, i32 %i\0A\00" @.str8106 = private unnamed_addr constant [27 x i8] c" %bs = load i64, ptr %bp\0A\00" @.str8107 = private unnamed_addr constant [28 x i8] c" %grew = sub i64 %dl, %bs\0A\00" @.str8108 = 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" @.str8109 = private unnamed_addr constant [19 x i8] c" br label %next0\0A\00" @.str8110 = private unnamed_addr constant [8 x i8] c"next0:\0A\00" @.str8111 = private unnamed_addr constant [61 x i8] c" %got = phi i64 [ 0, %body ], [ 1, %report ], [ 1, %tell ]\0A\00" @.str8112 = private unnamed_addr constant [18 x i8] c" br label %next\0A\00" @.str8113 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str8114 = private unnamed_addr constant [32 x i8] c" %hits1 = add i64 %hits, %got\0A\00" @.str8115 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str8116 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str8117 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str8118 = private unnamed_addr constant [17 x i8] c" ret i64 %hits\0A\00" @.str8119 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8120 = 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" @.str8121 = 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" @.str8122 = private unnamed_addr constant [76 x i8] c"; R3D_ALLOC_WARM_MAX frames after tracking (re)started, whichever is first\0A\00" @.str8123 = private unnamed_addr constant [31 x i8] c"define void @lp_mem_frame() {\0A\00" @.str8124 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8125 = private unnamed_addr constant [28 x i8] c" call void @lp_ar_frame()\0A\00" @.str8126 = private unnamed_addr constant [25 x i8] c" call void @lp_finit()\0A\00" @.str8127 = private unnamed_addr constant [32 x i8] c" %f = load i64, ptr @lp_frame\0A\00" @.str8128 = private unnamed_addr constant [23 x i8] c" %f1 = add i64 %f, 1\0A\00" @.str8129 = private unnamed_addr constant [28 x i8] c" %m = load i8, ptr @lp_fm\0A\00" @.str8130 = private unnamed_addr constant [28 x i8] c" %off = icmp ule i8 %m, 1\0A\00" @.str8131 = private unnamed_addr constant [40 x i8] c" br i1 %off, label %tick, label %live\0A\00" @.str8132 = private unnamed_addr constant [7 x i8] c"live:\0A\00" @.str8133 = private unnamed_addr constant [28 x i8] c" %t = load i8, ptr @lp_ft\0A\00" @.str8134 = private unnamed_addr constant [26 x i8] c" %on = icmp ne i8 %t, 0\0A\00" @.str8135 = private unnamed_addr constant [49 x i8] c" br i1 %on, label %tracking, label %maybe_play\0A\00" @.str8136 = private unnamed_addr constant [13 x i8] c"maybe_play:\0A\00" @.str8137 = private unnamed_addr constant [32 x i8] c" %au = load i8, ptr @lp_fauto\0A\00" @.str8138 = private unnamed_addr constant [28 x i8] c" %auq = icmp ne i8 %au, 0\0A\00" @.str8139 = private unnamed_addr constant [36 x i8] c" %ap = load i64, ptr @lp_autoplay\0A\00" @.str8140 = private unnamed_addr constant [32 x i8] c" %apset = icmp sge i64 %ap, 0\0A\00" @.str8141 = private unnamed_addr constant [34 x i8] c" %apdue = icmp sge i64 %f1, %ap\0A\00" @.str8142 = private unnamed_addr constant [33 x i8] c" %apgo = and i1 %apset, %apdue\0A\00" @.str8143 = private unnamed_addr constant [27 x i8] c" %go = or i1 %auq, %apgo\0A\00" @.str8144 = private unnamed_addr constant [39 x i8] c" br i1 %go, label %play, label %tick\0A\00" @.str8145 = private unnamed_addr constant [7 x i8] c"play:\0A\00" @.str8146 = private unnamed_addr constant [28 x i8] c" call void @lp_mem_play()\0A\00" @.str8147 = private unnamed_addr constant [18 x i8] c" br label %tick\0A\00" @.str8148 = private unnamed_addr constant [11 x i8] c"tracking:\0A\00" @.str8149 = private unnamed_addr constant [25 x i8] c" call void @lp_flock()\0A\00" @.str8150 = private unnamed_addr constant [32 x i8] c" %ov = load i64, ptr @lp_over\0A\00" @.str8151 = private unnamed_addr constant [30 x i8] c" %ovq = icmp sgt i64 %ov, 0\0A\00" @.str8152 = private unnamed_addr constant [35 x i8] c" %rep = load i8, ptr @lp_overrep\0A\00" @.str8153 = private unnamed_addr constant [30 x i8] c" %repq = icmp eq i8 %rep, 0\0A\00" @.str8154 = private unnamed_addr constant [33 x i8] c" %fullnew = and i1 %ovq, %repq\0A\00" @.str8155 = private unnamed_addr constant [45 x i8] c" br i1 %fullnew, label %full, label %weigh\0A\00" @.str8156 = private unnamed_addr constant [7 x i8] c"full:\0A\00" @.str8157 = private unnamed_addr constant [32 x i8] c" %tn = load i64, ptr @lp_tabn\0A\00" @.str8158 = private unnamed_addr constant [69 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_full, i64 %tn)\0A\00" @.str8159 = private unnamed_addr constant [31 x i8] c" store i8 1, ptr @lp_overrep\0A\00" @.str8160 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_fj\0A\00" @.str8161 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str8162 = private unnamed_addr constant [8 x i8] c"weigh:\0A\00" @.str8163 = private unnamed_addr constant [32 x i8] c" %lv = load i64, ptr @lp_live\0A\00" @.str8164 = private unnamed_addr constant [33 x i8] c" %ml = load i64, ptr @lp_mlive\0A\00" @.str8165 = private unnamed_addr constant [31 x i8] c" %pr = load i64, ptr @lp_pre\0A\00" @.str8166 = private unnamed_addr constant [32 x i8] c" %mp = load i64, ptr @lp_mpre\0A\00" @.str8167 = private unnamed_addr constant [25 x i8] c" %a = sub i64 %lv, %ml\0A\00" @.str8168 = private unnamed_addr constant [25 x i8] c" %b = sub i64 %pr, %mp\0A\00" @.str8169 = private unnamed_addr constant [26 x i8] c" %kept = sub i64 %a, %b\0A\00" @.str8170 = private unnamed_addr constant [32 x i8] c" %bad = icmp sgt i64 %kept, 0\0A\00" @.str8171 = private unnamed_addr constant [28 x i8] c" %j = load i8, ptr @lp_fj\0A\00" @.str8172 = private unnamed_addr constant [31 x i8] c" %judging = icmp ne i8 %j, 0\0A\00" @.str8173 = private unnamed_addr constant [48 x i8] c" br i1 %judging, label %judge, label %warming\0A\00" @.str8174 = private unnamed_addr constant [10 x i8] c"warming:\0A\00" @.str8175 = private unnamed_addr constant [32 x i8] c" %fl = load i64, ptr @lp_flat\0A\00" @.str8176 = private unnamed_addr constant [25 x i8] c" %fl1 = add i64 %fl, 1\0A\00" @.str8177 = private unnamed_addr constant [42 x i8] c" %fl2 = select i1 %bad, i64 0, i64 %fl1\0A\00" @.str8178 = private unnamed_addr constant [32 x i8] c" store i64 %fl2, ptr @lp_flat\0A\00" @.str8179 = private unnamed_addr constant [31 x i8] c" %w = load i64, ptr @lp_warm\0A\00" @.str8180 = private unnamed_addr constant [30 x i8] c" %wset = icmp sge i64 %w, 0\0A\00" @.str8181 = private unnamed_addr constant [34 x i8] c" %wdone = icmp sge i64 %fl2, %w\0A\00" @.str8182 = private unnamed_addr constant [34 x i8] c" %byflat = and i1 %wset, %wdone\0A\00" @.str8183 = private unnamed_addr constant [33 x i8] c" %pf = load i64, ptr @lp_playf\0A\00" @.str8184 = private unnamed_addr constant [29 x i8] c" %since = sub i64 %f1, %pf\0A\00" @.str8185 = private unnamed_addr constant [36 x i8] c" %wm = load i64, ptr @lp_warm_max\0A\00" @.str8186 = private unnamed_addr constant [32 x i8] c" %wmset = icmp sge i64 %wm, 0\0A\00" @.str8187 = private unnamed_addr constant [38 x i8] c" %wmdone = icmp sge i64 %since, %wm\0A\00" @.str8188 = private unnamed_addr constant [35 x i8] c" %bycap = and i1 %wmset, %wmdone\0A\00" @.str8189 = private unnamed_addr constant [35 x i8] c" %settle = or i1 %byflat, %bycap\0A\00" @.str8190 = private unnamed_addr constant [49 x i8] c" br i1 %settle, label %settle_now, label %mark\0A\00" @.str8191 = private unnamed_addr constant [13 x i8] c"settle_now:\0A\00" @.str8192 = private unnamed_addr constant [34 x i8] c" call void @lp_fsettle_locked()\0A\00" @.str8193 = private unnamed_addr constant [18 x i8] c" br label %mark\0A\00" @.str8194 = private unnamed_addr constant [8 x i8] c"judge:\0A\00" @.str8195 = private unnamed_addr constant [35 x i8] c" %jd = load i64, ptr @lp_fjudged\0A\00" @.str8196 = private unnamed_addr constant [25 x i8] c" %jd1 = add i64 %jd, 1\0A\00" @.str8197 = private unnamed_addr constant [35 x i8] c" store i64 %jd1, ptr @lp_fjudged\0A\00" @.str8198 = private unnamed_addr constant [32 x i8] c" %dw = load i64, ptr @lp_dwin\0A\00" @.str8199 = private unnamed_addr constant [31 x i8] c" %dwon = icmp sgt i64 %dw, 0\0A\00" @.str8200 = private unnamed_addr constant [42 x i8] c" %dws = select i1 %dwon, i64 %dw, i64 1\0A\00" @.str8201 = private unnamed_addr constant [30 x i8] c" %dwr = urem i64 %jd1, %dws\0A\00" @.str8202 = private unnamed_addr constant [30 x i8] c" %dwz = icmp eq i64 %dwr, 0\0A\00" @.str8203 = private unnamed_addr constant [31 x i8] c" %dwdue = and i1 %dwon, %dwz\0A\00" @.str8204 = private unnamed_addr constant [48 x i8] c" br i1 %dwdue, label %dwindow, label %verdict\0A\00" @.str8205 = private unnamed_addr constant [10 x i8] c"dwindow:\0A\00" @.str8206 = private unnamed_addr constant [47 x i8] c" %nun = call i64 @lp_fdwindow(i64 %f, i8 %m)\0A\00" @.str8207 = private unnamed_addr constant [32 x i8] c" %nunq = icmp sgt i64 %nun, 0\0A\00" @.str8208 = private unnamed_addr constant [29 x i8] c" %dfail = icmp eq i8 %m, 4\0A\00" @.str8209 = private unnamed_addr constant [32 x i8] c" %ddie = and i1 %nunq, %dfail\0A\00" @.str8210 = private unnamed_addr constant [43 x i8] c" br i1 %ddie, label %die, label %verdict\0A\00" @.str8211 = private unnamed_addr constant [10 x i8] c"verdict:\0A\00" @.str8212 = private unnamed_addr constant [45 x i8] c" br i1 %bad, label %kept_some, label %mark\0A\00" @.str8213 = private unnamed_addr constant [12 x i8] c"kept_some:\0A\00" @.str8214 = private unnamed_addr constant [33 x i8] c" %fk = load i64, ptr @lp_fkept\0A\00" @.str8215 = private unnamed_addr constant [29 x i8] c" %fk1 = add i64 %fk, %kept\0A\00" @.str8216 = private unnamed_addr constant [33 x i8] c" store i64 %fk1, ptr @lp_fkept\0A\00" @.str8217 = private unnamed_addr constant [32 x i8] c" %fb = load i64, ptr @lp_fbad\0A\00" @.str8218 = private unnamed_addr constant [25 x i8] c" %fb1 = add i64 %fb, 1\0A\00" @.str8219 = private unnamed_addr constant [32 x i8] c" store i64 %fb1, ptr @lp_fbad\0A\00" @.str8220 = private unnamed_addr constant [28 x i8] c" %say = icmp uge i8 %m, 3\0A\00" @.str8221 = private unnamed_addr constant [42 x i8] c" br i1 %say, label %say_it, label %mark\0A\00" @.str8222 = private unnamed_addr constant [9 x i8] c"say_it:\0A\00" @.str8223 = private unnamed_addr constant [44 x i8] c" call void @lp_freport(i64 %f, i64 %kept)\0A\00" @.str8224 = private unnamed_addr constant [28 x i8] c" %fail = icmp eq i8 %m, 4\0A\00" @.str8225 = private unnamed_addr constant [40 x i8] c" br i1 %fail, label %die, label %mark\0A\00" @.str8226 = private unnamed_addr constant [6 x i8] c"die:\0A\00" @.str8227 = private unnamed_addr constant [63 x i8] c" call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_failing)\0A\00" @.str8228 = private unnamed_addr constant [26 x i8] c" store i8 0, ptr @lp_ft\0A\00" @.str8229 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str8230 = private unnamed_addr constant [27 x i8] c" call void @exit(i32 86)\0A\00" @.str8231 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str8232 = private unnamed_addr constant [7 x i8] c"mark:\0A\00" @.str8233 = private unnamed_addr constant [33 x i8] c" call void @lp_fmark_touched()\0A\00" @.str8234 = private unnamed_addr constant [20 x i8] c" br label %unlock\0A\00" @.str8235 = private unnamed_addr constant [9 x i8] c"unlock:\0A\00" @.str8236 = private unnamed_addr constant [27 x i8] c" call void @lp_funlock()\0A\00" @.str8237 = private unnamed_addr constant [18 x i8] c" br label %tick\0A\00" @.str8238 = private unnamed_addr constant [7 x i8] c"tick:\0A\00" @.str8239 = private unnamed_addr constant [32 x i8] c" store i64 %f1, ptr @lp_frame\0A\00" @.str8240 = private unnamed_addr constant [35 x i8] c" %sa = load i64, ptr @lp_scan_at\0A\00" @.str8241 = private unnamed_addr constant [34 x i8] c" %sunread = icmp eq i64 %sa, -2\0A\00" @.str8242 = private unnamed_addr constant [47 x i8] c" br i1 %sunread, label %sread, label %scheck\0A\00" @.str8243 = private unnamed_addr constant [8 x i8] c"sread:\0A\00" @.str8244 = private unnamed_addr constant [51 x i8] c" %sv = call i64 @lp_fenv(ptr @.lpf_scan, i64 -1)\0A\00" @.str8245 = private unnamed_addr constant [34 x i8] c" store i64 %sv, ptr @lp_scan_at\0A\00" @.str8246 = private unnamed_addr constant [20 x i8] c" br label %scheck\0A\00" @.str8247 = private unnamed_addr constant [9 x i8] c"scheck:\0A\00" @.str8248 = private unnamed_addr constant [36 x i8] c" %sat = load i64, ptr @lp_scan_at\0A\00" @.str8249 = private unnamed_addr constant [33 x i8] c" %sdue = icmp eq i64 %sat, %f1\0A\00" @.str8250 = private unnamed_addr constant [40 x i8] c" br i1 %sdue, label %sdo, label %sout\0A\00" @.str8251 = private unnamed_addr constant [6 x i8] c"sdo:\0A\00" @.str8252 = private unnamed_addr constant [27 x i8] c" call i64 @lp_mem_scan()\0A\00" @.str8253 = private unnamed_addr constant [18 x i8] c" br label %sout\0A\00" @.str8254 = private unnamed_addr constant [7 x i8] c"sout:\0A\00" @.str8255 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8256 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8257 = private unnamed_addr constant [25 x i8] c"@lp_site = global i32 0\0A\00" @.str8258 = private unnamed_addr constant [24 x i8] c"@lp_want = global i8 0\0A\00" @.str8259 = private unnamed_addr constant [26 x i8] c"@lp_fdecl = global i32 0\0A\00" @.str8260 = private unnamed_addr constant [33 x i8] c"define ptr @lp_malloc(i64 %n) {\0A\00" @.str8261 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8262 = private unnamed_addr constant [38 x i8] c" %p = tail call ptr @malloc(i64 %n)\0A\00" @.str8263 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str8264 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8265 = private unnamed_addr constant [41 x i8] c"define ptr @lp_calloc(i64 %n, i64 %s) {\0A\00" @.str8266 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8267 = private unnamed_addr constant [46 x i8] c" %p = tail call ptr @calloc(i64 %n, i64 %s)\0A\00" @.str8268 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str8269 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8270 = private unnamed_addr constant [42 x i8] c"define ptr @lp_realloc(ptr %o, i64 %n) {\0A\00" @.str8271 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8272 = private unnamed_addr constant [47 x i8] c" %p = tail call ptr @realloc(ptr %o, i64 %n)\0A\00" @.str8273 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str8274 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8275 = private unnamed_addr constant [32 x i8] c"define void @lp_free(ptr %o) {\0A\00" @.str8276 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8277 = private unnamed_addr constant [41 x i8] c" %ist = ptrtoint ptr @lp_istore to i64\0A\00" @.str8278 = private unnamed_addr constant [32 x i8] c" %ien = add i64 %ist, 4194304\0A\00" @.str8279 = private unnamed_addr constant [32 x i8] c" %ix = ptrtoint ptr %o to i64\0A\00" @.str8280 = private unnamed_addr constant [33 x i8] c" %ige = icmp uge i64 %ix, %ist\0A\00" @.str8281 = private unnamed_addr constant [33 x i8] c" %ilt = icmp ult i64 %ix, %ien\0A\00" @.str8282 = private unnamed_addr constant [28 x i8] c" %iin = and i1 %ige, %ilt\0A\00" @.str8283 = private unnamed_addr constant [43 x i8] c" br i1 %iin, label %istore, label %free0\0A\00" @.str8284 = private unnamed_addr constant [9 x i8] c"istore:\0A\00" @.str8285 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8286 = private unnamed_addr constant [8 x i8] c"free0:\0A\00" @.str8287 = private unnamed_addr constant [32 x i8] c" tail call void @free(ptr %o)\0A\00" @.str8288 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8289 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8290 = private unnamed_addr constant [30 x i8] c"define void @lp_mem_play() {\0A\00" @.str8291 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8292 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8293 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8294 = private unnamed_addr constant [33 x i8] c"define void @lp_mem_settled() {\0A\00" @.str8295 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8296 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8297 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8298 = private unnamed_addr constant [31 x i8] c"define void @lp_mem_frame() {\0A\00" @.str8299 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8300 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8301 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8302 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_kept() {\0A\00" @.str8303 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8304 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str8305 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8306 = private unnamed_addr constant [35 x i8] c"define i64 @lp_mem_bad_frames() {\0A\00" @.str8307 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8308 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str8309 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8310 = private unnamed_addr constant [59 x i8] c"define void @lp_cap_over(ptr %name, i32 %cap, i32 %len) {\0A\00" @.str8311 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8312 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8313 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8314 = private unnamed_addr constant [29 x i8] c"define i64 @lp_mem_scan() {\0A\00" @.str8315 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8316 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str8317 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8318 = private unnamed_addr constant [49 x i8] c"@lp_itab = global [65536 x ptr] zeroinitializer\0A\00" @.str8319 = private unnamed_addr constant [27 x i8] c"@lp_icount = global i64 0\0A\00" @.str8320 = private unnamed_addr constant [61 x i8] c"@lp_istore = internal global [4194304 x i8] zeroinitializer\0A\00" @.str8321 = private unnamed_addr constant [34 x i8] c"@lp_ipos = internal global i64 0\0A\00" @.str8322 = private unnamed_addr constant [34 x i8] c"@lp_iover = internal global i8 0\0A\00" @.str8323 = 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" @.str8324 = private unnamed_addr constant [42 x i8] c"define internal void @lp_intern_over() {\0A\00" @.str8325 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8326 = private unnamed_addr constant [31 x i8] c" %o = load i8, ptr @lp_iover\0A\00" @.str8327 = private unnamed_addr constant [28 x i8] c" %said = icmp ne i8 %o, 0\0A\00" @.str8328 = private unnamed_addr constant [39 x i8] c" br i1 %said, label %out, label %say\0A\00" @.str8329 = private unnamed_addr constant [6 x i8] c"say:\0A\00" @.str8330 = private unnamed_addr constant [29 x i8] c" store i8 1, ptr @lp_iover\0A\00" @.str8331 = private unnamed_addr constant [56 x i8] c" call void @lp_cap_over(ptr @.lpi_over, i32 0, i32 0)\0A\00" @.str8332 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str8333 = private unnamed_addr constant [6 x i8] c"out:\0A\00" @.str8334 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8335 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8336 = private unnamed_addr constant [51 x i8] c"define internal ptr @lp_copystr(ptr %s, i64 %n) {\0A\00" @.str8337 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8338 = private unnamed_addr constant [23 x i8] c" %n1 = add i64 %n, 1\0A\00" @.str8339 = private unnamed_addr constant [33 x i8] c" %pos = load i64, ptr @lp_ipos\0A\00" @.str8340 = private unnamed_addr constant [28 x i8] c" %end = add i64 %pos, %n1\0A\00" @.str8341 = private unnamed_addr constant [38 x i8] c" %fits = icmp ule i64 %end, 4194304\0A\00" @.str8342 = private unnamed_addr constant [41 x i8] c" br i1 %fits, label %bump, label %heap\0A\00" @.str8343 = private unnamed_addr constant [7 x i8] c"bump:\0A\00" @.str8344 = private unnamed_addr constant [79 x i8] c" %b = getelementptr inbounds [4194304 x i8], ptr @lp_istore, i64 0, i64 %pos\0A\00" @.str8345 = private unnamed_addr constant [32 x i8] c" store i64 %end, ptr @lp_ipos\0A\00" @.str8346 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %b, ptr %s, i64 %n1)\0A\00" @.str8347 = private unnamed_addr constant [14 x i8] c" ret ptr %b\0A\00" @.str8348 = private unnamed_addr constant [7 x i8] c"heap:\0A\00" @.str8349 = private unnamed_addr constant [31 x i8] c" call void @lp_intern_over()\0A\00" @.str8350 = private unnamed_addr constant [37 x i8] c" %p = call ptr @lp_malloc(i64 %n1)\0A\00" @.str8351 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %p, ptr %s, i64 %n1)\0A\00" @.str8352 = private unnamed_addr constant [14 x i8] c" ret ptr %p\0A\00" @.str8353 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8354 = private unnamed_addr constant [33 x i8] c"define ptr @lp_intern(ptr %s) {\0A\00" @.str8355 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str8356 = private unnamed_addr constant [32 x i8] c" %null = icmp eq ptr %s, null\0A\00" @.str8357 = private unnamed_addr constant [39 x i8] c" br i1 %null, label %none, label %hl\0A\00" @.str8358 = private unnamed_addr constant [7 x i8] c"none:\0A\00" @.str8359 = private unnamed_addr constant [16 x i8] c" ret ptr null\0A\00" @.str8360 = private unnamed_addr constant [5 x i8] c"hl:\0A\00" @.str8361 = private unnamed_addr constant [44 x i8] c" %i = phi i64 [ 0, %entry ], [ %i1, %hb ]\0A\00" @.str8362 = private unnamed_addr constant [63 x i8] c" %h = phi i64 [ -3750763034362895579, %entry ], [ %h2, %hb ]\0A\00" @.str8363 = private unnamed_addr constant [42 x i8] c" %cp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str8364 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %cp\0A\00" @.str8365 = private unnamed_addr constant [27 x i8] c" %end = icmp eq i8 %c, 0\0A\00" @.str8366 = private unnamed_addr constant [39 x i8] c" br i1 %end, label %probe, label %hb\0A\00" @.str8367 = private unnamed_addr constant [5 x i8] c"hb:\0A\00" @.str8368 = private unnamed_addr constant [27 x i8] c" %cz = zext i8 %c to i64\0A\00" @.str8369 = private unnamed_addr constant [25 x i8] c" %h1 = xor i64 %h, %cz\0A\00" @.str8370 = private unnamed_addr constant [36 x i8] c" %h2 = mul i64 %h1, 1099511628211\0A\00" @.str8371 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str8372 = private unnamed_addr constant [16 x i8] c" br label %hl\0A\00" @.str8373 = private unnamed_addr constant [8 x i8] c"probe:\0A\00" @.str8374 = private unnamed_addr constant [43 x i8] c" %k = phi i64 [ 0, %hl ], [ %k1, %next ]\0A\00" @.str8375 = private unnamed_addr constant [30 x i8] c" %far = icmp uge i64 %k, 64\0A\00" @.str8376 = private unnamed_addr constant [45 x i8] c" br i1 %far, label %copy_only, label %look\0A\00" @.str8377 = private unnamed_addr constant [7 x i8] c"look:\0A\00" @.str8378 = private unnamed_addr constant [27 x i8] c" %slot0 = add i64 %h, %k\0A\00" @.str8379 = private unnamed_addr constant [33 x i8] c" %slot = and i64 %slot0, 65535\0A\00" @.str8380 = private unnamed_addr constant [69 x i8] c" %sp = getelementptr [65536 x ptr], ptr @lp_itab, i64 0, i64 %slot\0A\00" @.str8381 = private unnamed_addr constant [26 x i8] c" %v = load ptr, ptr %sp\0A\00" @.str8382 = private unnamed_addr constant [33 x i8] c" %empty = icmp eq ptr %v, null\0A\00" @.str8383 = private unnamed_addr constant [42 x i8] c" br i1 %empty, label %store, label %cmp\0A\00" @.str8384 = private unnamed_addr constant [6 x i8] c"cmp:\0A\00" @.str8385 = private unnamed_addr constant [41 x i8] c" %r = call i32 @strcmp(ptr %v, ptr %s)\0A\00" @.str8386 = private unnamed_addr constant [29 x i8] c" %same = icmp eq i32 %r, 0\0A\00" @.str8387 = private unnamed_addr constant [42 x i8] c" br i1 %same, label %found, label %next\0A\00" @.str8388 = private unnamed_addr constant [7 x i8] c"next:\0A\00" @.str8389 = private unnamed_addr constant [23 x i8] c" %k1 = add i64 %k, 1\0A\00" @.str8390 = private unnamed_addr constant [19 x i8] c" br label %probe\0A\00" @.str8391 = private unnamed_addr constant [8 x i8] c"found:\0A\00" @.str8392 = private unnamed_addr constant [14 x i8] c" ret ptr %v\0A\00" @.str8393 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str8394 = private unnamed_addr constant [35 x i8] c" %cnt = load i64, ptr @lp_icount\0A\00" @.str8395 = private unnamed_addr constant [36 x i8] c" %full = icmp uge i64 %cnt, 49152\0A\00" @.str8396 = private unnamed_addr constant [46 x i8] c" br i1 %full, label %copy_only, label %keep\0A\00" @.str8397 = private unnamed_addr constant [7 x i8] c"keep:\0A\00" @.str8398 = private unnamed_addr constant [46 x i8] c" %c2 = call ptr @lp_copystr(ptr %s, i64 %i)\0A\00" @.str8399 = private unnamed_addr constant [26 x i8] c" store ptr %c2, ptr %sp\0A\00" @.str8400 = private unnamed_addr constant [27 x i8] c" %cnt1 = add i64 %cnt, 1\0A\00" @.str8401 = private unnamed_addr constant [35 x i8] c" store i64 %cnt1, ptr @lp_icount\0A\00" @.str8402 = private unnamed_addr constant [15 x i8] c" ret ptr %c2\0A\00" @.str8403 = private unnamed_addr constant [12 x i8] c"copy_only:\0A\00" @.str8404 = private unnamed_addr constant [31 x i8] c" call void @lp_intern_over()\0A\00" @.str8405 = private unnamed_addr constant [46 x i8] c" %c3 = call ptr @lp_copystr(ptr %s, i64 %i)\0A\00" @.str8406 = private unnamed_addr constant [15 x i8] c" ret ptr %c3\0A\00" @.str8407 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str8408 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14980: index out of range: \00" @.str8409 = private unnamed_addr constant [2 x i8] c".\00" @.str8410 = private unnamed_addr constant [10 x i8] c"fr_capped\00" @.str8411 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:14992: index out of range: \00" @.str8412 = private unnamed_addr constant [6 x i8] c"Input\00" @.str8413 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str8414 = private unnamed_addr constant [7 x i8] c"Update\00" @.str8415 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str8416 = private unnamed_addr constant [7 x i8] c"Render\00" @.str8417 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str8418 = private unnamed_addr constant [5 x i8] c"tick\00" @.str8419 = private unnamed_addr constant [5 x i8] c"tick\00" @.str8420 = private unnamed_addr constant [2 x i8] c".\00" @.str8421 = private unnamed_addr constant [23 x i8] c"fr_is_frame_prop_field\00" @.str8422 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15019: index out of range: \00" @.str8423 = private unnamed_addr constant [11 x i8] c"ludic_act_\00" @.str8424 = private unnamed_addr constant [12 x i8] c"fr_alloc_ok\00" @.str8425 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15033: index out of range: \00" @.str8426 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15033: index out of range: \00" @.str8427 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15039: index out of range: \00" @.str8428 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15049: index out of range: \00" @.str8429 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15059: index out of range: \00" @.str8430 = private unnamed_addr constant [7 x i8] c"string\00" @.str8431 = private unnamed_addr constant [2 x i8] c"+\00" @.str8432 = private unnamed_addr constant [5 x i8] c"new:\00" @.str8433 = private unnamed_addr constant [14 x i8] c"fr_alloc_kind\00" @.str8434 = private unnamed_addr constant [5 x i8] c"list\00" @.str8435 = private unnamed_addr constant [2 x i8] c"+\00" @.str8436 = private unnamed_addr constant [5 x i8] c"text\00" @.str8437 = private unnamed_addr constant [5 x i8] c"push\00" @.str8438 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15079: index out of range: \00" @.str8439 = private unnamed_addr constant [5 x i8] c"grow\00" @.str8440 = private unnamed_addr constant [6 x i8] c"words\00" @.str8441 = private unnamed_addr constant [7 x i8] c"floats\00" @.str8442 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str8443 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str8444 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8445 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str8446 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str8447 = private unnamed_addr constant [3 x i8] c"()\00" @.str8448 = private unnamed_addr constant [8 x i8] c"falloc \00" @.str8449 = private unnamed_addr constant [10 x i8] c"fr_allocs\00" @.str8450 = private unnamed_addr constant [2 x i8] c" \00" @.str8451 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15097: index out of range: \00" @.str8452 = private unnamed_addr constant [2 x i8] c":\00" @.str8453 = private unnamed_addr constant [2 x i8] c" \00" @.str8454 = private unnamed_addr constant [2 x i8] c"+\00" @.str8455 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15106: index out of range: \00" @.str8456 = private unnamed_addr constant [2 x i8] c"+\00" @.str8457 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15119: index out of range: \00" @.str8458 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15126: index out of range: \00" @.str8459 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15127: index out of range: \00" @.str8460 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15131: index out of range: \00" @.str8461 = private unnamed_addr constant [2 x i8] c">\00" @.str8462 = private unnamed_addr constant [9 x i8] c"fr_chain\00" @.str8463 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15133: index out of range: \00" @.str8464 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15136: index out of range: \00" @.str8465 = private unnamed_addr constant [5 x i8] c">..>\00" @.str8466 = private unnamed_addr constant [11 x i8] c"deps_frame\00" @.str8467 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15150: index out of range: \00" @.str8468 = private unnamed_addr constant [5 x i8] c"@On \00" @.str8469 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15160: index out of range: \00" @.str8470 = private unnamed_addr constant [2 x i8] c"#\00" @.str8471 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15167: index out of range: \00" @.str8472 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15167: index out of range: \00" @.str8473 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15167: index out of range: \00" @.str8474 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15172: index out of range: \00" @.str8475 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15174: index out of range: \00" @.str8476 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15177: index out of range: \00" @.str8477 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15178: index out of range: \00" @.str8478 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15178: index out of range: \00" @.str8479 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15179: index out of range: \00" @.str8480 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15180: index out of range: \00" @.str8481 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15189: index out of range: \00" @.str8482 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15190: index out of range: \00" @.str8483 = private unnamed_addr constant [14 x i8] c"frame_allocs \00" @.str8484 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15207: index out of range: \00" @.str8485 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15208: index out of range: \00" @.str8486 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15209: index out of range: \00" @.str8487 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15209: index out of range: \00" @.str8488 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15209: index out of range: \00" @.str8489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15209: index out of range: \00" @.str8490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15210: index out of range: \00" @.str8491 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15212: index out of range: \00" @.str8492 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15213: index out of range: \00" @.str8493 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15214: index out of range: \00" @.str8494 = private unnamed_addr constant [2 x i8] c"?\00" @.str8495 = private unnamed_addr constant [2 x i8] c":\00" @.str8496 = private unnamed_addr constant [11 x i8] c"deps_keeps\00" @.str8497 = private unnamed_addr constant [5 x i8] c"text\00" @.str8498 = private unnamed_addr constant [7 x i8] c"fkeep \00" @.str8499 = private unnamed_addr constant [2 x i8] c" \00" @.str8500 = private unnamed_addr constant [2 x i8] c":\00" @.str8501 = private unnamed_addr constant [2 x i8] c" \00" @.str8502 = private unnamed_addr constant [2 x i8] c" \00" @.str8503 = private unnamed_addr constant [38 x i8] c"frame code keeps what it makes: this \00" @.str8504 = private unnamed_addr constant [13 x i8] c" is kept at \00" @.str8505 = private unnamed_addr constant [3 x i8] c" (\00" @.str8506 = private unnamed_addr constant [72 x i8] c") - keep(...) or intern(...) to copy it on purpose, or @alloc_ok(\22why\22)\00" @.str8507 = private unnamed_addr constant [6 x i8] c"error\00" @.str8508 = private unnamed_addr constant [2 x i8] c":\00" @.str8509 = private unnamed_addr constant [10 x i8] c": error: \00" @.str8510 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8511 = private unnamed_addr constant [13 x i8] c"frame_keeps \00" @.str8512 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15242: index out of range: \00" @.str8513 = private unnamed_addr constant [12 x i8] c"deps_births\00" @.str8514 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15257: index out of range: \00" @.str8515 = private unnamed_addr constant [6 x i8] c"Start\00" @.str8516 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15259: index out of range: \00" @.str8517 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15266: index out of range: \00" @.str8518 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15266: index out of range: \00" @.str8519 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15270: index out of range: \00" @.str8520 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15270: index out of range: \00" @.str8521 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15271: index out of range: \00" @.str8522 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15271: index out of range: \00" @.str8523 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15272: index out of range: \00" @.str8524 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15280: index out of range: \00" @.str8525 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15281: index out of range: \00" @.str8526 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15282: index out of range: \00" @.str8527 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15283: index out of range: \00" @.str8528 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15283: index out of range: \00" @.str8529 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15283: index out of range: \00" @.str8530 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15283: index out of range: \00" @.str8531 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15284: index out of range: \00" @.str8532 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15286: index out of range: \00" @.str8533 = private unnamed_addr constant [5 x i8] c"text\00" @.str8534 = private unnamed_addr constant [16 x i8] c"outside-a-frame\00" @.str8535 = private unnamed_addr constant [8 x i8] c"fbirth \00" @.str8536 = private unnamed_addr constant [2 x i8] c" \00" @.str8537 = private unnamed_addr constant [2 x i8] c":\00" @.str8538 = private unnamed_addr constant [2 x i8] c" \00" @.str8539 = private unnamed_addr constant [2 x i8] c" \00" @.str8540 = private unnamed_addr constant [13 x i8] c"birth_leaks \00" @.str8541 = private unnamed_addr constant [7 x i8] c"es_new\00" @.str8542 = private unnamed_addr constant [8 x i8] c"es_flow\00" @.str8543 = private unnamed_addr constant [9 x i8] c"es_store\00" @.str8544 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15371: index out of range: \00" @.str8545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15371: index out of range: \00" @.str8546 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15372: index out of range: \00" @.str8547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15372: index out of range: \00" @.str8548 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15377: index out of range: \00" @.str8549 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15377: index out of range: \00" @.str8550 = private unnamed_addr constant [14 x i8] c"es_bind_local\00" @.str8551 = private unnamed_addr constant [4 x i8] c"int\00" @.str8552 = private unnamed_addr constant [6 x i8] c"float\00" @.str8553 = private unnamed_addr constant [5 x i8] c"long\00" @.str8554 = private unnamed_addr constant [7 x i8] c"double\00" @.str8555 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8556 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8557 = private unnamed_addr constant [5 x i8] c"byte\00" @.str8558 = private unnamed_addr constant [6 x i8] c"words\00" @.str8559 = private unnamed_addr constant [4 x i8] c"int\00" @.str8560 = private unnamed_addr constant [7 x i8] c"floats\00" @.str8561 = private unnamed_addr constant [6 x i8] c"float\00" @.str8562 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str8563 = private unnamed_addr constant [7 x i8] c"double\00" @.str8564 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str8565 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8566 = private unnamed_addr constant [11 x i8] c"es_elem_of\00" @.str8567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15407: index out of range: \00" @.str8568 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15407: index out of range: \00" @.str8569 = private unnamed_addr constant [7 x i8] c"string\00" @.str8570 = private unnamed_addr constant [4 x i8] c"int\00" @.str8571 = private unnamed_addr constant [6 x i8] c"float\00" @.str8572 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8573 = private unnamed_addr constant [7 x i8] c"string\00" @.str8574 = private unnamed_addr constant [3 x i8] c"==\00" @.str8575 = private unnamed_addr constant [3 x i8] c"!=\00" @.str8576 = private unnamed_addr constant [2 x i8] c"<\00" @.str8577 = private unnamed_addr constant [2 x i8] c">\00" @.str8578 = private unnamed_addr constant [3 x i8] c"<=\00" @.str8579 = private unnamed_addr constant [3 x i8] c">=\00" @.str8580 = private unnamed_addr constant [4 x i8] c"and\00" @.str8581 = private unnamed_addr constant [3 x i8] c"or\00" @.str8582 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8583 = private unnamed_addr constant [2 x i8] c"+\00" @.str8584 = private unnamed_addr constant [7 x i8] c"string\00" @.str8585 = private unnamed_addr constant [4 x i8] c"len\00" @.str8586 = private unnamed_addr constant [4 x i8] c"int\00" @.str8587 = private unnamed_addr constant [7 x i8] c"string\00" @.str8588 = private unnamed_addr constant [7 x i8] c"string\00" @.str8589 = private unnamed_addr constant [4 x i8] c"int\00" @.str8590 = private unnamed_addr constant [6 x i8] c"float\00" @.str8591 = private unnamed_addr constant [5 x i8] c"long\00" @.str8592 = private unnamed_addr constant [7 x i8] c"double\00" @.str8593 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8594 = private unnamed_addr constant [6 x i8] c"words\00" @.str8595 = private unnamed_addr constant [7 x i8] c"floats\00" @.str8596 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str8597 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str8598 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15451: index out of range: \00" @.str8599 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15459: index out of range: \00" @.str8600 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15460: index out of range: \00" @.str8601 = private unnamed_addr constant [8 x i8] c"es_site\00" @.str8602 = private unnamed_addr constant [4 x i8] c"Mem\00" @.str8603 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8604 = private unnamed_addr constant [7 x i8] c"es_val\00" @.str8605 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15504: index out of range: \00" @.str8606 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15504: index out of range: \00" @.str8607 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15506: index out of range: \00" @.str8608 = private unnamed_addr constant [2 x i8] c"+\00" @.str8609 = private unnamed_addr constant [3 x i8] c"==\00" @.str8610 = private unnamed_addr constant [3 x i8] c"!=\00" @.str8611 = private unnamed_addr constant [2 x i8] c"+\00" @.str8612 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15536: index out of range: \00" @.str8613 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15544: index out of range: \00" @.str8614 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15551: index out of range: \00" @.str8615 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15561: index out of range: \00" @.str8616 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15569: index out of range: \00" @.str8617 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15577: index out of range: \00" @.str8618 = private unnamed_addr constant [11 x i8] c"es_fns_for\00" @.str8619 = private unnamed_addr constant [2 x i8] c"$\00" @.str8620 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15592: index out of range: \00" @.str8621 = private unnamed_addr constant [5 x i8] c"quit\00" @.str8622 = private unnamed_addr constant [5 x i8] c"exit\00" @.str8623 = private unnamed_addr constant [6 x i8] c"panic\00" @.str8624 = private unnamed_addr constant [7 x i8] c"assert\00" @.str8625 = private unnamed_addr constant [7 x i8] c"expect\00" @.str8626 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str8627 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str8628 = private unnamed_addr constant [4 x i8] c"min\00" @.str8629 = private unnamed_addr constant [4 x i8] c"max\00" @.str8630 = private unnamed_addr constant [4 x i8] c"abs\00" @.str8631 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8632 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str8633 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8634 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str8635 = private unnamed_addr constant [6 x i8] c"round\00" @.str8636 = private unnamed_addr constant [4 x i8] c"int\00" @.str8637 = private unnamed_addr constant [6 x i8] c"float\00" @.str8638 = private unnamed_addr constant [5 x i8] c"long\00" @.str8639 = private unnamed_addr constant [7 x i8] c"double\00" @.str8640 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8641 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8642 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str8643 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str8644 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str8645 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8646 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8647 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str8648 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8649 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8650 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15609: index out of range: \00" @.str8651 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15613: index out of range: \00" @.str8652 = private unnamed_addr constant [7 x i8] c"string\00" @.str8653 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15627: index out of range: \00" @.str8654 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15627: index out of range: \00" @.str8655 = private unnamed_addr constant [5 x i8] c"keep\00" @.str8656 = private unnamed_addr constant [7 x i8] c"intern\00" @.str8657 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15634: index out of range: \00" @.str8658 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15634: index out of range: \00" @.str8659 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15635: index out of range: \00" @.str8660 = private unnamed_addr constant [5 x i8] c"push\00" @.str8661 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15639: index out of range: \00" @.str8662 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15640: index out of range: \00" @.str8663 = private unnamed_addr constant [8 x i8] c"es_call\00" @.str8664 = private unnamed_addr constant [6 x i8] c"words\00" @.str8665 = private unnamed_addr constant [7 x i8] c"floats\00" @.str8666 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str8667 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str8668 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8669 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str8670 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str8671 = private unnamed_addr constant [5 x i8] c"free\00" @.str8672 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15650: index out of range: \00" @.str8673 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15651: index out of range: \00" @.str8674 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15651: index out of range: \00" @.str8675 = private unnamed_addr constant [6 x i8] c"print\00" @.str8676 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15657: index out of range: \00" @.str8677 = private unnamed_addr constant [4 x i8] c"len\00" @.str8678 = private unnamed_addr constant [5 x i8] c"view\00" @.str8679 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15662: index out of range: \00" @.str8680 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15664: index out of range: \00" @.str8681 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15674: index out of range: \00" @.str8682 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15677: index out of range: \00" @.str8683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15682: index out of range: \00" @.str8684 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15685: index out of range: \00" @.str8685 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15685: index out of range: \00" @.str8686 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15686: index out of range: \00" @.str8687 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15687: index out of range: \00" @.str8688 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15687: index out of range: \00" @.str8689 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15687: index out of range: \00" @.str8690 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15705: index out of range: \00" @.str8691 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15710: index out of range: \00" @.str8692 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15715: index out of range: \00" @.str8693 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15717: index out of range: \00" @.str8694 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15718: index out of range: \00" @.str8695 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15719: index out of range: \00" @.str8696 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15719: index out of range: \00" @.str8697 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15724: index out of range: \00" @.str8698 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15732: index out of range: \00" @.str8699 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15734: index out of range: \00" @.str8700 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15763: index out of range: \00" @.str8701 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15780: index out of range: \00" @.str8702 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15786: index out of range: \00" @.str8703 = private unnamed_addr constant [4 x i8] c"int\00" @.str8704 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15796: index out of range: \00" @.str8705 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15803: index out of range: \00" @.str8706 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15816: index out of range: \00" @.str8707 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15827: index out of range: \00" @.str8708 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15828: index out of range: \00" @.str8709 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15829: index out of range: \00" @.str8710 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15829: index out of range: \00" @.str8711 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15829: index out of range: \00" @.str8712 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15829: index out of range: \00" @.str8713 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15830: index out of range: \00" @.str8714 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15830: index out of range: \00" @.str8715 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15830: index out of range: \00" @.str8716 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15830: index out of range: \00" @.str8717 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15831: index out of range: \00" @.str8718 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15831: index out of range: \00" @.str8719 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15832: index out of range: \00" @.str8720 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15832: index out of range: \00" @.str8721 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15833: index out of range: \00" @.str8722 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15833: index out of range: \00" @.str8723 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15842: index out of range: \00" @.str8724 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15842: index out of range: \00" @.str8725 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15842: index out of range: \00" @.str8726 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15842: index out of range: \00" @.str8727 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15847: index out of range: \00" @.str8728 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15848: index out of range: \00" @.str8729 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15849: index out of range: \00" @.str8730 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15849: index out of range: \00" @.str8731 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15850: index out of range: \00" @.str8732 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15850: index out of range: \00" @.str8733 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15851: index out of range: \00" @.str8734 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15851: index out of range: \00" @.str8735 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15864: index out of range: \00" @.str8736 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15865: index out of range: \00" @.str8737 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15866: index out of range: \00" @.str8738 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15866: index out of range: \00" @.str8739 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15866: index out of range: \00" @.str8740 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15866: index out of range: \00" @.str8741 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15867: index out of range: \00" @.str8742 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15867: index out of range: \00" @.str8743 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15867: index out of range: \00" @.str8744 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15867: index out of range: \00" @.str8745 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15867: index out of range: \00" @.str8746 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15872: index out of range: \00" @.str8747 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15873: index out of range: \00" @.str8748 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15874: index out of range: \00" @.str8749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15874: index out of range: \00" @.str8750 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15874: index out of range: \00" @.str8751 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15874: index out of range: \00" @.str8752 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15884: index out of range: \00" @.str8753 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15885: index out of range: \00" @.str8754 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15886: index out of range: \00" @.str8755 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15886: index out of range: \00" @.str8756 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15886: index out of range: \00" @.str8757 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15903: index out of range: \00" @.str8758 = private unnamed_addr constant [7 x i8] c"$entry\00" @.str8759 = private unnamed_addr constant [15 x i8] c"escape_analyse\00" @.str8760 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15917: index out of range: \00" @.str8761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15917: index out of range: \00" @.str8762 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15917: index out of range: \00" @.str8763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15917: index out of range: \00" @.str8764 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15926: index out of range: \00" @.str8765 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15933: index out of range: \00" @.str8766 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15933: index out of range: \00" @.str8767 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15933: index out of range: \00" @.str8768 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15933: index out of range: \00" @.str8769 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15943: index out of range: \00" @.str8770 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15958: index out of range: \00" @.str8771 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15965: index out of range: \00" @.str8772 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15967: index out of range: \00" @.str8773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15967: index out of range: \00" @.str8774 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15976: index out of range: \00" @.str8775 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15977: index out of range: \00" @.str8776 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15978: index out of range: \00" @.str8777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15979: index out of range: \00" @.str8778 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15982: index out of range: \00" @.str8779 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15987: index out of range: \00" @.str8780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15989: index out of range: \00" @.str8781 = private unnamed_addr constant [2 x i8] c":\00" @.str8782 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15997: index out of range: \00" @.str8783 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15998: index out of range: \00" @.str8784 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:15999: index out of range: \00" @.str8785 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16000: index out of range: \00" @.str8786 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16001: index out of range: \00" @.str8787 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16013: index out of range: \00" @.str8788 = private unnamed_addr constant [5 x i8] c"kept\00" @.str8789 = private unnamed_addr constant [6 x i8] c"local\00" @.str8790 = private unnamed_addr constant [2 x i8] c"?\00" @.str8791 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16017: index out of range: \00" @.str8792 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16018: index out of range: \00" @.str8793 = private unnamed_addr constant [2 x i8] c"?\00" @.str8794 = private unnamed_addr constant [9 x i8] c"escape: \00" @.str8795 = private unnamed_addr constant [14 x i8] c"escape_report\00" @.str8796 = private unnamed_addr constant [2 x i8] c" \00" @.str8797 = private unnamed_addr constant [2 x i8] c":\00" @.str8798 = private unnamed_addr constant [2 x i8] c" \00" @.str8799 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8800 = private unnamed_addr constant [18 x i8] c"escape: fn value \00" @.str8801 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16027: index out of range: \00" @.str8802 = private unnamed_addr constant [3 x i8] c" (\00" @.str8803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16027: index out of range: \00" @.str8804 = private unnamed_addr constant [13 x i8] c" functions)\0A\00" @.str8805 = private unnamed_addr constant [9 x i8] c"escape: \00" @.str8806 = private unnamed_addr constant [9 x i8] c" local, \00" @.str8807 = private unnamed_addr constant [7 x i8] c" kept\0A\00" @.str8808 = private unnamed_addr constant [7 x i8] c"string\00" @.str8809 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str8810 = private unnamed_addr constant [10 x i8] c"emit_keep\00" @.str8811 = private unnamed_addr constant [2 x i8] c")\00" @.str8812 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str8813 = private unnamed_addr constant [4 x i8] c", 1\00" @.str8814 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str8815 = private unnamed_addr constant [2 x i8] c")\00" @.str8816 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str8817 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8818 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str8819 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8820 = private unnamed_addr constant [7 x i8] c"string\00" @.str8821 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str8822 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str8823 = private unnamed_addr constant [2 x i8] c")\00" @.str8824 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str8825 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8826 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8827 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8828 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str8829 = private unnamed_addr constant [3 x i8] c", \00" @.str8830 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str8831 = private unnamed_addr constant [4 x i8] c", 1\00" @.str8832 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str8833 = private unnamed_addr constant [2 x i8] c")\00" @.str8834 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str8835 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8836 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str8837 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8838 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str8839 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8840 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8841 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8842 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8843 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8844 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8845 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8846 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8847 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str8848 = private unnamed_addr constant [2 x i8] c")\00" @.str8849 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str8850 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8851 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str8852 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8853 = private unnamed_addr constant [2 x i8] c":\00" @.str8854 = private unnamed_addr constant [12 x i8] c"es_owner_at\00" @.str8855 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16097: index out of range: \00" @.str8856 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16097: index out of range: \00" @.str8857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16114: index out of range: \00" @.str8858 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16127: index out of range: \00" @.str8859 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16134: index out of range: \00" @.str8860 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16134: index out of range: \00" @.str8861 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16139: index out of range: \00" @.str8862 = private unnamed_addr constant [7 x i8] c"rdrop \00" @.str8863 = private unnamed_addr constant [9 x i8] c"res_walk\00" @.str8864 = private unnamed_addr constant [2 x i8] c" \00" @.str8865 = private unnamed_addr constant [2 x i8] c":\00" @.str8866 = private unnamed_addr constant [2 x i8] c" \00" @.str8867 = private unnamed_addr constant [13 x i8] c" thrown-away\00" @.str8868 = private unnamed_addr constant [7 x i8] c"rdrop \00" @.str8869 = private unnamed_addr constant [2 x i8] c" \00" @.str8870 = private unnamed_addr constant [2 x i8] c":\00" @.str8871 = private unnamed_addr constant [2 x i8] c" \00" @.str8872 = private unnamed_addr constant [2 x i8] c" \00" @.str8873 = private unnamed_addr constant [17 x i8] c"-never-handed-on\00" @.str8874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16166: index out of range: \00" @.str8875 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16175: index out of range: \00" @.str8876 = private unnamed_addr constant [16 x i8] c"resource_drops \00" @.str8877 = private unnamed_addr constant [15 x i8] c"deps_resources\00" @.str8878 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16185: index out of range: \00" @.str8879 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16196: index out of range: \00" @.str8880 = private unnamed_addr constant [12 x i8] c"own_collect\00" @.str8881 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16214: index out of range: \00" @.str8882 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16220: index out of range: \00" @.str8883 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16220: index out of range: \00" @.str8884 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16233: index out of range: \00" @.str8885 = private unnamed_addr constant [11 x i8] c"deps_owned\00" @.str8886 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16245: index out of range: \00" @.str8887 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16245: index out of range: \00" @.str8888 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16248: index out of range: \00" @.str8889 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16248: index out of range: \00" @.str8890 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16248: index out of range: \00" @.str8891 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16248: index out of range: \00" @.str8892 = private unnamed_addr constant [7 x i8] c"oleak \00" @.str8893 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16249: index out of range: \00" @.str8894 = private unnamed_addr constant [2 x i8] c".\00" @.str8895 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16249: index out of range: \00" @.str8896 = private unnamed_addr constant [2 x i8] c" \00" @.str8897 = private unnamed_addr constant [2 x i8] c":\00" @.str8898 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16249: index out of range: \00" @.str8899 = private unnamed_addr constant [2 x i8] c" \00" @.str8900 = private unnamed_addr constant [2 x i8] c" \00" @.str8901 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16249: index out of range: \00" @.str8902 = private unnamed_addr constant [2 x i8] c".\00" @.str8903 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16249: index out of range: \00" @.str8904 = private unnamed_addr constant [13 x i8] c"owned_leaks \00" @.str8905 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str8906 = private unnamed_addr constant [15 x i8] c"emit_str_const\00" @.str8907 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str8908 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str8909 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str8910 = private unnamed_addr constant [2 x i8] c"-\00" @.str8911 = private unnamed_addr constant [2 x i8] c"-\00" @.str8912 = private unnamed_addr constant [12 x i8] c"global_init\00" @.str8913 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8914 = private unnamed_addr constant [5 x i8] c"null\00" @.str8915 = private unnamed_addr constant [2 x i8] c"0\00" @.str8916 = private unnamed_addr constant [2 x i8] c"-\00" @.str8917 = private unnamed_addr constant [15 x i8] c"L_init_runtime\00" @.str8918 = private unnamed_addr constant [15 x i8] c"L_init_globals\00" @.str8919 = private unnamed_addr constant [5 x i8] c"void\00" @.str8920 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16351: index out of range: \00" @.str8921 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16353: index out of range: \00" @.str8922 = private unnamed_addr constant [9 x i8] c" store \00" @.str8923 = private unnamed_addr constant [2 x i8] c" \00" @.str8924 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str8925 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8926 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str8927 = private unnamed_addr constant [14 x i8] c"define void @\00" @.str8928 = private unnamed_addr constant [13 x i8] c"emit_init_fn\00" @.str8929 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str8930 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str8931 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str8932 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str8933 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str8934 = private unnamed_addr constant [31 x i8] c"declare ptr @calloc(i64, i64)\0A\00" @.str8935 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str8936 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str8937 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str8938 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str8939 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str8940 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str8941 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str8942 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str8943 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str8944 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str8945 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str8946 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str8947 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str8948 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str8949 = private unnamed_addr constant [37 x i8] c"declare ptr @memmove(ptr, ptr, i64)\0A\00" @.str8950 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str8951 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str8952 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str8953 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str8954 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str8955 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str8956 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str8957 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str8958 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str8959 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str8960 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str8961 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str8962 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str8963 = private unnamed_addr constant [32 x i8] c"declare i32 @win_key_char(i32)\0A\00" @.str8964 = private unnamed_addr constant [33 x i8] c"declare i32 @win_text(ptr, i32)\0A\00" @.str8965 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str8966 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str8967 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str8968 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str8969 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str8970 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str8971 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str8972 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str8973 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str8974 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str8975 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str8976 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str8977 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str8978 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str8979 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str8980 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str8981 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str8982 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str8983 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str8984 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str8985 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str8986 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str8987 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str8988 = 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" @.str8989 = 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" @.str8990 = 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" @.str8991 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str8992 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str8993 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str8994 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str8995 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str8996 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str8997 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str8998 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16457: index out of range: \00" @.str8999 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16461: index out of range: \00" @.str9000 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16461: index out of range: \00" @.str9001 = private unnamed_addr constant [10 x i8] c"property \00" @.str9002 = private unnamed_addr constant [12 x i8] c"emit_header\00" @.str9003 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str9004 = private unnamed_addr constant [10 x i8] c"property \00" @.str9005 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str9006 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str9007 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9008 = private unnamed_addr constant [3 x i8] c", \00" @.str9009 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16472: index out of range: \00" @.str9010 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str9011 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16482: index out of range: \00" @.str9012 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16486: index out of range: \00" @.str9013 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16486: index out of range: \00" @.str9014 = private unnamed_addr constant [10 x i8] c"variable \00" @.str9015 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str9016 = private unnamed_addr constant [10 x i8] c"variable \00" @.str9017 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str9018 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str9019 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str9020 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9021 = private unnamed_addr constant [2 x i8] c" \00" @.str9022 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9023 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16508: index out of range: \00" @.str9024 = private unnamed_addr constant [9 x i8] c"declare \00" @.str9025 = private unnamed_addr constant [3 x i8] c" @\00" @.str9026 = private unnamed_addr constant [2 x i8] c"(\00" @.str9027 = private unnamed_addr constant [3 x i8] c", \00" @.str9028 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16514: index out of range: \00" @.str9029 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9030 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str9031 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str9032 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str9033 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str9034 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str9035 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str9036 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str9037 = 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" @.str9038 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str9039 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str9040 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str9041 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str9042 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str9043 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str9044 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str9045 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str9046 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str9047 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str9048 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str9049 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str9050 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str9051 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str9052 = 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" @.str9053 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str9054 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str9055 = 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" @.str9056 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str9057 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str9058 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str9059 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str9060 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str9061 = 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" @.str9062 = 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" @.str9063 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str9064 = 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" @.str9065 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str9066 = private unnamed_addr constant [45 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 24)\0A\00" @.str9067 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str9068 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str9069 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str9070 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str9071 = 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" @.str9072 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str9073 = 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" @.str9074 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str9075 = 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" @.str9076 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str9077 = 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" @.str9078 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str9079 = 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" @.str9080 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str9081 = private unnamed_addr constant [84 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A\00" @.str9082 = 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" @.str9083 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str9084 = private unnamed_addr constant [45 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 24)\0A\00" @.str9085 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str9086 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str9087 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str9088 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str9089 = 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" @.str9090 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str9091 = 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" @.str9092 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str9093 = 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" @.str9094 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str9095 = 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" @.str9096 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str9097 = 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" @.str9098 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str9099 = private unnamed_addr constant [84 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A\00" @.str9100 = 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" @.str9101 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str9102 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str9103 = 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" @.str9104 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str9105 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str9106 = 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" @.str9107 = 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" @.str9108 = 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" @.str9109 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16647: index out of range: \00" @.str9110 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16657: index out of range: \00" @.str9111 = private unnamed_addr constant [9 x i8] c"gi_reads\00" @.str9112 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16667: index out of range: \00" @.str9113 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16669: index out of range: \00" @.str9114 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16676: index out of range: \00" @.str9115 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16684: index out of range: \00" @.str9116 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16689: index out of range: \00" @.str9117 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16690: index out of range: \00" @.str9118 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16691: index out of range: \00" @.str9119 = private unnamed_addr constant [9 x i8] c"gi_visit\00" @.str9120 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16698: index out of range: \00" @.str9121 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16698: index out of range: \00" @.str9122 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16698: index out of range: \00" @.str9123 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16698: index out of range: \00" @.str9124 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16702: index out of range: \00" @.str9125 = private unnamed_addr constant [9 x i8] c"gi_order\00" @.str9126 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16712: index out of range: \00" @.str9127 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16723: index out of range: \00" @.str9128 = private unnamed_addr constant [7 x i8] c"state$\00" @.str9129 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16743: index out of range: \00" @.str9130 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16743: index out of range: \00" @.str9131 = private unnamed_addr constant [3 x i8] c"S_\00" @.str9132 = private unnamed_addr constant [18 x i8] c"emit_state_getter\00" @.str9133 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9134 = private unnamed_addr constant [26 x i8] c" %p0 = load ptr, ptr @g_\00" @.str9135 = 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" @.str9136 = private unnamed_addr constant [59 x i8] c" %decl.in = atomicrmw add ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str9137 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9138 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str9139 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9140 = private unnamed_addr constant [60 x i8] c" %decl.out = atomicrmw sub ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str9141 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str9142 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9143 = private unnamed_addr constant [13 x i8] c"define ptr @\00" @.str9144 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9145 = private unnamed_addr constant [26 x i8] c" br label %start\0Astart:\0A\00" @.str9146 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9147 = private unnamed_addr constant [40 x i8] c"define void @L_reset_states() {\0Aentry:\0A\00" @.str9148 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16780: index out of range: \00" @.str9149 = private unnamed_addr constant [26 x i8] c" store ptr null, ptr @g_\00" @.str9150 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16780: index out of range: \00" @.str9151 = private unnamed_addr constant [17 x i8] c"emit_state_reset\00" @.str9152 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9153 = private unnamed_addr constant [14 x i8] c" ret void\0A}\0A\00" @.str9154 = private unnamed_addr constant [13 x i8] c"call ptr @S_\00" @.str9155 = private unnamed_addr constant [16 x i8] c"lazy_state_read\00" @.str9156 = private unnamed_addr constant [3 x i8] c"()\00" @.str9157 = private unnamed_addr constant [11 x i8] c"LUDIC_DEPS\00" @.str9158 = private unnamed_addr constant [1 x i8] c"\00" @.str9159 = private unnamed_addr constant [1 x i8] c"\00" @.str9160 = private unnamed_addr constant [2 x i8] c" \00" @.str9161 = private unnamed_addr constant [10 x i8] c"deps_edge\00" @.str9162 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16825: index out of range: \00" @.str9163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16826: index out of range: \00" @.str9164 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16826: index out of range: \00" @.str9165 = private unnamed_addr constant [1 x i8] c"\00" @.str9166 = private unnamed_addr constant [1 x i8] c"\00" @.str9167 = private unnamed_addr constant [7 x i8] c"write \00" @.str9168 = private unnamed_addr constant [11 x i8] c"deps_write\00" @.str9169 = private unnamed_addr constant [2 x i8] c" \00" @.str9170 = private unnamed_addr constant [2 x i8] c" \00" @.str9171 = private unnamed_addr constant [2 x i8] c" \00" @.str9172 = private unnamed_addr constant [2 x i8] c":\00" @.str9173 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9174 = private unnamed_addr constant [11 x i8] c"LUDIC_DEPS\00" @.str9175 = private unnamed_addr constant [3 x i8] c"wb\00" @.str9176 = private unnamed_addr constant [11 x i8] c"deps_flush\00" @.str9177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16862: index out of range: \00" @.str9178 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16866: index out of range: \00" @.str9179 = private unnamed_addr constant [1 x i8] c"\00" @.str9180 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16872: index out of range: \00" @.str9181 = private unnamed_addr constant [1 x i8] c"\00" @.str9182 = private unnamed_addr constant [2 x i8] c"-\00" @.str9183 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16875: index out of range: \00" @.str9184 = private unnamed_addr constant [1 x i8] c"\00" @.str9185 = private unnamed_addr constant [2 x i8] c"-\00" @.str9186 = private unnamed_addr constant [8 x i8] c"module \00" @.str9187 = private unnamed_addr constant [2 x i8] c" \00" @.str9188 = private unnamed_addr constant [2 x i8] c" \00" @.str9189 = private unnamed_addr constant [2 x i8] c" \00" @.str9190 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16885: index out of range: \00" @.str9191 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16889: index out of range: \00" @.str9192 = private unnamed_addr constant [1 x i8] c"\00" @.str9193 = private unnamed_addr constant [8 x i8] c"module \00" @.str9194 = private unnamed_addr constant [7 x i8] c" 1 - -\00" @.str9195 = private unnamed_addr constant [6 x i8] c"edge \00" @.str9196 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16900: index out of range: \00" @.str9197 = private unnamed_addr constant [2 x i8] c" \00" @.str9198 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16900: index out of range: \00" @.str9199 = private unnamed_addr constant [2 x i8] c" \00" @.str9200 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16900: index out of range: \00" @.str9201 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16905: index out of range: \00" @.str9202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16910: index out of range: \00" @.str9203 = private unnamed_addr constant [14 x i8] c"english_left \00" @.str9204 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16924: index out of range: \00" @.str9205 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16931: index out of range: \00" @.str9206 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16931: index out of range: \00" @.str9207 = private unnamed_addr constant [6 x i8] c"entry\00" @.str9208 = private unnamed_addr constant [1 x i8] c"\00" @.str9209 = private unnamed_addr constant [7 x i8] c"width \00" @.str9210 = private unnamed_addr constant [12 x i8] c"deps_widths\00" @.str9211 = private unnamed_addr constant [2 x i8] c" \00" @.str9212 = private unnamed_addr constant [2 x i8] c" \00" @.str9213 = private unnamed_addr constant [2 x i8] c":\00" @.str9214 = private unnamed_addr constant [2 x i8] c" \00" @.str9215 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16949: index out of range: \00" @.str9216 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16949: index out of range: \00" @.str9217 = private unnamed_addr constant [6 x i8] c"state\00" @.str9218 = private unnamed_addr constant [17 x i8] c"deps_alias_reset\00" @.str9219 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16974: index out of range: \00" @.str9220 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16981: index out of range: \00" @.str9221 = private unnamed_addr constant [1 x i8] c"\00" @.str9222 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16997: index out of range: \00" @.str9223 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:16998: index out of range: \00" @.str9224 = private unnamed_addr constant [1 x i8] c"\00" @.str9225 = private unnamed_addr constant [1 x i8] c"\00" @.str9226 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17009: index out of range: \00" @.str9227 = private unnamed_addr constant [7 x i8] c"write \00" @.str9228 = private unnamed_addr constant [17 x i8] c"deps_state_write\00" @.str9229 = private unnamed_addr constant [2 x i8] c" \00" @.str9230 = private unnamed_addr constant [2 x i8] c" \00" @.str9231 = private unnamed_addr constant [2 x i8] c" \00" @.str9232 = private unnamed_addr constant [2 x i8] c":\00" @.str9233 = private unnamed_addr constant [15 x i8] c"deps_alias_let\00" @.str9234 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17038: index out of range: \00" @.str9235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17039: index out of range: \00" @.str9236 = private unnamed_addr constant [1 x i8] c"\00" @.str9237 = private unnamed_addr constant [1 x i8] c"\00" @.str9238 = private unnamed_addr constant [7 x i8] c"alias \00" @.str9239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17058: index out of range: \00" @.str9240 = private unnamed_addr constant [17 x i8] c"deps_alias_write\00" @.str9241 = private unnamed_addr constant [2 x i8] c" \00" @.str9242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17058: index out of range: \00" @.str9243 = private unnamed_addr constant [2 x i8] c" \00" @.str9244 = private unnamed_addr constant [2 x i8] c" \00" @.str9245 = private unnamed_addr constant [2 x i8] c":\00" @.str9246 = private unnamed_addr constant [2 x i8] c" \00" @.str9247 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17083: index out of range: \00" @.str9248 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17091: index out of range: \00" @.str9249 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17091: index out of range: \00" @.str9250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17103: index out of range: \00" @.str9251 = private unnamed_addr constant [18 x i8] c"dr_collect_locals\00" @.str9252 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17114: index out of range: \00" @.str9253 = private unnamed_addr constant [8 x i8] c"dr_walk\00" @.str9254 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str9255 = private unnamed_addr constant [3 x i8] c"__\00" @.str9256 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17132: index out of range: \00" @.str9257 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17142: index out of range: \00" @.str9258 = private unnamed_addr constant [5 x i8] c"@On \00" @.str9259 = private unnamed_addr constant [2 x i8] c"#\00" @.str9260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17170: index out of range: \00" @.str9261 = private unnamed_addr constant [12 x i8] c"dr_holds_fn\00" @.str9262 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17178: index out of range: \00" @.str9263 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17179: index out of range: \00" @.str9264 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17180: index out of range: \00" @.str9265 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17181: index out of range: \00" @.str9266 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17183: index out of range: \00" @.str9267 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17192: index out of range: \00" @.str9268 = private unnamed_addr constant [9 x i8] c"dr_roots\00" @.str9269 = private unnamed_addr constant [12 x i8] c"new [][]int\00" @.str9270 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17213: index out of range: \00" @.str9271 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17222: index out of range: \00" @.str9272 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17223: index out of range: \00" @.str9273 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17233: index out of range: \00" @.str9274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17236: index out of range: \00" @.str9275 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17236: index out of range: \00" @.str9276 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17237: index out of range: \00" @.str9277 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17237: index out of range: \00" @.str9278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17237: index out of range: \00" @.str9279 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17238: index out of range: \00" @.str9280 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17238: index out of range: \00" @.str9281 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17238: index out of range: \00" @.str9282 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17252: index out of range: \00" @.str9283 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17258: index out of range: \00" @.str9284 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17259: index out of range: \00" @.str9285 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17265: index out of range: \00" @.str9286 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17268: index out of range: \00" @.str9287 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17268: index out of range: \00" @.str9288 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17278: index out of range: \00" @.str9289 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17278: index out of range: \00" @.str9290 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17294: index out of range: \00" @.str9291 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17298: index out of range: \00" @.str9292 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17302: index out of range: \00" @.str9293 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17303: index out of range: \00" @.str9294 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17303: index out of range: \00" @.str9295 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17304: index out of range: \00" @.str9296 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17317: index out of range: \00" @.str9297 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17317: index out of range: \00" @.str9298 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17318: index out of range: \00" @.str9299 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17329: index out of range: \00" @.str9300 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17343: index out of range: \00" @.str9301 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17343: index out of range: \00" @.str9302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17344: index out of range: \00" @.str9303 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17345: index out of range: \00" @.str9304 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17356: index out of range: \00" @.str9305 = private unnamed_addr constant [11 x i8] c"deps_reach\00" @.str9306 = private unnamed_addr constant [5 x i8] c"@On \00" @.str9307 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17369: index out of range: \00" @.str9308 = private unnamed_addr constant [2 x i8] c"#\00" @.str9309 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17374: index out of range: \00" @.str9310 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17384: index out of range: \00" @.str9311 = private unnamed_addr constant [14 x i8] c"drain_actions\00" @.str9312 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17396: index out of range: \00" @.str9313 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17396: index out of range: \00" @.str9314 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str9315 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17396: index out of range: \00" @.str9316 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17408: index out of range: \00" @.str9317 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17416: index out of range: \00" @.str9318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17425: index out of range: \00" @.str9319 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17428: index out of range: \00" @.str9320 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17428: index out of range: \00" @.str9321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17428: index out of range: \00" @.str9322 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17429: index out of range: \00" @.str9323 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17429: index out of range: \00" @.str9324 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17429: index out of range: \00" @.str9325 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17438: index out of range: \00" @.str9326 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17440: index out of range: \00" @.str9327 = private unnamed_addr constant [1 x i8] c"\00" @.str9328 = private unnamed_addr constant [2 x i8] c"0\00" @.str9329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17444: index out of range: \00" @.str9330 = private unnamed_addr constant [2 x i8] c"1\00" @.str9331 = private unnamed_addr constant [7 x i8] c"reach \00" @.str9332 = private unnamed_addr constant [2 x i8] c" \00" @.str9333 = private unnamed_addr constant [2 x i8] c" \00" @.str9334 = private unnamed_addr constant [2 x i8] c":\00" @.str9335 = private unnamed_addr constant [2 x i8] c" \00" @.str9336 = private unnamed_addr constant [2 x i8] c" \00" @.str9337 = private unnamed_addr constant [2 x i8] c" \00" @.str9338 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17446: index out of range: \00" @.str9339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17447: index out of range: \00" @.str9340 = private unnamed_addr constant [8 x i8] c"wreach \00" @.str9341 = private unnamed_addr constant [2 x i8] c" \00" @.str9342 = private unnamed_addr constant [2 x i8] c" \00" @.str9343 = private unnamed_addr constant [2 x i8] c":\00" @.str9344 = private unnamed_addr constant [2 x i8] c" \00" @.str9345 = private unnamed_addr constant [2 x i8] c" \00" @.str9346 = private unnamed_addr constant [2 x i8] c" \00" @.str9347 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17448: index out of range: \00" @.str9348 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str9349 = private unnamed_addr constant [17 x i8] c"emit_member_addr\00" @.str9350 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str9351 = private unnamed_addr constant [3 x i8] c" \00" @.str9352 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str9353 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9354 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9355 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9356 = private unnamed_addr constant [6 x i8] c"words\00" @.str9357 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str9358 = private unnamed_addr constant [16 x i8] c"emit_index_addr\00" @.str9359 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9360 = private unnamed_addr constant [4 x i8] c"int\00" @.str9361 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str9362 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str9363 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9364 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9365 = private unnamed_addr constant [7 x i8] c"floats\00" @.str9366 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9367 = private unnamed_addr constant [6 x i8] c"float\00" @.str9368 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9369 = private unnamed_addr constant [7 x i8] c"double\00" @.str9370 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str9371 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9372 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9373 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str9374 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str9375 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9376 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9377 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str9378 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9379 = private unnamed_addr constant [5 x i8] c"byte\00" @.str9380 = private unnamed_addr constant [3 x i8] c" \00" @.str9381 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str9382 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str9383 = private unnamed_addr constant [3 x i8] c" \00" @.str9384 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str9385 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9386 = private unnamed_addr constant [3 x i8] c" \00" @.str9387 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str9388 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str9389 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9390 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str9391 = private unnamed_addr constant [3 x i8] c", \00" @.str9392 = private unnamed_addr constant [5 x i8] c"ixok\00" @.str9393 = private unnamed_addr constant [6 x i8] c"ixbad\00" @.str9394 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9395 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9396 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9397 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9398 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9399 = private unnamed_addr constant [2 x i8] c":\00" @.str9400 = private unnamed_addr constant [23 x i8] c": index out of range: \00" @.str9401 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9402 = private unnamed_addr constant [25 x i8] c", ptr @.fmt_bounds, ptr \00" @.str9403 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9404 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9405 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9406 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9407 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9408 = private unnamed_addr constant [3 x i8] c" \00" @.str9409 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str9410 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9411 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9412 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9413 = private unnamed_addr constant [7 x i8] c"resize\00" @.str9414 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str9415 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str9416 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str9417 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str9418 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str9419 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str9420 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str9421 = private unnamed_addr constant [4 x i8] c"arg\00" @.str9422 = private unnamed_addr constant [5 x i8] c"exit\00" @.str9423 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str9424 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str9425 = private unnamed_addr constant [4 x i8] c"run\00" @.str9426 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str9427 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str9428 = private unnamed_addr constant [3 x i8] c" \00" @.str9429 = private unnamed_addr constant [4 x i8] c" = \00" @.str9430 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9431 = private unnamed_addr constant [28 x i8] c" store i8 0, ptr @lp_want\0A\00" @.str9432 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @lp_site\0A\00" @.str9433 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17574: index out of range: \00" @.str9434 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17577: index out of range: \00" @.str9435 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str9436 = private unnamed_addr constant [8 x i8] c"arg_buf\00" @.str9437 = private unnamed_addr constant [7 x i8] c"resize\00" @.str9438 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9439 = private unnamed_addr constant [15 x i8] c"emit_intrinsic\00" @.str9440 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9441 = private unnamed_addr constant [26 x i8] c"call ptr @lp_realloc(ptr \00" @.str9442 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9443 = private unnamed_addr constant [2 x i8] c")\00" @.str9444 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9445 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str9446 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str9447 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9448 = private unnamed_addr constant [2 x i8] c")\00" @.str9449 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9450 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str9451 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str9452 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17603: index out of range: \00" @.str9453 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9454 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9455 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str9456 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str9457 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str9458 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str9459 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str9460 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str9461 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9462 = private unnamed_addr constant [2 x i8] c")\00" @.str9463 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9464 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9465 = private unnamed_addr constant [4 x i8] c"int\00" @.str9466 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str9467 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str9468 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9469 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str9470 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9471 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9472 = private unnamed_addr constant [2 x i8] c")\00" @.str9473 = private unnamed_addr constant [4 x i8] c"int\00" @.str9474 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str9475 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str9476 = private unnamed_addr constant [2 x i8] c")\00" @.str9477 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9478 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9479 = private unnamed_addr constant [4 x i8] c"int\00" @.str9480 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str9481 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str9482 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9483 = private unnamed_addr constant [2 x i8] c"0\00" @.str9484 = private unnamed_addr constant [5 x i8] c"void\00" @.str9485 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str9486 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str9487 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9488 = private unnamed_addr constant [2 x i8] c"0\00" @.str9489 = private unnamed_addr constant [5 x i8] c"void\00" @.str9490 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str9491 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str9492 = private unnamed_addr constant [4 x i8] c"int\00" @.str9493 = private unnamed_addr constant [4 x i8] c"arg\00" @.str9494 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str9495 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str9496 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9497 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str9498 = private unnamed_addr constant [7 x i8] c"string\00" @.str9499 = private unnamed_addr constant [5 x i8] c"exit\00" @.str9500 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str9501 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9502 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str9503 = private unnamed_addr constant [2 x i8] c"0\00" @.str9504 = private unnamed_addr constant [5 x i8] c"void\00" @.str9505 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str9506 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9507 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str9508 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9509 = private unnamed_addr constant [4 x i8] c"run\00" @.str9510 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str9511 = private unnamed_addr constant [2 x i8] c")\00" @.str9512 = private unnamed_addr constant [4 x i8] c"int\00" @.str9513 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str9514 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str9515 = private unnamed_addr constant [2 x i8] c")\00" @.str9516 = private unnamed_addr constant [7 x i8] c"string\00" @.str9517 = private unnamed_addr constant [2 x i8] c"0\00" @.str9518 = private unnamed_addr constant [5 x i8] c"void\00" @.str9519 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str9520 = private unnamed_addr constant [14 x i8] c"stdstream_rhs\00" @.str9521 = private unnamed_addr constant [2 x i8] c")\00" @.str9522 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str9523 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str9524 = private unnamed_addr constant [5 x i8] c"free\00" @.str9525 = private unnamed_addr constant [5 x i8] c"fill\00" @.str9526 = private unnamed_addr constant [7 x i8] c"offset\00" @.str9527 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str9528 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str9529 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str9530 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str9531 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str9532 = private unnamed_addr constant [13 x i8] c"window_later\00" @.str9533 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str9534 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str9535 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str9536 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str9537 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str9538 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str9539 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str9540 = private unnamed_addr constant [9 x i8] c"win_text\00" @.str9541 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str9542 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str9543 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str9544 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str9545 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str9546 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str9547 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str9548 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str9549 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str9550 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str9551 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str9552 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str9553 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str9554 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str9555 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str9556 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str9557 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str9558 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str9559 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str9560 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str9561 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str9562 = private unnamed_addr constant [5 x i8] c"free\00" @.str9563 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17702: index out of range: \00" @.str9564 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str9565 = private unnamed_addr constant [16 x i8] c"emit_intrinsic2\00" @.str9566 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str9567 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9568 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str9569 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9570 = private unnamed_addr constant [2 x i8] c"0\00" @.str9571 = private unnamed_addr constant [5 x i8] c"void\00" @.str9572 = private unnamed_addr constant [5 x i8] c"fill\00" @.str9573 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17712: index out of range: \00" @.str9574 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9575 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9576 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str9577 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9578 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9579 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9580 = private unnamed_addr constant [2 x i8] c"0\00" @.str9581 = private unnamed_addr constant [5 x i8] c"void\00" @.str9582 = private unnamed_addr constant [7 x i8] c"offset\00" @.str9583 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17718: index out of range: \00" @.str9584 = private unnamed_addr constant [3 x i8] c" \00" @.str9585 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9586 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9587 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9588 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9589 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str9590 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str9591 = private unnamed_addr constant [4 x i8] c"int\00" @.str9592 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str9593 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17724: index out of range: \00" @.str9594 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9595 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str9596 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17725: index out of range: \00" @.str9597 = private unnamed_addr constant [4 x i8] c"int\00" @.str9598 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str9599 = private unnamed_addr constant [2 x i8] c"1\00" @.str9600 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9601 = private unnamed_addr constant [2 x i8] c"0\00" @.str9602 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9603 = private unnamed_addr constant [13 x i8] c"window_later\00" @.str9604 = private unnamed_addr constant [9 x i8] c"gvk_open\00" @.str9605 = private unnamed_addr constant [2 x i8] c"1\00" @.str9606 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9607 = private unnamed_addr constant [2 x i8] c"0\00" @.str9608 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9609 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str9610 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str9611 = private unnamed_addr constant [7 x i8] c"string\00" @.str9612 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str9613 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str9614 = private unnamed_addr constant [4 x i8] c"int\00" @.str9615 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str9616 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str9617 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9618 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str9619 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str9620 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9621 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9622 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9623 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9624 = private unnamed_addr constant [2 x i8] c"0\00" @.str9625 = private unnamed_addr constant [5 x i8] c"void\00" @.str9626 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str9627 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str9628 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9629 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9630 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9631 = private unnamed_addr constant [2 x i8] c"0\00" @.str9632 = private unnamed_addr constant [5 x i8] c"void\00" @.str9633 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str9634 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str9635 = private unnamed_addr constant [2 x i8] c"0\00" @.str9636 = private unnamed_addr constant [5 x i8] c"void\00" @.str9637 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str9638 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str9639 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9640 = private unnamed_addr constant [2 x i8] c"0\00" @.str9641 = private unnamed_addr constant [5 x i8] c"void\00" @.str9642 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str9643 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str9644 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9645 = private unnamed_addr constant [2 x i8] c"0\00" @.str9646 = private unnamed_addr constant [5 x i8] c"void\00" @.str9647 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str9648 = private unnamed_addr constant [28 x i8] c"call i32 @win_key_char(i32 \00" @.str9649 = private unnamed_addr constant [2 x i8] c")\00" @.str9650 = private unnamed_addr constant [4 x i8] c"int\00" @.str9651 = private unnamed_addr constant [9 x i8] c"win_text\00" @.str9652 = private unnamed_addr constant [24 x i8] c"call i32 @win_text(ptr \00" @.str9653 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9654 = private unnamed_addr constant [2 x i8] c")\00" @.str9655 = private unnamed_addr constant [4 x i8] c"int\00" @.str9656 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str9657 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str9658 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9659 = private unnamed_addr constant [2 x i8] c"0\00" @.str9660 = private unnamed_addr constant [5 x i8] c"void\00" @.str9661 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str9662 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str9663 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9664 = private unnamed_addr constant [2 x i8] c"0\00" @.str9665 = private unnamed_addr constant [5 x i8] c"void\00" @.str9666 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str9667 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str9668 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9669 = private unnamed_addr constant [2 x i8] c"0\00" @.str9670 = private unnamed_addr constant [5 x i8] c"void\00" @.str9671 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str9672 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str9673 = private unnamed_addr constant [2 x i8] c")\00" @.str9674 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9675 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str9676 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str9677 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9678 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9679 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9680 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9681 = private unnamed_addr constant [2 x i8] c"0\00" @.str9682 = private unnamed_addr constant [5 x i8] c"void\00" @.str9683 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str9684 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str9685 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9686 = private unnamed_addr constant [2 x i8] c"0\00" @.str9687 = private unnamed_addr constant [5 x i8] c"void\00" @.str9688 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str9689 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str9690 = private unnamed_addr constant [2 x i8] c")\00" @.str9691 = private unnamed_addr constant [4 x i8] c"int\00" @.str9692 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str9693 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str9694 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9695 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9696 = private unnamed_addr constant [2 x i8] c"0\00" @.str9697 = private unnamed_addr constant [5 x i8] c"void\00" @.str9698 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str9699 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str9700 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9701 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9702 = private unnamed_addr constant [2 x i8] c"0\00" @.str9703 = private unnamed_addr constant [5 x i8] c"void\00" @.str9704 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str9705 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" @.str9706 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9707 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9708 = private unnamed_addr constant [2 x i8] c"0\00" @.str9709 = private unnamed_addr constant [5 x i8] c"void\00" @.str9710 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str9711 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str9712 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9713 = private unnamed_addr constant [2 x i8] c")\00" @.str9714 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9715 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str9716 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str9717 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9718 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9719 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9720 = private unnamed_addr constant [2 x i8] c"0\00" @.str9721 = private unnamed_addr constant [5 x i8] c"void\00" @.str9722 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str9723 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str9724 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9725 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9726 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9727 = private unnamed_addr constant [2 x i8] c"0\00" @.str9728 = private unnamed_addr constant [5 x i8] c"void\00" @.str9729 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str9730 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str9731 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9732 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9733 = private unnamed_addr constant [2 x i8] c"0\00" @.str9734 = private unnamed_addr constant [5 x i8] c"void\00" @.str9735 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str9736 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str9737 = private unnamed_addr constant [2 x i8] c")\00" @.str9738 = private unnamed_addr constant [4 x i8] c"int\00" @.str9739 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str9740 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str9741 = private unnamed_addr constant [2 x i8] c")\00" @.str9742 = private unnamed_addr constant [4 x i8] c"int\00" @.str9743 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str9744 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str9745 = private unnamed_addr constant [2 x i8] c")\00" @.str9746 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9747 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str9748 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str9749 = private unnamed_addr constant [2 x i8] c")\00" @.str9750 = private unnamed_addr constant [4 x i8] c"int\00" @.str9751 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str9752 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \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 [8 x i8] c"pointer\00" @.str9756 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str9757 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str9758 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9759 = private unnamed_addr constant [2 x i8] c"0\00" @.str9760 = private unnamed_addr constant [5 x i8] c"void\00" @.str9761 = private unnamed_addr constant [2 x i8] c"0\00" @.str9762 = private unnamed_addr constant [5 x i8] c"void\00" @.str9763 = private unnamed_addr constant [6 x i8] c"float\00" @.str9764 = private unnamed_addr constant [7 x i8] c"double\00" @.str9765 = private unnamed_addr constant [1 x i8] c"\00" @.str9766 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:17811: index out of range: \00" @.str9767 = private unnamed_addr constant [1 x i8] c"\00" @.str9768 = private unnamed_addr constant [16 x i8] c"@deterministic \00" @.str9769 = private unnamed_addr constant [9 x i8] c"fp_guard\00" @.str9770 = private unnamed_addr constant [22 x i8] c" cannot compute with \00" @.str9771 = private unnamed_addr constant [56 x i8] c": floating point differs between machines \E2\80\94 use fixed\00" @.str9772 = private unnamed_addr constant [7 x i8] c"double\00" @.str9773 = private unnamed_addr constant [7 x i8] c"double\00" @.str9774 = private unnamed_addr constant [7 x i8] c"double\00" @.str9775 = private unnamed_addr constant [6 x i8] c"float\00" @.str9776 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str9777 = private unnamed_addr constant [9 x i8] c"fp_const\00" @.str9778 = private unnamed_addr constant [2 x i8] c" \00" @.str9779 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str9780 = private unnamed_addr constant [2 x i8] c"-\00" @.str9781 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str9782 = private unnamed_addr constant [2 x i8] c"*\00" @.str9783 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str9784 = private unnamed_addr constant [2 x i8] c"/\00" @.str9785 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str9786 = private unnamed_addr constant [2 x i8] c"%\00" @.str9787 = private unnamed_addr constant [5 x i8] c"frem\00" @.str9788 = private unnamed_addr constant [2 x i8] c" \00" @.str9789 = private unnamed_addr constant [2 x i8] c" \00" @.str9790 = private unnamed_addr constant [3 x i8] c", \00" @.str9791 = private unnamed_addr constant [35 x i8] c"internal: not a literal expression\00" @.str9792 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str9793 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9794 = private unnamed_addr constant [5 x i8] c"null\00" @.str9795 = private unnamed_addr constant [6 x i8] c"float\00" @.str9796 = private unnamed_addr constant [7 x i8] c"double\00" @.str9797 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str9798 = private unnamed_addr constant [2 x i8] c"0\00" @.str9799 = private unnamed_addr constant [3 x i8] c".0\00" @.str9800 = private unnamed_addr constant [12 x i8] c"fp_lit_code\00" @.str9801 = private unnamed_addr constant [7 x i8] c"double\00" @.str9802 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str9803 = private unnamed_addr constant [10 x i8] c" to float\00" @.str9804 = private unnamed_addr constant [6 x i8] c"float\00" @.str9805 = private unnamed_addr constant [7 x i8] c"double\00" @.str9806 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str9807 = private unnamed_addr constant [6 x i8] c"to_fp\00" @.str9808 = private unnamed_addr constant [11 x i8] c" to double\00" @.str9809 = private unnamed_addr constant [7 x i8] c"double\00" @.str9810 = private unnamed_addr constant [6 x i8] c"float\00" @.str9811 = private unnamed_addr constant [66 x i8] c": a double does not narrow to float implicitly \E2\80\94 write float(x)\00" @.str9812 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9813 = private unnamed_addr constant [13 x i8] c": fixed and \00" @.str9814 = private unnamed_addr constant [41 x i8] c" do not mix implicitly \E2\80\94 convert with \00" @.str9815 = private unnamed_addr constant [16 x i8] c"(x) or fixed(x)\00" @.str9816 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9817 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9818 = private unnamed_addr constant [6 x i8] c": an \00" @.str9819 = private unnamed_addr constant [20 x i8] c" does not become a \00" @.str9820 = private unnamed_addr constant [47 x i8] c" implicitly in a numbers float file \E2\80\94 write \00" @.str9821 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str9822 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9823 = private unnamed_addr constant [12 x i8] c"sitofp i64 \00" @.str9824 = private unnamed_addr constant [5 x i8] c" to \00" @.str9825 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9826 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str9827 = private unnamed_addr constant [5 x i8] c" to \00" @.str9828 = private unnamed_addr constant [5 x i8] c": a \00" @.str9829 = private unnamed_addr constant [17 x i8] c" is not a number\00" @.str9830 = private unnamed_addr constant [25 x i8] c"LUDIC_WARN_FLOAT_PROMOTE\00" @.str9831 = private unnamed_addr constant [1 x i8] c"\00" @.str9832 = private unnamed_addr constant [8 x i8] c"warning\00" @.str9833 = private unnamed_addr constant [12 x i8] c"a computed \00" @.str9834 = private unnamed_addr constant [16 x i8] c"fp_promote_note\00" @.str9835 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str9836 = private unnamed_addr constant [2 x i8] c":\00" @.str9837 = private unnamed_addr constant [23 x i8] c": warning: a computed \00" @.str9838 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str9839 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9840 = private unnamed_addr constant [2 x i8] c"<\00" @.str9841 = private unnamed_addr constant [4 x i8] c"olt\00" @.str9842 = private unnamed_addr constant [3 x i8] c"<=\00" @.str9843 = private unnamed_addr constant [4 x i8] c"ole\00" @.str9844 = private unnamed_addr constant [2 x i8] c">\00" @.str9845 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str9846 = private unnamed_addr constant [3 x i8] c">=\00" @.str9847 = private unnamed_addr constant [4 x i8] c"oge\00" @.str9848 = private unnamed_addr constant [3 x i8] c"==\00" @.str9849 = private unnamed_addr constant [4 x i8] c"oeq\00" @.str9850 = private unnamed_addr constant [4 x i8] c"une\00" @.str9851 = private unnamed_addr constant [1 x i8] c"\00" @.str9852 = private unnamed_addr constant [1 x i8] c"\00" @.str9853 = private unnamed_addr constant [1 x i8] c"\00" @.str9854 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9855 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9856 = private unnamed_addr constant [1 x i8] c"\00" @.str9857 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9858 = private unnamed_addr constant [1 x i8] c"\00" @.str9859 = private unnamed_addr constant [6 x i8] c"float\00" @.str9860 = private unnamed_addr constant [18 x i8] c"the left side of \00" @.str9861 = private unnamed_addr constant [12 x i8] c"emit_fp_bin\00" @.str9862 = private unnamed_addr constant [19 x i8] c"the right side of \00" @.str9863 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str9864 = private unnamed_addr constant [2 x i8] c" \00" @.str9865 = private unnamed_addr constant [2 x i8] c" \00" @.str9866 = private unnamed_addr constant [3 x i8] c", \00" @.str9867 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9868 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9869 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9870 = private unnamed_addr constant [1 x i8] c"\00" @.str9871 = private unnamed_addr constant [2 x i8] c"+\00" @.str9872 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str9873 = private unnamed_addr constant [2 x i8] c"-\00" @.str9874 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str9875 = private unnamed_addr constant [2 x i8] c"*\00" @.str9876 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str9877 = private unnamed_addr constant [2 x i8] c"/\00" @.str9878 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str9879 = private unnamed_addr constant [2 x i8] c"%\00" @.str9880 = private unnamed_addr constant [5 x i8] c"frem\00" @.str9881 = private unnamed_addr constant [1 x i8] c"\00" @.str9882 = private unnamed_addr constant [10 x i8] c"operator \00" @.str9883 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str9884 = private unnamed_addr constant [2 x i8] c" \00" @.str9885 = private unnamed_addr constant [2 x i8] c" \00" @.str9886 = private unnamed_addr constant [3 x i8] c", \00" @.str9887 = private unnamed_addr constant [7 x i8] c"double\00" @.str9888 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str9889 = private unnamed_addr constant [16 x i8] c"emit_fp_convert\00" @.str9890 = private unnamed_addr constant [11 x i8] c" to double\00" @.str9891 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str9892 = private unnamed_addr constant [10 x i8] c" to float\00" @.str9893 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9894 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str9895 = private unnamed_addr constant [5 x i8] c" to \00" @.str9896 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str9897 = private unnamed_addr constant [2 x i8] c" \00" @.str9898 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str9899 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9900 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9901 = private unnamed_addr constant [8 x i8] c"sitofp \00" @.str9902 = private unnamed_addr constant [2 x i8] c" \00" @.str9903 = private unnamed_addr constant [5 x i8] c" to \00" @.str9904 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str9905 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str9906 = private unnamed_addr constant [15 x i8] c"emit_fp_to_int\00" @.str9907 = private unnamed_addr constant [2 x i8] c" \00" @.str9908 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9909 = private unnamed_addr constant [4 x i8] c"int\00" @.str9910 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str9911 = private unnamed_addr constant [16 x i8] c"emit_fp_to_long\00" @.str9912 = private unnamed_addr constant [2 x i8] c" \00" @.str9913 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9914 = private unnamed_addr constant [5 x i8] c"long\00" @.str9915 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str9916 = private unnamed_addr constant [17 x i8] c"emit_fp_to_fixed\00" @.str9917 = private unnamed_addr constant [2 x i8] c" \00" @.str9918 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str9919 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str9920 = private unnamed_addr constant [2 x i8] c" \00" @.str9921 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9922 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9923 = private unnamed_addr constant [6 x i8] c"float\00" @.str9924 = private unnamed_addr constant [14 x i8] c"float_bits(x)\00" @.str9925 = private unnamed_addr constant [15 x i8] c"bitcast float \00" @.str9926 = private unnamed_addr constant [16 x i8] c"emit_float_bits\00" @.str9927 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9928 = private unnamed_addr constant [4 x i8] c"int\00" @.str9929 = private unnamed_addr constant [13 x i8] c"bitcast i32 \00" @.str9930 = private unnamed_addr constant [21 x i8] c"emit_float_from_bits\00" @.str9931 = private unnamed_addr constant [10 x i8] c" to float\00" @.str9932 = private unnamed_addr constant [6 x i8] c"float\00" @.str9933 = private unnamed_addr constant [7 x i8] c"double\00" @.str9934 = private unnamed_addr constant [15 x i8] c"double_bits(x)\00" @.str9935 = private unnamed_addr constant [16 x i8] c"bitcast double \00" @.str9936 = private unnamed_addr constant [17 x i8] c"emit_double_bits\00" @.str9937 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9938 = private unnamed_addr constant [5 x i8] c"long\00" @.str9939 = private unnamed_addr constant [13 x i8] c"bitcast i64 \00" @.str9940 = private unnamed_addr constant [22 x i8] c"emit_double_from_bits\00" @.str9941 = private unnamed_addr constant [11 x i8] c" to double\00" @.str9942 = private unnamed_addr constant [7 x i8] c"double\00" @.str9943 = private unnamed_addr constant [2 x i8] c"0\00" @.str9944 = private unnamed_addr constant [6 x i8] c"float\00" @.str9945 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str9946 = private unnamed_addr constant [12 x i8] c"emit_fp_str\00" @.str9947 = private unnamed_addr constant [11 x i8] c" to double\00" @.str9948 = private unnamed_addr constant [2 x i8] c"1\00" @.str9949 = private unnamed_addr constant [28 x i8] c"call ptr @lp_fp_str(double \00" @.str9950 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9951 = private unnamed_addr constant [2 x i8] c")\00" @.str9952 = private unnamed_addr constant [7 x i8] c"string\00" @.str9953 = private unnamed_addr constant [43 x i8] c"declare i32 @snprintf(ptr, i64, ptr, ...)\0A\00" @.str9954 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str9955 = private unnamed_addr constant [32 x i8] c"declare ptr @strpbrk(ptr, ptr)\0A\00" @.str9956 = private unnamed_addr constant [63 x i8] c"@.fmt_fpg = private unnamed_addr constant [5 x i8] c\22%.*g\5C00\22\0A\00" @.str9957 = private unnamed_addr constant [67 x i8] c"@.fp_marks = private unnamed_addr constant [8 x i8] c\22.eEnNiI\5C00\22\0A\00" @.str9958 = private unnamed_addr constant [49 x i8] c"define ptr @lp_fp_str(double %v, i32 %single) {\0A\00" @.str9959 = private unnamed_addr constant [61 x i8] c"entry:\0A %buf = call ptr @lp_malloc(i64 40)\0A br label %try\0A\00" @.str9960 = private unnamed_addr constant [52 x i8] c"try:\0A %p = phi i32 [ 6, %entry ], [ %p1, %again ]\0A\00" @.str9961 = 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" @.str9962 = private unnamed_addr constant [48 x i8] c" %r = call double @strtod(ptr %buf, ptr null)\0A\00" @.str9963 = private unnamed_addr constant [71 x i8] c" %rf = fptrunc double %r to float\0A %vf = fptrunc double %v to float\0A\00" @.str9964 = private unnamed_addr constant [66 x i8] c" %eqf = fcmp oeq float %rf, %vf\0A %eqd = fcmp oeq double %r, %v\0A\00" @.str9965 = 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" @.str9966 = 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" @.str9967 = private unnamed_addr constant [42 x i8] c" br i1 %stop, label %done, label %again\0A\00" @.str9968 = private unnamed_addr constant [24 x i8] c"again:\0A br label %try\0A\00" @.str9969 = 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" @.str9970 = private unnamed_addr constant [40 x i8] c" br i1 %whole, label %dot, label %out\0A\00" @.str9971 = 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" @.str9972 = 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" @.str9973 = 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" @.str9974 = private unnamed_addr constant [39 x i8] c" store i8 0, ptr %e2\0A br label %out\0A\00" @.str9975 = private unnamed_addr constant [23 x i8] c"out:\0A ret ptr %buf\0A}\0A\00" @.str9976 = private unnamed_addr constant [2 x i8] c"4\00" @.str9977 = private unnamed_addr constant [7 x i8] c"floats\00" @.str9978 = private unnamed_addr constant [7 x i8] c"double\00" @.str9979 = private unnamed_addr constant [2 x i8] c"8\00" @.str9980 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9981 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9982 = private unnamed_addr constant [15 x i8] c"emit_fp_buffer\00" @.str9983 = private unnamed_addr constant [3 x i8] c", \00" @.str9984 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9985 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9986 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str9987 = private unnamed_addr constant [2 x i8] c")\00" @.str9988 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18088: index out of range: \00" @.str9989 = private unnamed_addr constant [11 x i8] c"fp_declare\00" @.str9990 = private unnamed_addr constant [6 x i8] c"float\00" @.str9991 = private unnamed_addr constant [2 x i8] c"f\00" @.str9992 = private unnamed_addr constant [9 x i8] c"fp_call1\00" @.str9993 = private unnamed_addr constant [9 x i8] c"declare \00" @.str9994 = private unnamed_addr constant [3 x i8] c" @\00" @.str9995 = private unnamed_addr constant [2 x i8] c"(\00" @.str9996 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9997 = private unnamed_addr constant [6 x i8] c"call \00" @.str9998 = private unnamed_addr constant [3 x i8] c" @\00" @.str9999 = private unnamed_addr constant [2 x i8] c"(\00" @.str10000 = private unnamed_addr constant [2 x i8] c" \00" @.str10001 = private unnamed_addr constant [2 x i8] c")\00" @.str10002 = private unnamed_addr constant [6 x i8] c"float\00" @.str10003 = private unnamed_addr constant [2 x i8] c"f\00" @.str10004 = private unnamed_addr constant [9 x i8] c"fp_call2\00" @.str10005 = private unnamed_addr constant [9 x i8] c"declare \00" @.str10006 = private unnamed_addr constant [3 x i8] c" @\00" @.str10007 = private unnamed_addr constant [2 x i8] c"(\00" @.str10008 = private unnamed_addr constant [3 x i8] c", \00" @.str10009 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10010 = private unnamed_addr constant [6 x i8] c"call \00" @.str10011 = private unnamed_addr constant [3 x i8] c" @\00" @.str10012 = private unnamed_addr constant [2 x i8] c"(\00" @.str10013 = private unnamed_addr constant [2 x i8] c" \00" @.str10014 = private unnamed_addr constant [3 x i8] c", \00" @.str10015 = private unnamed_addr constant [2 x i8] c" \00" @.str10016 = private unnamed_addr constant [2 x i8] c")\00" @.str10017 = private unnamed_addr constant [4 x i8] c"f64\00" @.str10018 = private unnamed_addr constant [6 x i8] c"float\00" @.str10019 = private unnamed_addr constant [4 x i8] c"f32\00" @.str10020 = private unnamed_addr constant [9 x i8] c"declare \00" @.str10021 = private unnamed_addr constant [14 x i8] c"fp_intrinsic1\00" @.str10022 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str10023 = private unnamed_addr constant [2 x i8] c".\00" @.str10024 = private unnamed_addr constant [2 x i8] c"(\00" @.str10025 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10026 = private unnamed_addr constant [6 x i8] c"call \00" @.str10027 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str10028 = private unnamed_addr constant [2 x i8] c".\00" @.str10029 = private unnamed_addr constant [2 x i8] c"(\00" @.str10030 = private unnamed_addr constant [2 x i8] c" \00" @.str10031 = private unnamed_addr constant [2 x i8] c")\00" @.str10032 = private unnamed_addr constant [4 x i8] c"f64\00" @.str10033 = private unnamed_addr constant [6 x i8] c"float\00" @.str10034 = private unnamed_addr constant [4 x i8] c"f32\00" @.str10035 = private unnamed_addr constant [9 x i8] c"declare \00" @.str10036 = private unnamed_addr constant [14 x i8] c"fp_intrinsic2\00" @.str10037 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str10038 = private unnamed_addr constant [2 x i8] c".\00" @.str10039 = private unnamed_addr constant [2 x i8] c"(\00" @.str10040 = private unnamed_addr constant [3 x i8] c", \00" @.str10041 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10042 = private unnamed_addr constant [6 x i8] c"call \00" @.str10043 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str10044 = private unnamed_addr constant [2 x i8] c".\00" @.str10045 = private unnamed_addr constant [2 x i8] c"(\00" @.str10046 = private unnamed_addr constant [2 x i8] c" \00" @.str10047 = private unnamed_addr constant [3 x i8] c", \00" @.str10048 = private unnamed_addr constant [2 x i8] c" \00" @.str10049 = private unnamed_addr constant [2 x i8] c")\00" @.str10050 = private unnamed_addr constant [4 x i8] c"olt\00" @.str10051 = private unnamed_addr constant [4 x i8] c"max\00" @.str10052 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str10053 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str10054 = private unnamed_addr constant [8 x i8] c"fp_pick\00" @.str10055 = private unnamed_addr constant [2 x i8] c" \00" @.str10056 = private unnamed_addr constant [2 x i8] c" \00" @.str10057 = private unnamed_addr constant [3 x i8] c", \00" @.str10058 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10059 = private unnamed_addr constant [3 x i8] c", \00" @.str10060 = private unnamed_addr constant [2 x i8] c" \00" @.str10061 = private unnamed_addr constant [3 x i8] c", \00" @.str10062 = private unnamed_addr constant [2 x i8] c" \00" @.str10063 = private unnamed_addr constant [1 x i8] c"\00" @.str10064 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18134: index out of range: \00" @.str10065 = private unnamed_addr constant [1 x i8] c"\00" @.str10066 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18144: index out of range: \00" @.str10067 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str10068 = private unnamed_addr constant [7 x i8] c"fp_arg\00" @.str10069 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str10070 = private unnamed_addr constant [13 x i8] c"emit_fp_math\00" @.str10071 = private unnamed_addr constant [4 x i8] c"abs\00" @.str10072 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str10073 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str10074 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str10075 = private unnamed_addr constant [4 x i8] c"sin\00" @.str10076 = private unnamed_addr constant [4 x i8] c"sin\00" @.str10077 = private unnamed_addr constant [4 x i8] c"cos\00" @.str10078 = private unnamed_addr constant [4 x i8] c"cos\00" @.str10079 = private unnamed_addr constant [4 x i8] c"exp\00" @.str10080 = private unnamed_addr constant [4 x i8] c"exp\00" @.str10081 = private unnamed_addr constant [4 x i8] c"log\00" @.str10082 = private unnamed_addr constant [4 x i8] c"log\00" @.str10083 = private unnamed_addr constant [4 x i8] c"tan\00" @.str10084 = private unnamed_addr constant [4 x i8] c"tan\00" @.str10085 = private unnamed_addr constant [5 x i8] c"asin\00" @.str10086 = private unnamed_addr constant [5 x i8] c"asin\00" @.str10087 = private unnamed_addr constant [5 x i8] c"acos\00" @.str10088 = private unnamed_addr constant [5 x i8] c"acos\00" @.str10089 = private unnamed_addr constant [5 x i8] c"atan\00" @.str10090 = private unnamed_addr constant [5 x i8] c"atan\00" @.str10091 = private unnamed_addr constant [6 x i8] c"floor\00" @.str10092 = private unnamed_addr constant [6 x i8] c"floor\00" @.str10093 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str10094 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str10095 = private unnamed_addr constant [6 x i8] c"round\00" @.str10096 = private unnamed_addr constant [6 x i8] c"round\00" @.str10097 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str10098 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str10099 = private unnamed_addr constant [5 x i8] c"sign\00" @.str10100 = private unnamed_addr constant [10 x i8] c"fcmp ogt \00" @.str10101 = private unnamed_addr constant [2 x i8] c" \00" @.str10102 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str10103 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str10104 = private unnamed_addr constant [2 x i8] c" \00" @.str10105 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str10106 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10107 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str10108 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10109 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str10110 = private unnamed_addr constant [4 x i8] c"int\00" @.str10111 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str10112 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str10113 = private unnamed_addr constant [2 x i8] c" \00" @.str10114 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str10115 = private unnamed_addr constant [8 x i8] c", 180.0\00" @.str10116 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10117 = private unnamed_addr constant [2 x i8] c" \00" @.str10118 = private unnamed_addr constant [3 x i8] c", \00" @.str10119 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str10120 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str10121 = private unnamed_addr constant [9 x i8] c" 180.0, \00" @.str10122 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str10123 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10124 = private unnamed_addr constant [2 x i8] c" \00" @.str10125 = private unnamed_addr constant [3 x i8] c", \00" @.str10126 = private unnamed_addr constant [4 x i8] c"min\00" @.str10127 = private unnamed_addr constant [4 x i8] c"max\00" @.str10128 = private unnamed_addr constant [4 x i8] c"pow\00" @.str10129 = private unnamed_addr constant [4 x i8] c"pow\00" @.str10130 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str10131 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str10132 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str10133 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str10134 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str10135 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str10136 = private unnamed_addr constant [6 x i8] c"frem \00" @.str10137 = private unnamed_addr constant [2 x i8] c" \00" @.str10138 = private unnamed_addr constant [3 x i8] c", \00" @.str10139 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str10140 = private unnamed_addr constant [2 x i8] c" \00" @.str10141 = private unnamed_addr constant [3 x i8] c", \00" @.str10142 = private unnamed_addr constant [6 x i8] c"frem \00" @.str10143 = private unnamed_addr constant [2 x i8] c" \00" @.str10144 = private unnamed_addr constant [3 x i8] c", \00" @.str10145 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str10146 = private unnamed_addr constant [4 x i8] c"max\00" @.str10147 = private unnamed_addr constant [4 x i8] c"min\00" @.str10148 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str10149 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10150 = private unnamed_addr constant [2 x i8] c" \00" @.str10151 = private unnamed_addr constant [3 x i8] c", \00" @.str10152 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10153 = private unnamed_addr constant [2 x i8] c" \00" @.str10154 = private unnamed_addr constant [3 x i8] c", \00" @.str10155 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str10156 = private unnamed_addr constant [2 x i8] c" \00" @.str10157 = private unnamed_addr constant [3 x i8] c", \00" @.str10158 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str10159 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10160 = private unnamed_addr constant [2 x i8] c" \00" @.str10161 = private unnamed_addr constant [3 x i8] c", \00" @.str10162 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10163 = private unnamed_addr constant [2 x i8] c" \00" @.str10164 = private unnamed_addr constant [3 x i8] c", \00" @.str10165 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str10166 = private unnamed_addr constant [2 x i8] c" \00" @.str10167 = private unnamed_addr constant [3 x i8] c", \00" @.str10168 = private unnamed_addr constant [6 x i8] c"remap\00" @.str10169 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10170 = private unnamed_addr constant [2 x i8] c" \00" @.str10171 = private unnamed_addr constant [3 x i8] c", \00" @.str10172 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10173 = private unnamed_addr constant [2 x i8] c" \00" @.str10174 = private unnamed_addr constant [3 x i8] c", \00" @.str10175 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str10176 = private unnamed_addr constant [2 x i8] c" \00" @.str10177 = private unnamed_addr constant [3 x i8] c", \00" @.str10178 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10179 = private unnamed_addr constant [2 x i8] c" \00" @.str10180 = private unnamed_addr constant [3 x i8] c", \00" @.str10181 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10182 = private unnamed_addr constant [2 x i8] c" \00" @.str10183 = private unnamed_addr constant [3 x i8] c", \00" @.str10184 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str10185 = private unnamed_addr constant [2 x i8] c" \00" @.str10186 = private unnamed_addr constant [3 x i8] c", \00" @.str10187 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str10188 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10189 = private unnamed_addr constant [2 x i8] c" \00" @.str10190 = private unnamed_addr constant [3 x i8] c", \00" @.str10191 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10192 = private unnamed_addr constant [2 x i8] c" \00" @.str10193 = private unnamed_addr constant [3 x i8] c", \00" @.str10194 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str10195 = private unnamed_addr constant [2 x i8] c" \00" @.str10196 = private unnamed_addr constant [3 x i8] c", \00" @.str10197 = private unnamed_addr constant [4 x i8] c"max\00" @.str10198 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str10199 = private unnamed_addr constant [4 x i8] c"min\00" @.str10200 = private unnamed_addr constant [4 x i8] c"1.0\00" @.str10201 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10202 = private unnamed_addr constant [2 x i8] c" \00" @.str10203 = private unnamed_addr constant [3 x i8] c", \00" @.str10204 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10205 = private unnamed_addr constant [2 x i8] c" \00" @.str10206 = private unnamed_addr constant [6 x i8] c", 2.0\00" @.str10207 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10208 = private unnamed_addr constant [7 x i8] c" 3.0, \00" @.str10209 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10210 = private unnamed_addr constant [2 x i8] c" \00" @.str10211 = private unnamed_addr constant [3 x i8] c", \00" @.str10212 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str10213 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10214 = private unnamed_addr constant [2 x i8] c" \00" @.str10215 = private unnamed_addr constant [3 x i8] c", \00" @.str10216 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str10217 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str10218 = private unnamed_addr constant [2 x i8] c" \00" @.str10219 = private unnamed_addr constant [3 x i8] c", \00" @.str10220 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str10221 = private unnamed_addr constant [2 x i8] c" \00" @.str10222 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str10223 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str10224 = private unnamed_addr constant [2 x i8] c" \00" @.str10225 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10226 = private unnamed_addr constant [3 x i8] c", \00" @.str10227 = private unnamed_addr constant [2 x i8] c" \00" @.str10228 = private unnamed_addr constant [3 x i8] c", \00" @.str10229 = private unnamed_addr constant [2 x i8] c" \00" @.str10230 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str10231 = private unnamed_addr constant [2 x i8] c" \00" @.str10232 = private unnamed_addr constant [3 x i8] c", \00" @.str10233 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10234 = private unnamed_addr constant [3 x i8] c", \00" @.str10235 = private unnamed_addr constant [2 x i8] c" \00" @.str10236 = private unnamed_addr constant [3 x i8] c", \00" @.str10237 = private unnamed_addr constant [2 x i8] c" \00" @.str10238 = private unnamed_addr constant [5 x i8] c"dist\00" @.str10239 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str10240 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10241 = private unnamed_addr constant [2 x i8] c" \00" @.str10242 = private unnamed_addr constant [3 x i8] c", \00" @.str10243 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str10244 = private unnamed_addr constant [2 x i8] c" \00" @.str10245 = private unnamed_addr constant [3 x i8] c", \00" @.str10246 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10247 = private unnamed_addr constant [2 x i8] c" \00" @.str10248 = private unnamed_addr constant [3 x i8] c", \00" @.str10249 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str10250 = private unnamed_addr constant [2 x i8] c" \00" @.str10251 = private unnamed_addr constant [3 x i8] c", \00" @.str10252 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str10253 = private unnamed_addr constant [2 x i8] c" \00" @.str10254 = private unnamed_addr constant [3 x i8] c", \00" @.str10255 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str10256 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str10257 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str10258 = private unnamed_addr constant [9 x i8] c" has no \00" @.str10259 = private unnamed_addr constant [6 x i8] c" form\00" @.str10260 = private unnamed_addr constant [12 x i8] c"preval_node\00" @.str10261 = private unnamed_addr constant [4 x i8] c"min\00" @.str10262 = private unnamed_addr constant [4 x i8] c"max\00" @.str10263 = private unnamed_addr constant [4 x i8] c"abs\00" @.str10264 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str10265 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18292: index out of range: \00" @.str10266 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18296: index out of range: \00" @.str10267 = private unnamed_addr constant [4 x i8] c"abs\00" @.str10268 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18302: index out of range: \00" @.str10269 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10270 = private unnamed_addr constant [24 x i8] c"emit_math_builtin_fixed\00" @.str10271 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10272 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str10273 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10274 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10275 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10276 = private unnamed_addr constant [4 x i8] c"min\00" @.str10277 = private unnamed_addr constant [4 x i8] c"max\00" @.str10278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18308: index out of range: \00" @.str10279 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18308: index out of range: \00" @.str10280 = private unnamed_addr constant [4 x i8] c"slt\00" @.str10281 = private unnamed_addr constant [4 x i8] c"max\00" @.str10282 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str10283 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str10284 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str10285 = private unnamed_addr constant [3 x i8] c", \00" @.str10286 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10287 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10288 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10289 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18315: index out of range: \00" @.str10290 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18315: index out of range: \00" @.str10291 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18315: index out of range: \00" @.str10292 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10293 = private unnamed_addr constant [3 x i8] c", \00" @.str10294 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10295 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10296 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10297 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str10298 = private unnamed_addr constant [3 x i8] c", \00" @.str10299 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10300 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10301 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10302 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10303 = private unnamed_addr constant [12 x i8] c"fx_mul_code\00" @.str10304 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10305 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10306 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10307 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str10308 = private unnamed_addr constant [3 x i8] c", \00" @.str10309 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str10310 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10311 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str10312 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10313 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10314 = private unnamed_addr constant [12 x i8] c"fx_div_code\00" @.str10315 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10316 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str10317 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10318 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10319 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10320 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str10321 = private unnamed_addr constant [3 x i8] c", \00" @.str10322 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str10323 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10324 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10325 = private unnamed_addr constant [13 x i8] c"fx_lerp_code\00" @.str10326 = private unnamed_addr constant [3 x i8] c", \00" @.str10327 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10328 = private unnamed_addr constant [3 x i8] c", \00" @.str10329 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10330 = private unnamed_addr constant [17 x i8] c"fx_inv_lerp_code\00" @.str10331 = private unnamed_addr constant [3 x i8] c", \00" @.str10332 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10333 = private unnamed_addr constant [3 x i8] c", \00" @.str10334 = private unnamed_addr constant [4 x i8] c"min\00" @.str10335 = private unnamed_addr constant [4 x i8] c"max\00" @.str10336 = private unnamed_addr constant [4 x i8] c"abs\00" @.str10337 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str10338 = private unnamed_addr constant [5 x i8] c"sign\00" @.str10339 = private unnamed_addr constant [6 x i8] c"floor\00" @.str10340 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str10341 = private unnamed_addr constant [6 x i8] c"round\00" @.str10342 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str10343 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str10344 = private unnamed_addr constant [6 x i8] c"remap\00" @.str10345 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str10346 = private unnamed_addr constant [4 x i8] c"sin\00" @.str10347 = private unnamed_addr constant [4 x i8] c"cos\00" @.str10348 = private unnamed_addr constant [4 x i8] c"tan\00" @.str10349 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str10350 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str10351 = private unnamed_addr constant [5 x i8] c"asin\00" @.str10352 = private unnamed_addr constant [5 x i8] c"acos\00" @.str10353 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str10354 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str10355 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str10356 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str10357 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str10358 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str10359 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str10360 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str10361 = private unnamed_addr constant [5 x i8] c"dist\00" @.str10362 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str10363 = private unnamed_addr constant [4 x i8] c"exp\00" @.str10364 = private unnamed_addr constant [4 x i8] c"log\00" @.str10365 = private unnamed_addr constant [4 x i8] c"pow\00" @.str10366 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18374: index out of range: \00" @.str10367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18375: index out of range: \00" @.str10368 = private unnamed_addr constant [1 x i8] c"\00" @.str10369 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18378: index out of range: \00" @.str10370 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18384: index out of range: \00" @.str10371 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18388: index out of range: \00" @.str10372 = private unnamed_addr constant [4 x i8] c"min\00" @.str10373 = private unnamed_addr constant [4 x i8] c"max\00" @.str10374 = private unnamed_addr constant [4 x i8] c"abs\00" @.str10375 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str10376 = private unnamed_addr constant [5 x i8] c"sign\00" @.str10377 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18397: index out of range: \00" @.str10378 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str10379 = private unnamed_addr constant [19 x i8] c"emit_math_ns_fixed\00" @.str10380 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10381 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10382 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10383 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10384 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str10385 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10386 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str10387 = private unnamed_addr constant [4 x i8] c"int\00" @.str10388 = private unnamed_addr constant [6 x i8] c"floor\00" @.str10389 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18404: index out of range: \00" @.str10390 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str10391 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10392 = private unnamed_addr constant [4 x i8] c"int\00" @.str10393 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str10394 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18408: index out of range: \00" @.str10395 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10396 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str10397 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str10398 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10399 = private unnamed_addr constant [4 x i8] c"int\00" @.str10400 = private unnamed_addr constant [6 x i8] c"round\00" @.str10401 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18413: index out of range: \00" @.str10402 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10403 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str10404 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str10405 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10406 = private unnamed_addr constant [4 x i8] c"int\00" @.str10407 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str10408 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18418: index out of range: \00" @.str10409 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18418: index out of range: \00" @.str10410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18418: index out of range: \00" @.str10411 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10412 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str10413 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18422: index out of range: \00" @.str10414 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18422: index out of range: \00" @.str10415 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18422: index out of range: \00" @.str10416 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10417 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str10418 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18427: index out of range: \00" @.str10419 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10420 = private unnamed_addr constant [2 x i8] c")\00" @.str10421 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10422 = private unnamed_addr constant [4 x i8] c"sin\00" @.str10423 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18432: index out of range: \00" @.str10424 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10425 = private unnamed_addr constant [2 x i8] c")\00" @.str10426 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10427 = private unnamed_addr constant [4 x i8] c"cos\00" @.str10428 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18437: index out of range: \00" @.str10429 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10430 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str10431 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10432 = private unnamed_addr constant [2 x i8] c")\00" @.str10433 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10434 = private unnamed_addr constant [4 x i8] c"tan\00" @.str10435 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18443: index out of range: \00" @.str10436 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10437 = private unnamed_addr constant [2 x i8] c")\00" @.str10438 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10439 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str10440 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10441 = private unnamed_addr constant [2 x i8] c")\00" @.str10442 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10443 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str10444 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18451: index out of range: \00" @.str10445 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18451: index out of range: \00" @.str10446 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str10447 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10448 = private unnamed_addr constant [2 x i8] c")\00" @.str10449 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10450 = private unnamed_addr constant [5 x i8] c"asin\00" @.str10451 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18456: index out of range: \00" @.str10452 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str10453 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10454 = private unnamed_addr constant [2 x i8] c")\00" @.str10455 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str10456 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10457 = private unnamed_addr constant [2 x i8] c")\00" @.str10458 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10459 = private unnamed_addr constant [5 x i8] c"acos\00" @.str10460 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18464: index out of range: \00" @.str10461 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str10462 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10463 = private unnamed_addr constant [2 x i8] c")\00" @.str10464 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str10465 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10466 = private unnamed_addr constant [2 x i8] c")\00" @.str10467 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10468 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str10469 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18472: index out of range: \00" @.str10470 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18472: index out of range: \00" @.str10471 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10472 = private unnamed_addr constant [3 x i8] c", \00" @.str10473 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10474 = private unnamed_addr constant [2 x i8] c")\00" @.str10475 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10476 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str10477 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18478: index out of range: \00" @.str10478 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18478: index out of range: \00" @.str10479 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18479: index out of range: \00" @.str10480 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18479: index out of range: \00" @.str10481 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10482 = private unnamed_addr constant [3 x i8] c", \00" @.str10483 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10484 = private unnamed_addr constant [3 x i8] c", \00" @.str10485 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10486 = private unnamed_addr constant [3 x i8] c", \00" @.str10487 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10488 = private unnamed_addr constant [5 x i8] c"dist\00" @.str10489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18487: index out of range: \00" @.str10490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18487: index out of range: \00" @.str10491 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18488: index out of range: \00" @.str10492 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18488: index out of range: \00" @.str10493 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10494 = private unnamed_addr constant [3 x i8] c", \00" @.str10495 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10496 = private unnamed_addr constant [3 x i8] c", \00" @.str10497 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10498 = private unnamed_addr constant [3 x i8] c", \00" @.str10499 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10500 = private unnamed_addr constant [2 x i8] c")\00" @.str10501 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10502 = private unnamed_addr constant [4 x i8] c"exp\00" @.str10503 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18497: index out of range: \00" @.str10504 = private unnamed_addr constant [6 x i8] c"94548\00" @.str10505 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str10506 = private unnamed_addr constant [2 x i8] c")\00" @.str10507 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10508 = private unnamed_addr constant [4 x i8] c"log\00" @.str10509 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18503: index out of range: \00" @.str10510 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str10511 = private unnamed_addr constant [2 x i8] c")\00" @.str10512 = private unnamed_addr constant [6 x i8] c"45426\00" @.str10513 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10514 = private unnamed_addr constant [4 x i8] c"pow\00" @.str10515 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18509: index out of range: \00" @.str10516 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18509: index out of range: \00" @.str10517 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str10518 = private unnamed_addr constant [2 x i8] c")\00" @.str10519 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str10520 = private unnamed_addr constant [2 x i8] c")\00" @.str10521 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10522 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str10523 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18515: index out of range: \00" @.str10524 = private unnamed_addr constant [5 x i8] c"1144\00" @.str10525 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10526 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str10527 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18519: index out of range: \00" @.str10528 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str10529 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10530 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str10531 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18523: index out of range: \00" @.str10532 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18523: index out of range: \00" @.str10533 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str10534 = private unnamed_addr constant [3 x i8] c", \00" @.str10535 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10536 = private unnamed_addr constant [3 x i8] c", \00" @.str10537 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str10538 = private unnamed_addr constant [3 x i8] c", \00" @.str10539 = private unnamed_addr constant [4 x i8] c"int\00" @.str10540 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str10541 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18529: index out of range: \00" @.str10542 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18529: index out of range: \00" @.str10543 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18529: index out of range: \00" @.str10544 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10545 = private unnamed_addr constant [3 x i8] c", \00" @.str10546 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10547 = private unnamed_addr constant [3 x i8] c", \00" @.str10548 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str10549 = private unnamed_addr constant [3 x i8] c", \00" @.str10550 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10551 = private unnamed_addr constant [3 x i8] c", \00" @.str10552 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str10553 = private unnamed_addr constant [3 x i8] c", \00" @.str10554 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10555 = private unnamed_addr constant [3 x i8] c", \00" @.str10556 = private unnamed_addr constant [4 x i8] c"int\00" @.str10557 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str10558 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18538: index out of range: \00" @.str10559 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18538: index out of range: \00" @.str10560 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10561 = private unnamed_addr constant [4 x i8] c", 2\00" @.str10562 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str10563 = private unnamed_addr constant [3 x i8] c", \00" @.str10564 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10565 = private unnamed_addr constant [3 x i8] c", \00" @.str10566 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str10567 = private unnamed_addr constant [3 x i8] c", \00" @.str10568 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10569 = private unnamed_addr constant [3 x i8] c", \00" @.str10570 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str10571 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10572 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10573 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10574 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10575 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10576 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10577 = private unnamed_addr constant [3 x i8] c", \00" @.str10578 = private unnamed_addr constant [4 x i8] c"int\00" @.str10579 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str10580 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18550: index out of range: \00" @.str10581 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18550: index out of range: \00" @.str10582 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10583 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str10584 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str10585 = private unnamed_addr constant [5 x i8] c", 16\00" @.str10586 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10587 = private unnamed_addr constant [3 x i8] c", \00" @.str10588 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10589 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str10590 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18557: index out of range: \00" @.str10591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18557: index out of range: \00" @.str10592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18557: index out of range: \00" @.str10593 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10594 = private unnamed_addr constant [3 x i8] c", \00" @.str10595 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str10596 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10597 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10598 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10599 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10600 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10601 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str10602 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10603 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10604 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10605 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10606 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str10607 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10608 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str10609 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10610 = private unnamed_addr constant [3 x i8] c", \00" @.str10611 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10612 = private unnamed_addr constant [3 x i8] c", \00" @.str10613 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str10614 = private unnamed_addr constant [3 x i8] c", \00" @.str10615 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10616 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10617 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10618 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10619 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str10620 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18572: index out of range: \00" @.str10621 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18572: index out of range: \00" @.str10622 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18572: index out of range: \00" @.str10623 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10624 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10625 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10626 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10627 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str10628 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str10629 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10630 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str10631 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10632 = private unnamed_addr constant [4 x i8] c", 2\00" @.str10633 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str10634 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10635 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18584: index out of range: \00" @.str10636 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18585: index out of range: \00" @.str10637 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18585: index out of range: \00" @.str10638 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18586: index out of range: \00" @.str10639 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18586: index out of range: \00" @.str10640 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10641 = 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" @.str10642 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str10643 = 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" @.str10644 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str10645 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str10646 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str10647 = 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" @.str10648 = 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" @.str10649 = 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" @.str10650 = 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" @.str10651 = 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" @.str10652 = 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" @.str10653 = 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" @.str10654 = 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" @.str10655 = 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" @.str10656 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str10657 = 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" @.str10658 = 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" @.str10659 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str10660 = 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" @.str10661 = 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" @.str10662 = 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" @.str10663 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str10664 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str10665 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str10666 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str10667 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str10668 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str10669 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str10670 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str10671 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str10672 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str10673 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str10674 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str10675 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str10676 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str10677 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str10678 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str10679 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str10680 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str10681 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str10682 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str10683 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str10684 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str10685 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str10686 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str10687 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str10688 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str10689 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str10690 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str10691 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str10692 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str10693 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str10694 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str10695 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str10696 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str10697 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str10698 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str10699 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str10700 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str10701 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str10702 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str10703 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str10704 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str10705 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str10706 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str10707 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str10708 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str10709 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str10710 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str10711 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str10712 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str10713 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str10714 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str10715 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str10716 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str10717 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str10718 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10719 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str10720 = 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" @.str10721 = 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" @.str10722 = 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" @.str10723 = 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" @.str10724 = 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" @.str10725 = 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" @.str10726 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str10727 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str10728 = 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" @.str10729 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str10730 = 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" @.str10731 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str10732 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str10733 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str10734 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str10735 = 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" @.str10736 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str10737 = 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" @.str10738 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str10739 = 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" @.str10740 = 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" @.str10741 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str10742 = 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" @.str10743 = 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" @.str10744 = 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" @.str10745 = 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" @.str10746 = 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" @.str10747 = 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" @.str10748 = 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" @.str10749 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str10750 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10751 = private unnamed_addr constant [9 x i8] c"vec_pack\00" @.str10752 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10753 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str10754 = private unnamed_addr constant [5 x i8] c", 32\00" @.str10755 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str10756 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10757 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str10758 = private unnamed_addr constant [3 x i8] c", \00" @.str10759 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str10760 = private unnamed_addr constant [6 x i8] c"vec_x\00" @.str10761 = private unnamed_addr constant [5 x i8] c", 32\00" @.str10762 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str10763 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10764 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str10765 = private unnamed_addr constant [6 x i8] c"vec_y\00" @.str10766 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10767 = private unnamed_addr constant [5 x i8] c"make\00" @.str10768 = private unnamed_addr constant [5 x i8] c"zero\00" @.str10769 = private unnamed_addr constant [2 x i8] c"x\00" @.str10770 = private unnamed_addr constant [2 x i8] c"y\00" @.str10771 = private unnamed_addr constant [4 x i8] c"add\00" @.str10772 = private unnamed_addr constant [4 x i8] c"sub\00" @.str10773 = private unnamed_addr constant [6 x i8] c"scale\00" @.str10774 = private unnamed_addr constant [4 x i8] c"dot\00" @.str10775 = private unnamed_addr constant [7 x i8] c"length\00" @.str10776 = private unnamed_addr constant [9 x i8] c"distance\00" @.str10777 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str10778 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str10779 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str10780 = private unnamed_addr constant [6 x i8] c"angle\00" @.str10781 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str10782 = private unnamed_addr constant [5 x i8] c"zero\00" @.str10783 = private unnamed_addr constant [2 x i8] c"0\00" @.str10784 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10785 = private unnamed_addr constant [5 x i8] c"make\00" @.str10786 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18760: index out of range: \00" @.str10787 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18760: index out of range: \00" @.str10788 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10789 = private unnamed_addr constant [2 x i8] c"x\00" @.str10790 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18764: index out of range: \00" @.str10791 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10792 = private unnamed_addr constant [2 x i8] c"y\00" @.str10793 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18768: index out of range: \00" @.str10794 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10795 = private unnamed_addr constant [4 x i8] c"add\00" @.str10796 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18772: index out of range: \00" @.str10797 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18772: index out of range: \00" @.str10798 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10799 = private unnamed_addr constant [15 x i8] c"emit_vector_ns\00" @.str10800 = private unnamed_addr constant [3 x i8] c", \00" @.str10801 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10802 = private unnamed_addr constant [3 x i8] c", \00" @.str10803 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10804 = private unnamed_addr constant [4 x i8] c"sub\00" @.str10805 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18779: index out of range: \00" @.str10806 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18779: index out of range: \00" @.str10807 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10808 = private unnamed_addr constant [3 x i8] c", \00" @.str10809 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10810 = private unnamed_addr constant [3 x i8] c", \00" @.str10811 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10812 = private unnamed_addr constant [6 x i8] c"scale\00" @.str10813 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18786: index out of range: \00" @.str10814 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18786: index out of range: \00" @.str10815 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10816 = private unnamed_addr constant [4 x i8] c"dot\00" @.str10817 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18793: index out of range: \00" @.str10818 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18793: index out of range: \00" @.str10819 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10820 = private unnamed_addr constant [3 x i8] c", \00" @.str10821 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10822 = private unnamed_addr constant [7 x i8] c"length\00" @.str10823 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18800: index out of range: \00" @.str10824 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10825 = private unnamed_addr constant [3 x i8] c", \00" @.str10826 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10827 = private unnamed_addr constant [2 x i8] c")\00" @.str10828 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10829 = private unnamed_addr constant [9 x i8] c"distance\00" @.str10830 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18808: index out of range: \00" @.str10831 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18808: index out of range: \00" @.str10832 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10833 = private unnamed_addr constant [3 x i8] c", \00" @.str10834 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10835 = private unnamed_addr constant [3 x i8] c", \00" @.str10836 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10837 = private unnamed_addr constant [3 x i8] c", \00" @.str10838 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10839 = private unnamed_addr constant [2 x i8] c")\00" @.str10840 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10841 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str10842 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18818: index out of range: \00" @.str10843 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10844 = private unnamed_addr constant [3 x i8] c", \00" @.str10845 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str10846 = private unnamed_addr constant [2 x i8] c")\00" @.str10847 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10848 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10849 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10850 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str10851 = private unnamed_addr constant [6 x i8] c"65536\00" @.str10852 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10853 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str10854 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18831: index out of range: \00" @.str10855 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18831: index out of range: \00" @.str10856 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10857 = private unnamed_addr constant [2 x i8] c")\00" @.str10858 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10859 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str10860 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10861 = private unnamed_addr constant [2 x i8] c")\00" @.str10862 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10863 = private unnamed_addr constant [3 x i8] c", \00" @.str10864 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10865 = private unnamed_addr constant [3 x i8] c", \00" @.str10866 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10867 = private unnamed_addr constant [6 x i8] c"angle\00" @.str10868 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18844: index out of range: \00" @.str10869 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str10870 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10871 = private unnamed_addr constant [2 x i8] c")\00" @.str10872 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10873 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str10874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18850: index out of range: \00" @.str10875 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10876 = private unnamed_addr constant [2 x i8] c")\00" @.str10877 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10878 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str10879 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str10880 = private unnamed_addr constant [2 x i8] c")\00" @.str10881 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10882 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18857: index out of range: \00" @.str10883 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18857: index out of range: \00" @.str10884 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18857: index out of range: \00" @.str10885 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str10886 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str10887 = private unnamed_addr constant [9 x i8] c"ivec_abs\00" @.str10888 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10889 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10890 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10891 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10892 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10893 = private unnamed_addr constant [5 x i8] c"make\00" @.str10894 = private unnamed_addr constant [5 x i8] c"zero\00" @.str10895 = private unnamed_addr constant [2 x i8] c"x\00" @.str10896 = private unnamed_addr constant [2 x i8] c"y\00" @.str10897 = private unnamed_addr constant [4 x i8] c"add\00" @.str10898 = private unnamed_addr constant [4 x i8] c"sub\00" @.str10899 = private unnamed_addr constant [6 x i8] c"scale\00" @.str10900 = private unnamed_addr constant [4 x i8] c"dot\00" @.str10901 = private unnamed_addr constant [6 x i8] c"equal\00" @.str10902 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str10903 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str10904 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str10905 = private unnamed_addr constant [7 x i8] c"within\00" @.str10906 = private unnamed_addr constant [8 x i8] c"heading\00" @.str10907 = private unnamed_addr constant [6 x i8] c"along\00" @.str10908 = private unnamed_addr constant [5 x i8] c"step\00" @.str10909 = private unnamed_addr constant [5 x i8] c"zero\00" @.str10910 = private unnamed_addr constant [2 x i8] c"0\00" @.str10911 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10912 = private unnamed_addr constant [5 x i8] c"make\00" @.str10913 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18895: index out of range: \00" @.str10914 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18895: index out of range: \00" @.str10915 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10916 = private unnamed_addr constant [2 x i8] c"x\00" @.str10917 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18899: index out of range: \00" @.str10918 = private unnamed_addr constant [4 x i8] c"int\00" @.str10919 = private unnamed_addr constant [2 x i8] c"y\00" @.str10920 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18903: index out of range: \00" @.str10921 = private unnamed_addr constant [4 x i8] c"int\00" @.str10922 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str10923 = private unnamed_addr constant [7 x i8] c"within\00" @.str10924 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18907: index out of range: \00" @.str10925 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18907: index out of range: \00" @.str10926 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10927 = private unnamed_addr constant [13 x i8] c"emit_ivec_ns\00" @.str10928 = private unnamed_addr constant [3 x i8] c", \00" @.str10929 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10930 = private unnamed_addr constant [3 x i8] c", \00" @.str10931 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10932 = private unnamed_addr constant [3 x i8] c", \00" @.str10933 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10934 = private unnamed_addr constant [3 x i8] c", \00" @.str10935 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10936 = private unnamed_addr constant [3 x i8] c", \00" @.str10937 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str10938 = private unnamed_addr constant [4 x i8] c"int\00" @.str10939 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18914: index out of range: \00" @.str10940 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str10941 = private unnamed_addr constant [3 x i8] c", \00" @.str10942 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str10943 = private unnamed_addr constant [3 x i8] c", \00" @.str10944 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str10945 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10946 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10947 = private unnamed_addr constant [8 x i8] c"heading\00" @.str10948 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str10949 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str10950 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18921: index out of range: \00" @.str10951 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18921: index out of range: \00" @.str10952 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str10953 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str10954 = private unnamed_addr constant [6 x i8] c"(i64 \00" @.str10955 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10956 = private unnamed_addr constant [2 x i8] c")\00" @.str10957 = private unnamed_addr constant [4 x i8] c"int\00" @.str10958 = private unnamed_addr constant [6 x i8] c"along\00" @.str10959 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str10960 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str10961 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18926: index out of range: \00" @.str10962 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18926: index out of range: \00" @.str10963 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18926: index out of range: \00" @.str10964 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str10965 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str10966 = private unnamed_addr constant [6 x i8] c"(i64 \00" @.str10967 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10968 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10969 = private unnamed_addr constant [2 x i8] c")\00" @.str10970 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10971 = private unnamed_addr constant [5 x i8] c"step\00" @.str10972 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str10973 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str10974 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18931: index out of range: \00" @.str10975 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str10976 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str10977 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10978 = private unnamed_addr constant [2 x i8] c")\00" @.str10979 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10980 = private unnamed_addr constant [4 x i8] c"add\00" @.str10981 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18935: index out of range: \00" @.str10982 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18935: index out of range: \00" @.str10983 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10984 = private unnamed_addr constant [3 x i8] c", \00" @.str10985 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10986 = private unnamed_addr constant [3 x i8] c", \00" @.str10987 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10988 = private unnamed_addr constant [4 x i8] c"sub\00" @.str10989 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18942: index out of range: \00" @.str10990 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18942: index out of range: \00" @.str10991 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10992 = private unnamed_addr constant [3 x i8] c", \00" @.str10993 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10994 = private unnamed_addr constant [3 x i8] c", \00" @.str10995 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10996 = private unnamed_addr constant [6 x i8] c"scale\00" @.str10997 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18949: index out of range: \00" @.str10998 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18949: index out of range: \00" @.str10999 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str11000 = private unnamed_addr constant [3 x i8] c", \00" @.str11001 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str11002 = private unnamed_addr constant [3 x i8] c", \00" @.str11003 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str11004 = private unnamed_addr constant [4 x i8] c"dot\00" @.str11005 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18956: index out of range: \00" @.str11006 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18956: index out of range: \00" @.str11007 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str11008 = private unnamed_addr constant [3 x i8] c", \00" @.str11009 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str11010 = private unnamed_addr constant [3 x i8] c", \00" @.str11011 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11012 = private unnamed_addr constant [3 x i8] c", \00" @.str11013 = private unnamed_addr constant [4 x i8] c"int\00" @.str11014 = private unnamed_addr constant [6 x i8] c"equal\00" @.str11015 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18962: index out of range: \00" @.str11016 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18962: index out of range: \00" @.str11017 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str11018 = private unnamed_addr constant [3 x i8] c", \00" @.str11019 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11020 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11021 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11022 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str11023 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18967: index out of range: \00" @.str11024 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18967: index out of range: \00" @.str11025 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str11026 = private unnamed_addr constant [3 x i8] c", \00" @.str11027 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str11028 = private unnamed_addr constant [3 x i8] c", \00" @.str11029 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11030 = private unnamed_addr constant [3 x i8] c", \00" @.str11031 = private unnamed_addr constant [4 x i8] c"int\00" @.str11032 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:18974: index out of range: \00" @.str11033 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str11034 = private unnamed_addr constant [5 x i8] c", 16\00" @.str11035 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str11036 = private unnamed_addr constant [5 x i8] c", 16\00" @.str11037 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str11038 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str11039 = private unnamed_addr constant [10 x i8] c"rect_pack\00" @.str11040 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str11041 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str11042 = private unnamed_addr constant [5 x i8] c", 96\00" @.str11043 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str11044 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str11045 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str11046 = private unnamed_addr constant [5 x i8] c", 64\00" @.str11047 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str11048 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str11049 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str11050 = private unnamed_addr constant [5 x i8] c", 32\00" @.str11051 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str11052 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str11053 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str11054 = private unnamed_addr constant [3 x i8] c", \00" @.str11055 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str11056 = private unnamed_addr constant [3 x i8] c", \00" @.str11057 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str11058 = private unnamed_addr constant [3 x i8] c", \00" @.str11059 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str11060 = private unnamed_addr constant [11 x i8] c"rect_field\00" @.str11061 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11062 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str11063 = private unnamed_addr constant [3 x i8] c", \00" @.str11064 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str11065 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11066 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str11067 = private unnamed_addr constant [9 x i8] c"rect_cmp\00" @.str11068 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str11069 = private unnamed_addr constant [3 x i8] c", \00" @.str11070 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11071 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11072 = private unnamed_addr constant [5 x i8] c"make\00" @.str11073 = private unnamed_addr constant [2 x i8] c"x\00" @.str11074 = private unnamed_addr constant [2 x i8] c"y\00" @.str11075 = private unnamed_addr constant [2 x i8] c"w\00" @.str11076 = private unnamed_addr constant [2 x i8] c"h\00" @.str11077 = private unnamed_addr constant [6 x i8] c"right\00" @.str11078 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str11079 = private unnamed_addr constant [7 x i8] c"center\00" @.str11080 = private unnamed_addr constant [9 x i8] c"contains\00" @.str11081 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str11082 = private unnamed_addr constant [5 x i8] c"make\00" @.str11083 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19027: index out of range: \00" @.str11084 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19027: index out of range: \00" @.str11085 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19028: index out of range: \00" @.str11086 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19028: index out of range: \00" @.str11087 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str11088 = private unnamed_addr constant [2 x i8] c"x\00" @.str11089 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19031: index out of range: \00" @.str11090 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str11091 = private unnamed_addr constant [2 x i8] c"y\00" @.str11092 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19032: index out of range: \00" @.str11093 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str11094 = private unnamed_addr constant [2 x i8] c"w\00" @.str11095 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19033: index out of range: \00" @.str11096 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str11097 = private unnamed_addr constant [2 x i8] c"h\00" @.str11098 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19034: index out of range: \00" @.str11099 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str11100 = private unnamed_addr constant [6 x i8] c"right\00" @.str11101 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19036: index out of range: \00" @.str11102 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11103 = private unnamed_addr constant [13 x i8] c"emit_rect_ns\00" @.str11104 = private unnamed_addr constant [3 x i8] c", \00" @.str11105 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str11106 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str11107 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19041: index out of range: \00" @.str11108 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11109 = private unnamed_addr constant [3 x i8] c", \00" @.str11110 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str11111 = private unnamed_addr constant [7 x i8] c"center\00" @.str11112 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19046: index out of range: \00" @.str11113 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str11114 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11115 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str11116 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11117 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11118 = private unnamed_addr constant [3 x i8] c", \00" @.str11119 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11120 = private unnamed_addr constant [3 x i8] c", \00" @.str11121 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str11122 = private unnamed_addr constant [9 x i8] c"contains\00" @.str11123 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19054: index out of range: \00" @.str11124 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19054: index out of range: \00" @.str11125 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19054: index out of range: \00" @.str11126 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11127 = private unnamed_addr constant [3 x i8] c", \00" @.str11128 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11129 = private unnamed_addr constant [3 x i8] c", \00" @.str11130 = private unnamed_addr constant [4 x i8] c"sge\00" @.str11131 = private unnamed_addr constant [4 x i8] c"slt\00" @.str11132 = private unnamed_addr constant [4 x i8] c"sge\00" @.str11133 = private unnamed_addr constant [4 x i8] c"slt\00" @.str11134 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str11135 = private unnamed_addr constant [3 x i8] c", \00" @.str11136 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str11137 = private unnamed_addr constant [3 x i8] c", \00" @.str11138 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str11139 = private unnamed_addr constant [3 x i8] c", \00" @.str11140 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11141 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19064: index out of range: \00" @.str11142 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19064: index out of range: \00" @.str11143 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11144 = private unnamed_addr constant [3 x i8] c", \00" @.str11145 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11146 = private unnamed_addr constant [3 x i8] c", \00" @.str11147 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11148 = private unnamed_addr constant [3 x i8] c", \00" @.str11149 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11150 = private unnamed_addr constant [3 x i8] c", \00" @.str11151 = private unnamed_addr constant [4 x i8] c"slt\00" @.str11152 = private unnamed_addr constant [4 x i8] c"slt\00" @.str11153 = private unnamed_addr constant [4 x i8] c"slt\00" @.str11154 = private unnamed_addr constant [4 x i8] c"slt\00" @.str11155 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str11156 = private unnamed_addr constant [3 x i8] c", \00" @.str11157 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str11158 = private unnamed_addr constant [3 x i8] c", \00" @.str11159 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str11160 = private unnamed_addr constant [3 x i8] c", \00" @.str11161 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11162 = private unnamed_addr constant [7 x i8] c"length\00" @.str11163 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str11164 = private unnamed_addr constant [6 x i8] c"slice\00" @.str11165 = private unnamed_addr constant [7 x i8] c"equals\00" @.str11166 = private unnamed_addr constant [7 x i8] c"concat\00" @.str11167 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str11168 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str11169 = private unnamed_addr constant [9 x i8] c"to_float\00" @.str11170 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str11171 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str11172 = private unnamed_addr constant [9 x i8] c"contains\00" @.str11173 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str11174 = private unnamed_addr constant [6 x i8] c"upper\00" @.str11175 = private unnamed_addr constant [6 x i8] c"lower\00" @.str11176 = private unnamed_addr constant [5 x i8] c"trim\00" @.str11177 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str11178 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str11179 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str11180 = private unnamed_addr constant [6 x i8] c"split\00" @.str11181 = private unnamed_addr constant [5 x i8] c"join\00" @.str11182 = private unnamed_addr constant [8 x i8] c"replace\00" @.str11183 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str11184 = private unnamed_addr constant [10 x i8] c"text_gone\00" @.str11185 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11186 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str11187 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19103: index out of range: \00" @.str11188 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str11189 = private unnamed_addr constant [13 x i8] c"emit_text_ns\00" @.str11190 = private unnamed_addr constant [2 x i8] c")\00" @.str11191 = private unnamed_addr constant [7 x i8] c"string\00" @.str11192 = private unnamed_addr constant [6 x i8] c"slice\00" @.str11193 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19108: index out of range: \00" @.str11194 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19108: index out of range: \00" @.str11195 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19108: index out of range: \00" @.str11196 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str11197 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11198 = private unnamed_addr constant [7 x i8] c", i32 \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 [7 x i8] c"equals\00" @.str11202 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19115: index out of range: \00" @.str11203 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19115: index out of range: \00" @.str11204 = private unnamed_addr constant [3 x i8] c"==\00" @.str11205 = private unnamed_addr constant [7 x i8] c"concat\00" @.str11206 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19119: index out of range: \00" @.str11207 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19119: index out of range: \00" @.str11208 = private unnamed_addr constant [2 x i8] c"+\00" @.str11209 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19123: index out of range: \00" @.str11210 = private unnamed_addr constant [7 x i8] c"length\00" @.str11211 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str11212 = private unnamed_addr constant [2 x i8] c")\00" @.str11213 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str11214 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11215 = private unnamed_addr constant [4 x i8] c"int\00" @.str11216 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str11217 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19130: index out of range: \00" @.str11218 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str11219 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11220 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str11221 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str11222 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11223 = private unnamed_addr constant [4 x i8] c"int\00" @.str11224 = private unnamed_addr constant [9 x i8] c"to_float\00" @.str11225 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str11226 = private unnamed_addr constant [25 x i8] c"call double @strtod(ptr \00" @.str11227 = private unnamed_addr constant [12 x i8] c", ptr null)\00" @.str11228 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str11229 = private unnamed_addr constant [10 x i8] c" to float\00" @.str11230 = private unnamed_addr constant [6 x i8] c"float\00" @.str11231 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str11232 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str11233 = private unnamed_addr constant [2 x i8] c")\00" @.str11234 = private unnamed_addr constant [4 x i8] c"int\00" @.str11235 = private unnamed_addr constant [6 x i8] c"upper\00" @.str11236 = private unnamed_addr constant [6 x i8] c"lower\00" @.str11237 = private unnamed_addr constant [5 x i8] c"trim\00" @.str11238 = private unnamed_addr constant [12 x i8] c"lp_str_trim\00" @.str11239 = private unnamed_addr constant [6 x i8] c"upper\00" @.str11240 = private unnamed_addr constant [13 x i8] c"lp_str_upper\00" @.str11241 = private unnamed_addr constant [6 x i8] c"lower\00" @.str11242 = private unnamed_addr constant [13 x i8] c"lp_str_lower\00" @.str11243 = private unnamed_addr constant [11 x i8] c"call ptr @\00" @.str11244 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str11245 = private unnamed_addr constant [2 x i8] c")\00" @.str11246 = private unnamed_addr constant [7 x i8] c"string\00" @.str11247 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str11248 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19158: index out of range: \00" @.str11249 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str11250 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11251 = private unnamed_addr constant [2 x i8] c")\00" @.str11252 = private unnamed_addr constant [7 x i8] c"string\00" @.str11253 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str11254 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str11255 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19165: index out of range: \00" @.str11256 = private unnamed_addr constant [2 x i8] c"1\00" @.str11257 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str11258 = private unnamed_addr constant [2 x i8] c"0\00" @.str11259 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str11260 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11261 = private unnamed_addr constant [6 x i8] c", i1 \00" @.str11262 = private unnamed_addr constant [2 x i8] c")\00" @.str11263 = private unnamed_addr constant [7 x i8] c"string\00" @.str11264 = private unnamed_addr constant [8 x i8] c"replace\00" @.str11265 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19174: index out of range: \00" @.str11266 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19174: index out of range: \00" @.str11267 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str11268 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11269 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11270 = private unnamed_addr constant [2 x i8] c")\00" @.str11271 = private unnamed_addr constant [7 x i8] c"string\00" @.str11272 = private unnamed_addr constant [6 x i8] c"split\00" @.str11273 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19181: index out of range: \00" @.str11274 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str11275 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11276 = private unnamed_addr constant [2 x i8] c")\00" @.str11277 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str11278 = private unnamed_addr constant [5 x i8] c"join\00" @.str11279 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19188: index out of range: \00" @.str11280 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str11281 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11282 = private unnamed_addr constant [2 x i8] c")\00" @.str11283 = private unnamed_addr constant [7 x i8] c"string\00" @.str11284 = private unnamed_addr constant [9 x i8] c"contains\00" @.str11285 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str11286 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19194: index out of range: \00" @.str11287 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str11288 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11289 = private unnamed_addr constant [2 x i8] c")\00" @.str11290 = private unnamed_addr constant [9 x i8] c"contains\00" @.str11291 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str11292 = private unnamed_addr constant [7 x i8] c", null\00" @.str11293 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11294 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11295 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11296 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str11297 = private unnamed_addr constant [7 x i8] c", null\00" @.str11298 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str11299 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str11300 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str11301 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str11302 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str11303 = private unnamed_addr constant [3 x i8] c", \00" @.str11304 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str11305 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11306 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str11307 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str11308 = private unnamed_addr constant [4 x i8] c"int\00" @.str11309 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19211: index out of range: \00" @.str11310 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str11311 = private unnamed_addr constant [2 x i8] c")\00" @.str11312 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str11313 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str11314 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11315 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11316 = private unnamed_addr constant [2 x i8] c")\00" @.str11317 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11318 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11319 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11320 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11321 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11322 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str11323 = private unnamed_addr constant [2 x i8] c")\00" @.str11324 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str11325 = private unnamed_addr constant [3 x i8] c", \00" @.str11326 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11327 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11328 = private unnamed_addr constant [2 x i8] c"0\00" @.str11329 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str11330 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11331 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str11332 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str11333 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11334 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11335 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11336 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11337 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11338 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str11339 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11340 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str11341 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11342 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11343 = private unnamed_addr constant [2 x i8] c")\00" @.str11344 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11345 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11346 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str11347 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str11348 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11349 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11350 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11351 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11352 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str11353 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11354 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str11355 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11356 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str11357 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str11358 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str11359 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11360 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11361 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11362 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11363 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11364 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str11365 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str11366 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11367 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str11368 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str11369 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str11370 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str11371 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str11372 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str11373 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str11374 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str11375 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str11376 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11377 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11378 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11379 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str11380 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str11381 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str11382 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11383 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11384 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str11385 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11386 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str11387 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str11388 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str11389 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11390 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11391 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11392 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11393 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11394 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str11395 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str11396 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11397 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str11398 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str11399 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str11400 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str11401 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str11402 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str11403 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str11404 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str11405 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str11406 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11407 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11408 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11409 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str11410 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str11411 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str11412 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11413 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11414 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str11415 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11416 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str11417 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str11418 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str11419 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str11420 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str11421 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str11422 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str11423 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str11424 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str11425 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str11426 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str11427 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str11428 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str11429 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str11430 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str11431 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str11432 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str11433 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str11434 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str11435 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str11436 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str11437 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str11438 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str11439 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str11440 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str11441 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str11442 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str11443 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str11444 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str11445 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str11446 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str11447 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str11448 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str11449 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str11450 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str11451 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str11452 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str11453 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str11454 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str11455 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str11456 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str11457 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str11458 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str11459 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str11460 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11461 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11462 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str11463 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str11464 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str11465 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str11466 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str11467 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str11468 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str11469 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str11470 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str11471 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11472 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str11473 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11474 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str11475 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str11476 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str11477 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str11478 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str11479 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str11480 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str11481 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11482 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11483 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11484 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11485 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11486 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str11487 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str11488 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11489 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str11490 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str11491 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str11492 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11493 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11494 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11495 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str11496 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str11497 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str11498 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11499 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11500 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str11501 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11502 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str11503 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str11504 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str11505 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str11506 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str11507 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str11508 = private unnamed_addr constant [39 x i8] c" %o0 = call ptr @lp_malloc(i64 %sz0)\0A\00" @.str11509 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str11510 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str11511 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str11512 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str11513 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str11514 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str11515 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str11516 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str11517 = private unnamed_addr constant [39 x i8] c" %out = call ptr @lp_malloc(i64 %sz)\0A\00" @.str11518 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str11519 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str11520 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str11521 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str11522 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str11523 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str11524 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str11525 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str11526 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str11527 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str11528 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str11529 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str11530 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str11531 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11532 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11533 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str11534 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11535 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11536 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11537 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11538 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11539 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11540 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str11541 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str11542 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11543 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str11544 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str11545 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str11546 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11547 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11548 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11549 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11550 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11551 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11552 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str11553 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11554 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str11555 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str11556 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str11557 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str11558 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str11559 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str11560 = private unnamed_addr constant [39 x i8] c" %o0 = call ptr @lp_malloc(i64 %sz0)\0A\00" @.str11561 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str11562 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str11563 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str11564 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str11565 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str11566 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str11567 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str11568 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str11569 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str11570 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str11571 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str11572 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str11573 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str11574 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str11575 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str11576 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str11577 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str11578 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str11579 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str11580 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str11581 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str11582 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str11583 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str11584 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str11585 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str11586 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str11587 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str11588 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str11589 = private unnamed_addr constant [40 x i8] c" %out = call ptr @lp_malloc(i64 %osz)\0A\00" @.str11590 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str11591 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str11592 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str11593 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str11594 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str11595 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str11596 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str11597 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str11598 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str11599 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str11600 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str11601 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str11602 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str11603 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str11604 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str11605 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str11606 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str11607 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str11608 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str11609 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str11610 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str11611 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str11612 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str11613 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str11614 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str11615 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str11616 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str11617 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str11618 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str11619 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11620 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11621 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str11622 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11623 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str11624 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str11625 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str11626 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str11627 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str11628 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str11629 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str11630 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str11631 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11632 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11633 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str11634 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str11635 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11636 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str11637 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str11638 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str11639 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str11640 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str11641 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str11642 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str11643 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str11644 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str11645 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11646 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11647 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str11648 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str11649 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str11650 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str11651 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str11652 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str11653 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str11654 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str11655 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str11656 = private unnamed_addr constant [40 x i8] c" %out = call ptr @lp_malloc(i64 %osz)\0A\00" @.str11657 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str11658 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str11659 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str11660 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str11661 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str11662 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str11663 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str11664 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str11665 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str11666 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str11667 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str11668 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str11669 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str11670 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str11671 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str11672 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str11673 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str11674 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str11675 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str11676 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str11677 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str11678 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str11679 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str11680 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str11681 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str11682 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str11683 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str11684 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str11685 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str11686 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str11687 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str11688 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str11689 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str11690 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11691 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str11692 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11693 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str11694 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str11695 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str11696 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str11697 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str11698 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str11699 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str11700 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str11701 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str11702 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str11703 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str11704 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str11705 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str11706 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str11707 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str11708 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str11709 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str11710 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str11711 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str11712 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str11713 = private unnamed_addr constant [38 x i8] c" %hdr = call ptr @lp_malloc(i64 16)\0A\00" @.str11714 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str11715 = private unnamed_addr constant [42 x i8] c" %arr = call ptr @lp_malloc(i64 %arrsz)\0A\00" @.str11716 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str11717 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str11718 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str11719 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str11720 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str11721 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str11722 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str11723 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str11724 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str11725 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11726 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11727 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str11728 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str11729 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11730 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str11731 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str11732 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str11733 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str11734 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str11735 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str11736 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str11737 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str11738 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str11739 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str11740 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str11741 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str11742 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str11743 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str11744 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str11745 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str11746 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str11747 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str11748 = private unnamed_addr constant [40 x i8] c" %sub = call ptr @lp_malloc(i64 %ssz)\0A\00" @.str11749 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str11750 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str11751 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str11752 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str11753 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str11754 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str11755 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str11756 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str11757 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11758 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11759 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str11760 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11761 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str11762 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11763 = private unnamed_addr constant [3 x i8] c"of\00" @.str11764 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str11765 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str11766 = private unnamed_addr constant [4 x i8] c"mix\00" @.str11767 = private unnamed_addr constant [8 x i8] c"combine\00" @.str11768 = private unnamed_addr constant [5 x i8] c"of64\00" @.str11769 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str11770 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str11771 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str11772 = private unnamed_addr constant [14 x i8] c"hash_mix_code\00" @.str11773 = private unnamed_addr constant [5 x i8] c", 16\00" @.str11774 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str11775 = private unnamed_addr constant [3 x i8] c", \00" @.str11776 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str11777 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str11778 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str11779 = private unnamed_addr constant [5 x i8] c", 13\00" @.str11780 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str11781 = private unnamed_addr constant [3 x i8] c", \00" @.str11782 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str11783 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str11784 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str11785 = private unnamed_addr constant [5 x i8] c", 16\00" @.str11786 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str11787 = private unnamed_addr constant [3 x i8] c", \00" @.str11788 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str11789 = private unnamed_addr constant [16 x i8] c"hash_mix64_code\00" @.str11790 = private unnamed_addr constant [5 x i8] c", 33\00" @.str11791 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str11792 = private unnamed_addr constant [3 x i8] c", \00" @.str11793 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str11794 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str11795 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str11796 = private unnamed_addr constant [5 x i8] c", 33\00" @.str11797 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str11798 = private unnamed_addr constant [3 x i8] c", \00" @.str11799 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str11800 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str11801 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str11802 = private unnamed_addr constant [5 x i8] c", 33\00" @.str11803 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str11804 = private unnamed_addr constant [3 x i8] c", \00" @.str11805 = private unnamed_addr constant [3 x i8] c"of\00" @.str11806 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str11807 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19714: index out of range: \00" @.str11808 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str11809 = private unnamed_addr constant [13 x i8] c"emit_hash_ns\00" @.str11810 = private unnamed_addr constant [2 x i8] c")\00" @.str11811 = private unnamed_addr constant [4 x i8] c"int\00" @.str11812 = private unnamed_addr constant [5 x i8] c"of64\00" @.str11813 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str11814 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19719: index out of range: \00" @.str11815 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str11816 = private unnamed_addr constant [2 x i8] c")\00" @.str11817 = private unnamed_addr constant [5 x i8] c"long\00" @.str11818 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str11819 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19723: index out of range: \00" @.str11820 = private unnamed_addr constant [5 x i8] c"long\00" @.str11821 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str11822 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19728: index out of range: \00" @.str11823 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str11824 = private unnamed_addr constant [2 x i8] c")\00" @.str11825 = private unnamed_addr constant [4 x i8] c"int\00" @.str11826 = private unnamed_addr constant [4 x i8] c"mix\00" @.str11827 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19732: index out of range: \00" @.str11828 = private unnamed_addr constant [4 x i8] c"int\00" @.str11829 = private unnamed_addr constant [2 x i8] c"0\00" @.str11830 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19742: index out of range: \00" @.str11831 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11832 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str11833 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str11834 = private unnamed_addr constant [4 x i8] c", 6\00" @.str11835 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str11836 = private unnamed_addr constant [4 x i8] c", 2\00" @.str11837 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11838 = private unnamed_addr constant [3 x i8] c", \00" @.str11839 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11840 = private unnamed_addr constant [3 x i8] c", \00" @.str11841 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str11842 = private unnamed_addr constant [3 x i8] c", \00" @.str11843 = private unnamed_addr constant [4 x i8] c"int\00" @.str11844 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str11845 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11846 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str11847 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str11848 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11849 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11850 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11851 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11852 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11853 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str11854 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str11855 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str11856 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str11857 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11858 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str11859 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str11860 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str11861 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str11862 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str11863 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11864 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11865 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11866 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11867 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str11868 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str11869 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11870 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str11871 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11872 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str11873 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str11874 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11875 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11876 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11877 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11878 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11879 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str11880 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str11881 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str11882 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str11883 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11884 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str11885 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str11886 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str11887 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str11888 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str11889 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11890 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11891 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11892 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11893 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str11894 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str11895 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11896 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str11897 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str11898 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str11899 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str11900 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str11901 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str11902 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str11903 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11904 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str11905 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str11906 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str11907 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str11908 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str11909 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str11910 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11911 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str11912 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str11913 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str11914 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str11915 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str11916 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str11917 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str11918 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str11919 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str11920 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str11921 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str11922 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str11923 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str11924 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str11925 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str11926 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str11927 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str11928 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str11929 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str11930 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str11931 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str11932 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str11933 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str11934 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str11935 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str11936 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11937 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str11938 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str11939 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str11940 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11941 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str11942 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str11943 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str11944 = private unnamed_addr constant [4 x i8] c"hex\00" @.str11945 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str11946 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str11947 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str11948 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str11949 = private unnamed_addr constant [7 x i8] c"base64\00" @.str11950 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str11951 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19905: index out of range: \00" @.str11952 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str11953 = private unnamed_addr constant [15 x i8] c"emit_crypto_ns\00" @.str11954 = private unnamed_addr constant [2 x i8] c")\00" @.str11955 = private unnamed_addr constant [7 x i8] c"string\00" @.str11956 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str11957 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19909: index out of range: \00" @.str11958 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19909: index out of range: \00" @.str11959 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str11960 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11961 = private unnamed_addr constant [2 x i8] c")\00" @.str11962 = private unnamed_addr constant [7 x i8] c"string\00" @.str11963 = private unnamed_addr constant [4 x i8] c"hex\00" @.str11964 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19913: index out of range: \00" @.str11965 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str11966 = private unnamed_addr constant [2 x i8] c")\00" @.str11967 = private unnamed_addr constant [7 x i8] c"string\00" @.str11968 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str11969 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19917: index out of range: \00" @.str11970 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19917: index out of range: \00" @.str11971 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str11972 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11973 = private unnamed_addr constant [2 x i8] c")\00" @.str11974 = private unnamed_addr constant [5 x i8] c"bool\00" @.str11975 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str11976 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str11977 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19924: index out of range: \00" @.str11978 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str11979 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str11980 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str11981 = private unnamed_addr constant [2 x i8] c")\00" @.str11982 = private unnamed_addr constant [7 x i8] c"string\00" @.str11983 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str11984 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str11985 = private unnamed_addr constant [4 x i8] c"int\00" @.str11986 = private unnamed_addr constant [7 x i8] c"base64\00" @.str11987 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19932: index out of range: \00" @.str11988 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str11989 = private unnamed_addr constant [2 x i8] c")\00" @.str11990 = private unnamed_addr constant [7 x i8] c"string\00" @.str11991 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19938: index out of range: \00" @.str11992 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19938: index out of range: \00" @.str11993 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:19938: index out of range: \00" @.str11994 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str11995 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11996 = private unnamed_addr constant [2 x i8] c")\00" @.str11997 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str11998 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11999 = private unnamed_addr constant [2 x i8] c")\00" @.str12000 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12001 = 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" @.str12002 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str12003 = 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" @.str12004 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str12005 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str12006 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str12007 = 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" @.str12008 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str12009 = 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" @.str12010 = private unnamed_addr constant [39 x i8] c" %buf = call ptr @lp_malloc(i64 %pl)\0A\00" @.str12011 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str12012 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str12013 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str12014 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str12015 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str12016 = 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" @.str12017 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str12018 = 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" @.str12019 = 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" @.str12020 = 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" @.str12021 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str12022 = 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" @.str12023 = 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" @.str12024 = 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" @.str12025 = 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" @.str12026 = 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" @.str12027 = 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" @.str12028 = 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" @.str12029 = 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" @.str12030 = 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" @.str12031 = 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" @.str12032 = 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" @.str12033 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str12034 = 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" @.str12035 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str12036 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str12037 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str12038 = 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" @.str12039 = 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" @.str12040 = 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" @.str12041 = 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" @.str12042 = 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" @.str12043 = 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" @.str12044 = 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" @.str12045 = 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" @.str12046 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str12047 = 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" @.str12048 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str12049 = 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" @.str12050 = 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" @.str12051 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str12052 = 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" @.str12053 = 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" @.str12054 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str12055 = 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" @.str12056 = 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" @.str12057 = 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" @.str12058 = 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" @.str12059 = 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" @.str12060 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str12061 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str12062 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str12063 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str12064 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str12065 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str12066 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str12067 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str12068 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str12069 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str12070 = 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" @.str12071 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str12072 = 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" @.str12073 = 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" @.str12074 = 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" @.str12075 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str12076 = 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" @.str12077 = 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" @.str12078 = 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" @.str12079 = 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" @.str12080 = 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" @.str12081 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str12082 = 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" @.str12083 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str12084 = 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" @.str12085 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str12086 = 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" @.str12087 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str12088 = 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" @.str12089 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str12090 = 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" @.str12091 = 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" @.str12092 = 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" @.str12093 = 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" @.str12094 = 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" @.str12095 = 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" @.str12096 = 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" @.str12097 = 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" @.str12098 = 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" @.str12099 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str12100 = 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" @.str12101 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str12102 = 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" @.str12103 = 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" @.str12104 = 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" @.str12105 = 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" @.str12106 = 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" @.str12107 = 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" @.str12108 = private unnamed_addr constant [52 x i8] c"freeb:\0A call void @lp_free(ptr %buf)\0A ret void\0A}\0A\00" @.str12109 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str12110 = 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" @.str12111 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str12112 = 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" @.str12113 = 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" @.str12114 = 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" @.str12115 = 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" @.str12116 = 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" @.str12117 = 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" @.str12118 = 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" @.str12119 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str12120 = 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" @.str12121 = 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" @.str12122 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str12123 = 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" @.str12124 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str12125 = 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" @.str12126 = 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" @.str12127 = 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" @.str12128 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str12129 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str12130 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str12131 = 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" @.str12132 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str12133 = 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" @.str12134 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str12135 = 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" @.str12136 = 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" @.str12137 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str12138 = private unnamed_addr constant [73 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @lp_malloc(i64 %inlen)\0A\00" @.str12139 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str12140 = 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" @.str12141 = 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" @.str12142 = 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" @.str12143 = 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" @.str12144 = 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" @.str12145 = 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" @.str12146 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str12147 = 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" @.str12148 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str12149 = 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" @.str12150 = 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" @.str12151 = 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" @.str12152 = 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" @.str12153 = 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" @.str12154 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str12155 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str12156 = private unnamed_addr constant [41 x i8] c"declare i8 @SystemFunction036(ptr, i32)\0A\00" @.str12157 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str12158 = 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" @.str12159 = 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" @.str12160 = 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" @.str12161 = 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" @.str12162 = 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" @.str12163 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str12164 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str12165 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str12166 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str12167 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str12168 = 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" @.str12169 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str12170 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str12171 = 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" @.str12172 = 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" @.str12173 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str12174 = 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" @.str12175 = 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" @.str12176 = 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" @.str12177 = 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" @.str12178 = 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" @.str12179 = 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" @.str12180 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str12181 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str12182 = 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" @.str12183 = 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" @.str12184 = 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" @.str12185 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str12186 = 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" @.str12187 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str12188 = 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" @.str12189 = 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" @.str12190 = 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" @.str12191 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str12192 = 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" @.str12193 = 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" @.str12194 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str12195 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str12196 = 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" @.str12197 = 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" @.str12198 = 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" @.str12199 = 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" @.str12200 = 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" @.str12201 = 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" @.str12202 = 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" @.str12203 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str12204 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str12205 = 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" @.str12206 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str12207 = 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" @.str12208 = private unnamed_addr constant [57 x i8] c"done:\0A call void @lp_free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str12209 = private unnamed_addr constant [4 x i8] c"new\00" @.str12210 = private unnamed_addr constant [3 x i8] c"v4\00" @.str12211 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str12212 = private unnamed_addr constant [3 x i8] c"v7\00" @.str12213 = private unnamed_addr constant [6 x i8] c"parse\00" @.str12214 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str12215 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str12216 = private unnamed_addr constant [7 x i8] c"equals\00" @.str12217 = private unnamed_addr constant [4 x i8] c"nil\00" @.str12218 = private unnamed_addr constant [4 x i8] c"new\00" @.str12219 = private unnamed_addr constant [3 x i8] c"v4\00" @.str12220 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str12221 = private unnamed_addr constant [7 x i8] c"string\00" @.str12222 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str12223 = private unnamed_addr constant [3 x i8] c"v7\00" @.str12224 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str12225 = private unnamed_addr constant [7 x i8] c"string\00" @.str12226 = private unnamed_addr constant [4 x i8] c"nil\00" @.str12227 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str12228 = private unnamed_addr constant [7 x i8] c"string\00" @.str12229 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str12230 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20273: index out of range: \00" @.str12231 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str12232 = private unnamed_addr constant [13 x i8] c"emit_uuid_ns\00" @.str12233 = private unnamed_addr constant [2 x i8] c")\00" @.str12234 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12235 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str12236 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20277: index out of range: \00" @.str12237 = private unnamed_addr constant [7 x i8] c"string\00" @.str12238 = private unnamed_addr constant [7 x i8] c"equals\00" @.str12239 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20281: index out of range: \00" @.str12240 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20281: index out of range: \00" @.str12241 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str12242 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12243 = private unnamed_addr constant [2 x i8] c")\00" @.str12244 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20287: index out of range: \00" @.str12246 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str12247 = private unnamed_addr constant [2 x i8] c")\00" @.str12248 = private unnamed_addr constant [7 x i8] c"string\00" @.str12249 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str12250 = 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" @.str12251 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str12252 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str12253 = 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" @.str12254 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str12255 = 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" @.str12256 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str12257 = 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" @.str12258 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str12259 = 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" @.str12260 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str12261 = private unnamed_addr constant [49 x i8] c" call void @lp_free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str12262 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str12263 = 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" @.str12264 = 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" @.str12265 = 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" @.str12266 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str12267 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str12268 = 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" @.str12269 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str12270 = 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" @.str12271 = 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" @.str12272 = 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" @.str12273 = 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" @.str12274 = 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" @.str12275 = 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" @.str12276 = 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" @.str12277 = 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" @.str12278 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str12279 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str12280 = 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" @.str12281 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str12282 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str12283 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str12284 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str12285 = 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" @.str12286 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str12287 = 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" @.str12288 = 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" @.str12289 = 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" @.str12290 = 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" @.str12291 = 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" @.str12292 = 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" @.str12293 = 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" @.str12294 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str12295 = 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" @.str12296 = 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" @.str12297 = 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" @.str12298 = 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" @.str12299 = 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" @.str12300 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str12301 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str12302 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str12303 = 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" @.str12304 = 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" @.str12305 = 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" @.str12306 = 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" @.str12307 = 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" @.str12308 = 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" @.str12309 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str12310 = 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" @.str12311 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str12312 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str12313 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str12314 = 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" @.str12315 = 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" @.str12316 = 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" @.str12317 = 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" @.str12318 = 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" @.str12319 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str12320 = 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" @.str12321 = 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" @.str12322 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str12323 = private unnamed_addr constant [7 x i8] c"value2\00" @.str12324 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str12325 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str12326 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str12327 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str12328 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str12329 = private unnamed_addr constant [5 x i8] c"unit\00" @.str12330 = private unnamed_addr constant [5 x i8] c"unit\00" @.str12331 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20421: index out of range: \00" @.str12332 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str12333 = private unnamed_addr constant [14 x i8] c"emit_noise_ns\00" @.str12334 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12335 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12336 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str12337 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str12338 = private unnamed_addr constant [7 x i8] c"value2\00" @.str12339 = private unnamed_addr constant [7 x i8] c"value2\00" @.str12340 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20428: index out of range: \00" @.str12341 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20428: index out of range: \00" @.str12342 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20428: index out of range: \00" @.str12343 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str12344 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12345 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12346 = private unnamed_addr constant [2 x i8] c")\00" @.str12347 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str12348 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str12349 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str12350 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20433: index out of range: \00" @.str12351 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20433: index out of range: \00" @.str12352 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20433: index out of range: \00" @.str12353 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str12354 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12355 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12356 = private unnamed_addr constant [2 x i8] c")\00" @.str12357 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str12358 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str12359 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str12360 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20438: index out of range: \00" @.str12361 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20438: index out of range: \00" @.str12362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20438: index out of range: \00" @.str12363 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" @.str12364 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12365 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12366 = private unnamed_addr constant [2 x i8] c")\00" @.str12367 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str12368 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str12369 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str12370 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20444: index out of range: \00" @.str12371 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20444: index out of range: \00" @.str12372 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20444: index out of range: \00" @.str12373 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20444: index out of range: \00" @.str12374 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str12375 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12376 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12377 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12378 = private unnamed_addr constant [2 x i8] c")\00" @.str12379 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str12380 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str12381 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str12382 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20450: index out of range: \00" @.str12383 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20450: index out of range: \00" @.str12384 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20450: index out of range: \00" @.str12385 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \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 [2 x i8] c")\00" @.str12389 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str12390 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20455: index out of range: \00" @.str12391 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20455: index out of range: \00" @.str12392 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20455: index out of range: \00" @.str12393 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str12394 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12395 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12396 = private unnamed_addr constant [2 x i8] c")\00" @.str12397 = private unnamed_addr constant [4 x i8] c"int\00" @.str12398 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str12399 = 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" @.str12400 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str12401 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str12402 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str12403 = 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" @.str12404 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str12405 = 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" @.str12406 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str12407 = 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" @.str12408 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str12409 = 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" @.str12410 = 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" @.str12411 = 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" @.str12412 = 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" @.str12413 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str12414 = 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" @.str12415 = 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" @.str12416 = 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" @.str12417 = 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" @.str12418 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str12419 = 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" @.str12420 = 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" @.str12421 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str12422 = 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" @.str12423 = 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" @.str12424 = 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" @.str12425 = 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" @.str12426 = 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" @.str12427 = 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" @.str12428 = 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" @.str12429 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str12430 = 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" @.str12431 = 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" @.str12432 = 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" @.str12433 = 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" @.str12434 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str12435 = 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" @.str12436 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str12437 = 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" @.str12438 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str12439 = 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" @.str12440 = 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" @.str12441 = 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" @.str12442 = 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" @.str12443 = 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" @.str12444 = 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" @.str12445 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str12446 = 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" @.str12447 = 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" @.str12448 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str12449 = 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" @.str12450 = 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" @.str12451 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str12452 = 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" @.str12453 = 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" @.str12454 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str12455 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str12456 = 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" @.str12457 = 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" @.str12458 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str12459 = 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" @.str12460 = 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" @.str12461 = 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" @.str12462 = 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" @.str12463 = 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" @.str12464 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str12465 = 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" @.str12466 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str12467 = 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" @.str12468 = 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" @.str12469 = 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" @.str12470 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str12471 = 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" @.str12472 = 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" @.str12473 = 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" @.str12474 = 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" @.str12475 = 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" @.str12476 = 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" @.str12477 = 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" @.str12478 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str12479 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str12480 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str12481 = 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" @.str12482 = 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" @.str12483 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str12484 = 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" @.str12485 = 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" @.str12486 = 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" @.str12487 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str12488 = 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" @.str12489 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str12490 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str12491 = 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" @.str12492 = 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" @.str12493 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str12494 = 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" @.str12495 = 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" @.str12496 = 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" @.str12497 = 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" @.str12498 = 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" @.str12499 = 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" @.str12500 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str12501 = 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" @.str12502 = 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" @.str12503 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str12504 = 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" @.str12505 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str12506 = private unnamed_addr constant [7 x i8] c"Noise.\00" @.str12507 = private unnamed_addr constant [12 x i8] c"noise_arity\00" @.str12508 = private unnamed_addr constant [8 x i8] c" takes \00" @.str12509 = private unnamed_addr constant [23 x i8] c" arguments (x, y, seed\00" @.str12510 = private unnamed_addr constant [24 x i8] c"), and this call gives \00" @.str12511 = private unnamed_addr constant [10 x i8] c", octaves\00" @.str12512 = private unnamed_addr constant [1 x i8] c"\00" @.str12513 = private unnamed_addr constant [6 x i8] c"trace\00" @.str12514 = private unnamed_addr constant [6 x i8] c"debug\00" @.str12515 = private unnamed_addr constant [5 x i8] c"info\00" @.str12516 = private unnamed_addr constant [5 x i8] c"warn\00" @.str12517 = private unnamed_addr constant [6 x i8] c"error\00" @.str12518 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str12519 = private unnamed_addr constant [6 x i8] c"level\00" @.str12520 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str12521 = private unnamed_addr constant [7 x i8] c"string\00" @.str12522 = private unnamed_addr constant [4 x i8] c"i64\00" @.str12523 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str12524 = private unnamed_addr constant [14 x i8] c"log_stringify\00" @.str12525 = private unnamed_addr constant [2 x i8] c")\00" @.str12526 = private unnamed_addr constant [7 x i8] c"string\00" @.str12527 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str12528 = private unnamed_addr constant [2 x i8] c")\00" @.str12529 = private unnamed_addr constant [7 x i8] c"string\00" @.str12530 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str12531 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20670: index out of range: \00" @.str12532 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12533 = private unnamed_addr constant [12 x i8] c"emit_log_ns\00" @.str12534 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str12535 = private unnamed_addr constant [2 x i8] c"0\00" @.str12536 = private unnamed_addr constant [5 x i8] c"void\00" @.str12537 = private unnamed_addr constant [6 x i8] c"level\00" @.str12538 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str12539 = private unnamed_addr constant [4 x i8] c"int\00" @.str12540 = private unnamed_addr constant [2 x i8] c"2\00" @.str12541 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str12542 = private unnamed_addr constant [6 x i8] c"trace\00" @.str12543 = private unnamed_addr constant [2 x i8] c"0\00" @.str12544 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str12545 = private unnamed_addr constant [6 x i8] c"debug\00" @.str12546 = private unnamed_addr constant [2 x i8] c"1\00" @.str12547 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str12548 = private unnamed_addr constant [5 x i8] c"warn\00" @.str12549 = private unnamed_addr constant [2 x i8] c"3\00" @.str12550 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str12551 = private unnamed_addr constant [6 x i8] c"error\00" @.str12552 = private unnamed_addr constant [2 x i8] c"4\00" @.str12553 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str12554 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str12555 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str12556 = private unnamed_addr constant [3 x i8] c", \00" @.str12557 = private unnamed_addr constant [6 x i8] c"logon\00" @.str12558 = private unnamed_addr constant [7 x i8] c"logend\00" @.str12559 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12560 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12561 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12562 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12563 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12564 = private unnamed_addr constant [7 x i8] c"string\00" @.str12565 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20694: index out of range: \00" @.str12566 = private unnamed_addr constant [2 x i8] c"+\00" @.str12567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20698: index out of range: \00" @.str12568 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20699: index out of range: \00" @.str12569 = private unnamed_addr constant [2 x i8] c"+\00" @.str12570 = private unnamed_addr constant [2 x i8] c" \00" @.str12571 = private unnamed_addr constant [7 x i8] c"string\00" @.str12572 = private unnamed_addr constant [2 x i8] c"+\00" @.str12573 = private unnamed_addr constant [2 x i8] c"+\00" @.str12574 = private unnamed_addr constant [2 x i8] c"=\00" @.str12575 = private unnamed_addr constant [7 x i8] c"string\00" @.str12576 = private unnamed_addr constant [2 x i8] c"+\00" @.str12577 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str12578 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12579 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12580 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str12581 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12582 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12583 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12584 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12585 = private unnamed_addr constant [2 x i8] c"0\00" @.str12586 = private unnamed_addr constant [5 x i8] c"void\00" @.str12587 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str12588 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str12589 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str12590 = 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" @.str12591 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str12592 = private unnamed_addr constant [17 x i8] c"emit_log_prelude\00" @.str12593 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str12594 = 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" @.str12595 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str12596 = private unnamed_addr constant [5 x i8] c"args\00" @.str12597 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str12598 = private unnamed_addr constant [4 x i8] c"arg\00" @.str12599 = private unnamed_addr constant [4 x i8] c"env\00" @.str12600 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str12601 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str12602 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str12603 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str12604 = private unnamed_addr constant [5 x i8] c"exit\00" @.str12605 = private unnamed_addr constant [4 x i8] c"pid\00" @.str12606 = private unnamed_addr constant [9 x i8] c"platform\00" @.str12607 = private unnamed_addr constant [5 x i8] c"arch\00" @.str12608 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str12609 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str12610 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str12611 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str12612 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str12613 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str12614 = private unnamed_addr constant [11 x i8] c"heap_bytes\00" @.str12615 = private unnamed_addr constant [12 x i8] c"heap_relief\00" @.str12616 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str12617 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str12618 = private unnamed_addr constant [4 x i8] c"int\00" @.str12619 = private unnamed_addr constant [4 x i8] c"arg\00" @.str12620 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20781: index out of range: \00" @.str12621 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str12622 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str12623 = private unnamed_addr constant [11 x i8] c"emit_os_ns\00" @.str12624 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12625 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str12626 = private unnamed_addr constant [7 x i8] c"string\00" @.str12627 = private unnamed_addr constant [4 x i8] c"pid\00" @.str12628 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str12629 = private unnamed_addr constant [4 x i8] c"int\00" @.str12630 = private unnamed_addr constant [11 x i8] c"heap_bytes\00" @.str12631 = private unnamed_addr constant [2 x i8] c"0\00" @.str12632 = private unnamed_addr constant [5 x i8] c"long\00" @.str12633 = private unnamed_addr constant [29 x i8] c"call i64 @lp_os_heap_bytes()\00" @.str12634 = private unnamed_addr constant [5 x i8] c"long\00" @.str12635 = private unnamed_addr constant [12 x i8] c"heap_relief\00" @.str12636 = private unnamed_addr constant [30 x i8] c"call i64 @lp_os_heap_relief()\00" @.str12637 = private unnamed_addr constant [5 x i8] c"long\00" @.str12638 = private unnamed_addr constant [5 x i8] c"exit\00" @.str12639 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20797: index out of range: \00" @.str12640 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str12641 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12642 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str12643 = private unnamed_addr constant [2 x i8] c"0\00" @.str12644 = private unnamed_addr constant [5 x i8] c"void\00" @.str12645 = private unnamed_addr constant [4 x i8] c"env\00" @.str12646 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20804: index out of range: \00" @.str12647 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str12648 = private unnamed_addr constant [2 x i8] c")\00" @.str12649 = private unnamed_addr constant [7 x i8] c"string\00" @.str12650 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str12651 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20808: index out of range: \00" @.str12652 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str12653 = private unnamed_addr constant [2 x i8] c")\00" @.str12654 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str12655 = private unnamed_addr constant [7 x i8] c", null\00" @.str12656 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str12657 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str12658 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12659 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str12660 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str12661 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str12662 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20816: index out of range: \00" @.str12663 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str12664 = private unnamed_addr constant [2 x i8] c")\00" @.str12665 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str12666 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str12667 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12668 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12669 = private unnamed_addr constant [2 x i8] c"0\00" @.str12670 = private unnamed_addr constant [5 x i8] c"void\00" @.str12671 = private unnamed_addr constant [5 x i8] c"args\00" @.str12672 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str12673 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str12674 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str12675 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20826: index out of range: \00" @.str12676 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20826: index out of range: \00" @.str12677 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str12678 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12679 = private unnamed_addr constant [2 x i8] c")\00" @.str12680 = private unnamed_addr constant [7 x i8] c"string\00" @.str12681 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str12682 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20830: index out of range: \00" @.str12683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20830: index out of range: \00" @.str12684 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str12685 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12686 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str12687 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12688 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12689 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str12690 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str12691 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12692 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str12693 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20836: index out of range: \00" @.str12694 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str12695 = private unnamed_addr constant [2 x i8] c")\00" @.str12696 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12697 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12698 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str12699 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str12700 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12701 = private unnamed_addr constant [9 x i8] c"platform\00" @.str12702 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str12703 = private unnamed_addr constant [7 x i8] c"string\00" @.str12704 = private unnamed_addr constant [5 x i8] c"arch\00" @.str12705 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str12706 = private unnamed_addr constant [7 x i8] c"string\00" @.str12707 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str12708 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20844: index out of range: \00" @.str12709 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str12710 = private unnamed_addr constant [2 x i8] c")\00" @.str12711 = private unnamed_addr constant [7 x i8] c"string\00" @.str12712 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str12713 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20848: index out of range: \00" @.str12714 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str12715 = private unnamed_addr constant [2 x i8] c")\00" @.str12716 = private unnamed_addr constant [7 x i8] c"string\00" @.str12717 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str12718 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:20852: index out of range: \00" @.str12719 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str12720 = private unnamed_addr constant [2 x i8] c")\00" @.str12721 = private unnamed_addr constant [7 x i8] c"string\00" @.str12722 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str12723 = private unnamed_addr constant [7 x i8] c"string\00" @.str12724 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str12725 = private unnamed_addr constant [7 x i8] c"string\00" @.str12726 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str12727 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str12728 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str12729 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str12730 = private unnamed_addr constant [2 x i8] c".\00" @.str12731 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str12732 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str12733 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str12734 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str12735 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str12736 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str12737 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str12738 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str12739 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str12740 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str12741 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str12742 = private unnamed_addr constant [2 x i8] c"/\00" @.str12743 = private unnamed_addr constant [6 x i8] c"macos\00" @.str12744 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str12745 = private unnamed_addr constant [6 x i8] c"linux\00" @.str12746 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str12747 = 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" @.str12748 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str12749 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str12750 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str12751 = 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" @.str12752 = 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" @.str12753 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str12754 = 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" @.str12755 = 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" @.str12756 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str12757 = 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" @.str12758 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str12759 = private unnamed_addr constant [16 x i8] c"emit_os_prelude\00" @.str12760 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12761 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str12762 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str12763 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str12764 = 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" @.str12765 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str12766 = 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" @.str12767 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str12768 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str12769 = 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" @.str12770 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str12771 = 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" @.str12772 = 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" @.str12773 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str12774 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str12775 = 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" @.str12776 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str12777 = 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" @.str12778 = 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" @.str12779 = 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" @.str12780 = 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" @.str12781 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12782 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12783 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str12784 = 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" @.str12785 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12786 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12787 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str12788 = 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" @.str12789 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12790 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12791 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str12792 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str12793 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12794 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str12795 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str12796 = 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" @.str12797 = private unnamed_addr constant [36 x i8] c" %h = call ptr @lp_malloc(i64 16)\0A\00" @.str12798 = 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" @.str12799 = 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" @.str12800 = 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" @.str12801 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str12802 = private unnamed_addr constant [38 x i8] c"@L_os_uts = internal global ptr null\0A\00" @.str12803 = private unnamed_addr constant [27 x i8] c"define ptr @lp_os_uts() {\0A\00" @.str12804 = 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" @.str12805 = private unnamed_addr constant [20 x i8] c"done:\0A ret ptr %c\0A\00" @.str12806 = 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" @.str12807 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str12808 = private unnamed_addr constant [39 x i8] c"entry:\0A %buf = call ptr @lp_os_uts()\0A\00" @.str12809 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str12810 = 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" @.str12811 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str12812 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12813 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str12814 = 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" @.str12815 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str12816 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12817 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str12818 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str12819 = private unnamed_addr constant [39 x i8] c"entry:\0A %buf = call ptr @lp_os_uts()\0A\00" @.str12820 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str12821 = private unnamed_addr constant [42 x i8] c"define i64 @lp_os_heap_relief() {\0Aentry:\0A\00" @.str12822 = 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" @.str12823 = private unnamed_addr constant [66 x i8] c"declare ptr @GetProcessHeap()\0Adeclare i64 @HeapCompact(ptr, i32)\0A\00" @.str12824 = 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" @.str12825 = 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" @.str12826 = private unnamed_addr constant [21 x i8] c"none:\0A ret i64 0\0A}\0A\00" @.str12827 = private unnamed_addr constant [64 x i8] c"declare extern_weak i64 @malloc_zone_pressure_relief(ptr, i64)\0A\00" @.str12828 = private unnamed_addr constant [60 x i8] c"declare extern_weak void @malloc_zone_statistics(ptr, ptr)\0A\00" @.str12829 = private unnamed_addr constant [34 x i8] c"define i64 @lp_os_heap_bytes() {\0A\00" @.str12830 = 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" @.str12831 = private unnamed_addr constant [19 x i8] c"none:\0A ret i64 0\0A\00" @.str12832 = 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" @.str12833 = 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" @.str12834 = private unnamed_addr constant [4 x i8] c"len\00" @.str12835 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str12836 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str12837 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str12838 = private unnamed_addr constant [6 x i8] c"chars\00" @.str12839 = private unnamed_addr constant [6 x i8] c"upper\00" @.str12840 = private unnamed_addr constant [6 x i8] c"lower\00" @.str12841 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str12842 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str12843 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str12844 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21061: index out of range: \00" @.str12845 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str12846 = private unnamed_addr constant [16 x i8] c"emit_unicode_ns\00" @.str12847 = private unnamed_addr constant [2 x i8] c")\00" @.str12848 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str12849 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str12850 = private unnamed_addr constant [4 x i8] c"int\00" @.str12851 = private unnamed_addr constant [4 x i8] c"len\00" @.str12852 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21066: index out of range: \00" @.str12853 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str12854 = private unnamed_addr constant [2 x i8] c")\00" @.str12855 = private unnamed_addr constant [4 x i8] c"int\00" @.str12856 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str12857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21070: index out of range: \00" @.str12858 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str12859 = private unnamed_addr constant [2 x i8] c")\00" @.str12860 = private unnamed_addr constant [5 x i8] c"bool\00" @.str12861 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str12862 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21074: index out of range: \00" @.str12863 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21074: index out of range: \00" @.str12864 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str12865 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12866 = private unnamed_addr constant [2 x i8] c")\00" @.str12867 = private unnamed_addr constant [4 x i8] c"int\00" @.str12868 = private unnamed_addr constant [6 x i8] c"chars\00" @.str12869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21078: index out of range: \00" @.str12870 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str12871 = private unnamed_addr constant [2 x i8] c")\00" @.str12872 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str12873 = private unnamed_addr constant [6 x i8] c"upper\00" @.str12874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21082: index out of range: \00" @.str12875 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str12876 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str12877 = private unnamed_addr constant [7 x i8] c"string\00" @.str12878 = private unnamed_addr constant [6 x i8] c"lower\00" @.str12879 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21086: index out of range: \00" @.str12880 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str12881 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str12882 = private unnamed_addr constant [7 x i8] c"string\00" @.str12883 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str12884 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21090: index out of range: \00" @.str12885 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21090: index out of range: \00" @.str12886 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str12887 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12888 = private unnamed_addr constant [2 x i8] c")\00" @.str12889 = private unnamed_addr constant [7 x i8] c"string\00" @.str12890 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21094: index out of range: \00" @.str12891 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str12892 = private unnamed_addr constant [2 x i8] c")\00" @.str12893 = private unnamed_addr constant [4 x i8] c"int\00" @.str12894 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str12895 = 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" @.str12896 = 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" @.str12897 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str12898 = 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" @.str12899 = 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" @.str12900 = 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" @.str12901 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str12902 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str12903 = 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" @.str12904 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str12905 = 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" @.str12906 = 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" @.str12907 = 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" @.str12908 = 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" @.str12909 = 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" @.str12910 = 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" @.str12911 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str12912 = 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" @.str12913 = 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" @.str12914 = 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" @.str12915 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str12916 = 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" @.str12917 = 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" @.str12918 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str12919 = 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" @.str12920 = 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" @.str12921 = 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" @.str12922 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str12923 = 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" @.str12924 = 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" @.str12925 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str12926 = 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" @.str12927 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str12928 = 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" @.str12929 = 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" @.str12930 = 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" @.str12931 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str12932 = 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" @.str12933 = 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" @.str12934 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str12935 = 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" @.str12936 = 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" @.str12937 = 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" @.str12938 = 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" @.str12939 = 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" @.str12940 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str12941 = 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" @.str12942 = 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" @.str12943 = 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" @.str12944 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str12945 = 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" @.str12946 = 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" @.str12947 = 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" @.str12948 = 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" @.str12949 = 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" @.str12950 = 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" @.str12951 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str12952 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str12953 = 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" @.str12954 = 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" @.str12955 = 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" @.str12956 = 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" @.str12957 = 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" @.str12958 = 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" @.str12959 = 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" @.str12960 = 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" @.str12961 = 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" @.str12962 = 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" @.str12963 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str12964 = 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" @.str12965 = 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" @.str12966 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str12967 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str12968 = 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" @.str12969 = 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" @.str12970 = 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" @.str12971 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str12972 = 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" @.str12973 = 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" @.str12974 = 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" @.str12975 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str12976 = 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" @.str12977 = 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" @.str12978 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str12979 = 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" @.str12980 = 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" @.str12981 = 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" @.str12982 = 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" @.str12983 = 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" @.str12984 = 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" @.str12985 = 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" @.str12986 = 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" @.str12987 = 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" @.str12988 = 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" @.str12989 = 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" @.str12990 = 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" @.str12991 = 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" @.str12992 = 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" @.str12993 = 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" @.str12994 = 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" @.str12995 = 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" @.str12996 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str12997 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str12998 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str12999 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str13000 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str13001 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str13002 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str13003 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str13004 = 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" @.str13005 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str13006 = 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" @.str13007 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str13008 = 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" @.str13009 = 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" @.str13010 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str13011 = 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" @.str13012 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str13013 = 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" @.str13014 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str13015 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str13016 = 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" @.str13017 = 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" @.str13018 = 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" @.str13019 = 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" @.str13020 = 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" @.str13021 = 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" @.str13022 = 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" @.str13023 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str13024 = 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" @.str13025 = 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" @.str13026 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str13027 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str13028 = 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" @.str13029 = 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" @.str13030 = 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" @.str13031 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str13032 = 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" @.str13033 = 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" @.str13034 = 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" @.str13035 = 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" @.str13036 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str13037 = 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" @.str13038 = 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" @.str13039 = 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" @.str13040 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str13041 = 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" @.str13042 = 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" @.str13043 = 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" @.str13044 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str13045 = 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" @.str13046 = 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" @.str13047 = 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" @.str13048 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str13049 = 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" @.str13050 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str13051 = 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" @.str13052 = 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" @.str13053 = 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" @.str13054 = 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" @.str13055 = 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" @.str13056 = 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" @.str13057 = 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" @.str13058 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str13059 = 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" @.str13060 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str13061 = 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" @.str13062 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str13063 = private unnamed_addr constant [7 x i8] c"exists\00" @.str13064 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str13065 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str13066 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str13067 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str13068 = private unnamed_addr constant [7 x i8] c"remove\00" @.str13069 = private unnamed_addr constant [5 x i8] c"size\00" @.str13070 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str13071 = private unnamed_addr constant [5 x i8] c"copy\00" @.str13072 = private unnamed_addr constant [5 x i8] c"list\00" @.str13073 = private unnamed_addr constant [6 x i8] c"mount\00" @.str13074 = private unnamed_addr constant [8 x i8] c"unmount\00" @.str13075 = private unnamed_addr constant [5 x i8] c"join\00" @.str13076 = private unnamed_addr constant [4 x i8] c"dir\00" @.str13077 = private unnamed_addr constant [5 x i8] c"base\00" @.str13078 = private unnamed_addr constant [4 x i8] c"ext\00" @.str13079 = private unnamed_addr constant [5 x i8] c"stem\00" @.str13080 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str13081 = private unnamed_addr constant [3 x i8] c"of\00" @.str13082 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str13083 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21397: index out of range: \00" @.str13084 = private unnamed_addr constant [7 x i8] c"exists\00" @.str13085 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str13086 = private unnamed_addr constant [11 x i8] c"emit_fs_ns\00" @.str13087 = private unnamed_addr constant [2 x i8] c")\00" @.str13088 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13089 = private unnamed_addr constant [6 x i8] c"mount\00" @.str13090 = private unnamed_addr constant [28 x i8] c"call i32 @lp_pak_mount(ptr \00" @.str13091 = private unnamed_addr constant [2 x i8] c")\00" @.str13092 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13093 = private unnamed_addr constant [8 x i8] c"unmount\00" @.str13094 = private unnamed_addr constant [30 x i8] c"call i32 @lp_pak_unmount(ptr \00" @.str13095 = private unnamed_addr constant [2 x i8] c")\00" @.str13096 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13097 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str13098 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str13099 = private unnamed_addr constant [2 x i8] c")\00" @.str13100 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13101 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str13102 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str13103 = private unnamed_addr constant [2 x i8] c")\00" @.str13104 = private unnamed_addr constant [7 x i8] c"string\00" @.str13105 = private unnamed_addr constant [7 x i8] c"remove\00" @.str13106 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str13107 = private unnamed_addr constant [2 x i8] c")\00" @.str13108 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13109 = private unnamed_addr constant [5 x i8] c"size\00" @.str13110 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str13111 = private unnamed_addr constant [2 x i8] c")\00" @.str13112 = private unnamed_addr constant [4 x i8] c"int\00" @.str13113 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str13114 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str13115 = private unnamed_addr constant [2 x i8] c")\00" @.str13116 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13117 = private unnamed_addr constant [5 x i8] c"list\00" @.str13118 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str13119 = private unnamed_addr constant [2 x i8] c")\00" @.str13120 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str13121 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21408: index out of range: \00" @.str13122 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str13123 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str13124 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13125 = private unnamed_addr constant [2 x i8] c")\00" @.str13126 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13127 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str13128 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str13129 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13130 = private unnamed_addr constant [2 x i8] c")\00" @.str13131 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13132 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str13133 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13134 = private unnamed_addr constant [2 x i8] c")\00" @.str13135 = private unnamed_addr constant [5 x i8] c"bool\00" @.str13136 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21418: index out of range: \00" @.str13137 = private unnamed_addr constant [4 x i8] c"dir\00" @.str13138 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str13139 = private unnamed_addr constant [13 x i8] c"emit_path_ns\00" @.str13140 = private unnamed_addr constant [2 x i8] c")\00" @.str13141 = private unnamed_addr constant [7 x i8] c"string\00" @.str13142 = private unnamed_addr constant [5 x i8] c"base\00" @.str13143 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str13144 = private unnamed_addr constant [2 x i8] c")\00" @.str13145 = private unnamed_addr constant [7 x i8] c"string\00" @.str13146 = private unnamed_addr constant [4 x i8] c"ext\00" @.str13147 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str13148 = private unnamed_addr constant [2 x i8] c")\00" @.str13149 = private unnamed_addr constant [7 x i8] c"string\00" @.str13150 = private unnamed_addr constant [5 x i8] c"stem\00" @.str13151 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str13152 = private unnamed_addr constant [2 x i8] c")\00" @.str13153 = private unnamed_addr constant [7 x i8] c"string\00" @.str13154 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str13155 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str13156 = private unnamed_addr constant [2 x i8] c")\00" @.str13157 = private unnamed_addr constant [7 x i8] c"string\00" @.str13158 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21425: index out of range: \00" @.str13159 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str13160 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13161 = private unnamed_addr constant [2 x i8] c")\00" @.str13162 = private unnamed_addr constant [7 x i8] c"string\00" @.str13163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21431: index out of range: \00" @.str13164 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str13165 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str13166 = private unnamed_addr constant [13 x i8] c"emit_mime_ns\00" @.str13167 = private unnamed_addr constant [2 x i8] c")\00" @.str13168 = private unnamed_addr constant [7 x i8] c"string\00" @.str13169 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str13170 = private unnamed_addr constant [2 x i8] c")\00" @.str13171 = private unnamed_addr constant [7 x i8] c"string\00" @.str13172 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str13173 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str13174 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str13175 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str13176 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str13177 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str13178 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str13179 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str13180 = 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" @.str13181 = 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" @.str13182 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str13183 = 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" @.str13184 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str13185 = 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" @.str13186 = 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" @.str13187 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str13188 = 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" @.str13189 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str13190 = 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" @.str13191 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str13192 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str13193 = 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" @.str13194 = 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" @.str13195 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str13196 = 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" @.str13197 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str13198 = 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" @.str13199 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str13200 = 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" @.str13201 = 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" @.str13202 = 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" @.str13203 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str13204 = 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" @.str13205 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str13206 = 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" @.str13207 = 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" @.str13208 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str13209 = 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" @.str13210 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str13211 = 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" @.str13212 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str13213 = 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" @.str13214 = 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" @.str13215 = 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" @.str13216 = 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" @.str13217 = 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" @.str13218 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str13219 = 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" @.str13220 = 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" @.str13221 = 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" @.str13222 = 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" @.str13223 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str13224 = 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" @.str13225 = 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" @.str13226 = 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" @.str13227 = 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" @.str13228 = 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" @.str13229 = 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" @.str13230 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str13231 = 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" @.str13232 = 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" @.str13233 = 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" @.str13234 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str13235 = 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" @.str13236 = private unnamed_addr constant [41 x i8] c" %out = call ptr @lp_malloc(i64 %capz)\0A\00" @.str13237 = 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" @.str13238 = 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" @.str13239 = 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" @.str13240 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str13241 = 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" @.str13242 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str13243 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str13244 = 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" @.str13245 = 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" @.str13246 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str13247 = 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" @.str13248 = 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" @.str13249 = 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" @.str13250 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str13251 = 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" @.str13252 = 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" @.str13253 = 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" @.str13254 = 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" @.str13255 = 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" @.str13256 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str13257 = 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" @.str13258 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str13259 = 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" @.str13260 = 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" @.str13261 = 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" @.str13262 = 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" @.str13263 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str13264 = 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" @.str13265 = 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" @.str13266 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str13267 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str13268 = 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" @.str13269 = 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" @.str13270 = 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" @.str13271 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str13272 = 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" @.str13273 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str13274 = 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" @.str13275 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str13276 = 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" @.str13277 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str13278 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str13279 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str13280 = 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" @.str13281 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str13282 = 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" @.str13283 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str13284 = 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" @.str13285 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str13286 = 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" @.str13287 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str13288 = 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" @.str13289 = 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" @.str13290 = 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" @.str13291 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str13292 = 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" @.str13293 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str13294 = 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" @.str13295 = private unnamed_addr constant [49 x i8] c"bad:\0A call void @lp_free(ptr %tmp)\0A ret i32 0\0A\00" @.str13296 = 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" @.str13297 = 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" @.str13298 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str13299 = 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" @.str13300 = 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" @.str13301 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str13302 = 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" @.str13303 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str13304 = 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" @.str13305 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str13306 = 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" @.str13307 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str13308 = 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" @.str13309 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str13310 = 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" @.str13311 = 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" @.str13312 = 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" @.str13313 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str13314 = 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" @.str13315 = 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" @.str13316 = 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" @.str13317 = 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" @.str13318 = 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" @.str13319 = 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" @.str13320 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str13321 = 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" @.str13322 = 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" @.str13323 = 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" @.str13324 = 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" @.str13325 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str13326 = 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" @.str13327 = 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" @.str13328 = 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" @.str13329 = 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" @.str13330 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str13331 = 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" @.str13332 = 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" @.str13333 = 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" @.str13334 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str13335 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str13336 = 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" @.str13337 = 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" @.str13338 = 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" @.str13339 = 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" @.str13340 = 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" @.str13341 = 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" @.str13342 = 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" @.str13343 = 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" @.str13344 = private unnamed_addr constant [13 x i8] c"emit_fs_mime\00" @.str13345 = private unnamed_addr constant [4 x i8] c"png\00" @.str13346 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str13347 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str13348 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str13349 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str13350 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str13351 = private unnamed_addr constant [4 x i8] c"gif\00" @.str13352 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str13353 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str13354 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str13355 = private unnamed_addr constant [5 x i8] c"webp\00" @.str13356 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str13357 = private unnamed_addr constant [4 x i8] c"svg\00" @.str13358 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str13359 = private unnamed_addr constant [4 x i8] c"txt\00" @.str13360 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str13361 = private unnamed_addr constant [3 x i8] c"md\00" @.str13362 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str13363 = private unnamed_addr constant [4 x i8] c"csv\00" @.str13364 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str13365 = private unnamed_addr constant [5 x i8] c"html\00" @.str13366 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str13367 = private unnamed_addr constant [4 x i8] c"htm\00" @.str13368 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str13369 = private unnamed_addr constant [4 x i8] c"css\00" @.str13370 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str13371 = private unnamed_addr constant [3 x i8] c"js\00" @.str13372 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str13373 = private unnamed_addr constant [5 x i8] c"json\00" @.str13374 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str13375 = private unnamed_addr constant [4 x i8] c"xml\00" @.str13376 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str13377 = private unnamed_addr constant [4 x i8] c"zip\00" @.str13378 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str13379 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str13380 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str13381 = private unnamed_addr constant [4 x i8] c"wav\00" @.str13382 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str13383 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str13384 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str13385 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str13386 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str13387 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str13388 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str13389 = private unnamed_addr constant [4 x i8] c"otf\00" @.str13390 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str13391 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str13392 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str13393 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21738: index out of range: \00" @.str13394 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21738: index out of range: \00" @.str13395 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str13396 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str13397 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str13398 = private unnamed_addr constant [3 x i8] c", \00" @.str13399 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str13400 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21747: index out of range: \00" @.str13401 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13402 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:21747: index out of range: \00" @.str13403 = private unnamed_addr constant [3 x i8] c" }\00" @.str13404 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str13405 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str13406 = 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" @.str13407 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str13408 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str13409 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str13410 = 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" @.str13411 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str13412 = 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" @.str13413 = 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" @.str13414 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str13415 = 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" @.str13416 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str13417 = 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" @.str13418 = 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" @.str13419 = 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" @.str13420 = 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" @.str13421 = 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" @.str13422 = 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" @.str13423 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str13424 = 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" @.str13425 = 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" @.str13426 = 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" @.str13427 = 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" @.str13428 = 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" @.str13429 = 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" @.str13430 = 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" @.str13431 = 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" @.str13432 = 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" @.str13433 = 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" @.str13434 = 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" @.str13435 = private unnamed_addr constant [62 x i8] c"nomatch:\0A call void @lp_free(ptr %buf)\0A br label %fallback\0A\00" @.str13436 = 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" @.str13437 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str13438 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str13439 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str13440 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str13441 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str13442 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str13443 = 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" @.str13444 = 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" @.str13445 = 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" @.str13446 = 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" @.str13447 = 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" @.str13448 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str13449 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str13450 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str13451 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str13452 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str13453 = private unnamed_addr constant [31 x i8] c"declare i32 @munmap(ptr, i64)\0A\00" @.str13454 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str13455 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str13456 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str13457 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str13458 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str13459 = 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" @.str13460 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str13461 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str13462 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str13463 = private unnamed_addr constant [57 x i8] c"@L_pak_len = internal global [8 x i64] zeroinitializer\0A\00" @.str13464 = private unnamed_addr constant [57 x i8] c"@L_pak_path = internal global [8 x ptr] zeroinitializer\0A\00" @.str13465 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str13466 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str13467 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str13468 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str13469 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str13470 = private unnamed_addr constant [37 x i8] c"declare void @app_window_fixed(i32)\0A\00" @.str13471 = private unnamed_addr constant [34 x i8] c"declare i32 @win_monitor_count()\0A\00" @.str13472 = private unnamed_addr constant [42 x i8] c"declare void @app_window_to_monitor(i32)\0A\00" @.str13473 = private unnamed_addr constant [33 x i8] c"declare void @app_window_hide()\0A\00" @.str13474 = private unnamed_addr constant [33 x i8] c"declare void @app_window_show()\0A\00" @.str13475 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str13476 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str13477 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str13478 = 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" @.str13479 = 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" @.str13480 = 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" @.str13481 = 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" @.str13482 = 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" @.str13483 = 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" @.str13484 = 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" @.str13485 = 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" @.str13486 = 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" @.str13487 = 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" @.str13488 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str13489 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str13490 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_unmount(ptr %path) {\0A\00" @.str13491 = 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" @.str13492 = 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" @.str13493 = 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" @.str13494 = 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" @.str13495 = 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" @.str13496 = 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" @.str13497 = private unnamed_addr constant [45 x i8] c" %u = call i32 @UnmapViewOfFile(ptr %base)\0A\00" @.str13498 = private unnamed_addr constant [46 x i8] c" %u = call i32 @munmap(ptr %base, i64 %len)\0A\00" @.str13499 = 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" @.str13500 = 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" @.str13501 = 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" @.str13502 = 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" @.str13503 = 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" @.str13504 = private unnamed_addr constant [44 x i8] c" store i32 %j1, ptr %jp\0A br label %shift\0A\00" @.str13505 = 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" @.str13506 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str13507 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str13508 = 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" @.str13509 = 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" @.str13510 = 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" @.str13511 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str13512 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str13513 = 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" @.str13514 = 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" @.str13515 = 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" @.str13516 = 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" @.str13517 = 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" @.str13518 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str13519 = 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" @.str13520 = 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" @.str13521 = 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" @.str13522 = 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" @.str13523 = 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" @.str13524 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str13525 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str13526 = 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" @.str13527 = 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" @.str13528 = 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" @.str13529 = 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" @.str13530 = 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" @.str13531 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str13532 = 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" @.str13533 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str13534 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str13535 = 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" @.str13536 = 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" @.str13537 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str13538 = 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" @.str13539 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str13540 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str13541 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str13542 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str13543 = 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" @.str13544 = 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" @.str13545 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str13546 = 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" @.str13547 = 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" @.str13548 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str13549 = 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" @.str13550 = 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" @.str13551 = 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" @.str13552 = 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" @.str13553 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str13554 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str13555 = 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" @.str13556 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str13557 = 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" @.str13558 = 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" @.str13559 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str13560 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str13561 = 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" @.str13562 = 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" @.str13563 = 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" @.str13564 = 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" @.str13565 = 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" @.str13566 = 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" @.str13567 = 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" @.str13568 = 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" @.str13569 = 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" @.str13570 = 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" @.str13571 = 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" @.str13572 = 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" @.str13573 = 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" @.str13574 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str13575 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str13576 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str13577 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str13578 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str13579 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str13580 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str13581 = 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" @.str13582 = 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" @.str13583 = 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" @.str13584 = 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" @.str13585 = 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" @.str13586 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str13587 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str13588 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str13589 = 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" @.str13590 = 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" @.str13591 = 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" @.str13592 = 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" @.str13593 = 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" @.str13594 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str13595 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str13596 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str13597 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str13598 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str13599 = 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" @.str13600 = 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" @.str13601 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str13602 = 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" @.str13603 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str13604 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str13605 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str13606 = 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" @.str13607 = 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" @.str13608 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str13609 = 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" @.str13610 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str13611 = 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" @.str13612 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str13613 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str13614 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str13615 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str13616 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str13617 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str13618 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str13619 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str13620 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str13621 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str13622 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str13623 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str13624 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str13625 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str13626 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str13627 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str13628 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str13629 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str13630 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str13631 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str13632 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str13633 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str13634 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str13635 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str13636 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str13637 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str13638 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str13639 = private unnamed_addr constant [35 x i8] c"declare i32 @UnmapViewOfFile(ptr)\0A\00" @.str13640 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str13641 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str13642 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str13643 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str13644 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str13645 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str13646 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str13647 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str13648 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str13649 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str13650 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str13651 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str13652 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str13653 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str13654 = 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" @.str13655 = 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" @.str13656 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str13657 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str13658 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str13659 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str13660 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str13661 = 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" @.str13662 = 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" @.str13663 = 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" @.str13664 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str13665 = 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" @.str13666 = 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" @.str13667 = 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" @.str13668 = 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" @.str13669 = 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" @.str13670 = 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" @.str13671 = 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" @.str13672 = 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" @.str13673 = 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" @.str13674 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str13675 = 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" @.str13676 = 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" @.str13677 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str13678 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str13679 = 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" @.str13680 = 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" @.str13681 = 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" @.str13682 = 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" @.str13683 = 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" @.str13684 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str13685 = 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" @.str13686 = 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" @.str13687 = 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" @.str13688 = 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" @.str13689 = private unnamed_addr constant [49 x i8] c"no:\0A call void @lp_free(ptr %d)\0A ret ptr null\0A\00" @.str13690 = 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" @.str13691 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str13692 = 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" @.str13693 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str13694 = 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" @.str13695 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str13696 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str13697 = 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" @.str13698 = 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" @.str13699 = 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" @.str13700 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str13701 = 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" @.str13702 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str13703 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str13704 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str13705 = 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" @.str13706 = 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" @.str13707 = 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" @.str13708 = 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" @.str13709 = 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" @.str13710 = 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" @.str13711 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str13712 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str13713 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str13714 = 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" @.str13715 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str13716 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str13717 = 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" @.str13718 = 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" @.str13719 = 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" @.str13720 = 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" @.str13721 = 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" @.str13722 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str13723 = 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" @.str13724 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str13725 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str13726 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str13727 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str13728 = private unnamed_addr constant [1 x i8] c"\00" @.str13729 = private unnamed_addr constant [8 x i8] c"windows\00" @.str13730 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str13731 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str13732 = private unnamed_addr constant [18 x i8] c"emit_os_win_known\00" @.str13733 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13734 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str13735 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str13736 = 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" @.str13737 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str13738 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str13739 = 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" @.str13740 = 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" @.str13741 = 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" @.str13742 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str13743 = 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" @.str13744 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str13745 = 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" @.str13746 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str13747 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str13748 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13749 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str13750 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str13751 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str13752 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str13753 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str13754 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str13755 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str13756 = 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" @.str13757 = private unnamed_addr constant [36 x i8] c" %h = call ptr @lp_malloc(i64 16)\0A\00" @.str13758 = 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" @.str13759 = 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" @.str13760 = 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" @.str13761 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str13762 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str13763 = private unnamed_addr constant [15 x i8] c"list_elem_addr\00" @.str13764 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str13765 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13766 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13767 = private unnamed_addr constant [4 x i8] c"len\00" @.str13768 = private unnamed_addr constant [5 x i8] c"push\00" @.str13769 = private unnamed_addr constant [6 x i8] c"clear\00" @.str13770 = private unnamed_addr constant [7 x i8] c"sample\00" @.str13771 = private unnamed_addr constant [6 x i8] c"first\00" @.str13772 = private unnamed_addr constant [5 x i8] c"last\00" @.str13773 = private unnamed_addr constant [4 x i8] c"pop\00" @.str13774 = private unnamed_addr constant [5 x i8] c"swap\00" @.str13775 = private unnamed_addr constant [9 x i8] c"contains\00" @.str13776 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str13777 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str13778 = private unnamed_addr constant [7 x i8] c"insert\00" @.str13779 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str13780 = private unnamed_addr constant [7 x i8] c"remove\00" @.str13781 = private unnamed_addr constant [5 x i8] c"sort\00" @.str13782 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str13783 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str13784 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str13785 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13786 = private unnamed_addr constant [18 x i8] c"list_grow_if_full\00" @.str13787 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13788 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str13789 = private unnamed_addr constant [3 x i8] c", \00" @.str13790 = private unnamed_addr constant [3 x i8] c"ig\00" @.str13791 = private unnamed_addr constant [4 x i8] c"igd\00" @.str13792 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str13793 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13794 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13795 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13796 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13797 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13798 = private unnamed_addr constant [4 x i8] c", 2\00" @.str13799 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str13800 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13801 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13802 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str13803 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str13804 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13805 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13806 = private unnamed_addr constant [3 x i8] c", \00" @.str13807 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str13808 = private unnamed_addr constant [26 x i8] c"call ptr @lp_realloc(ptr \00" @.str13809 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str13810 = private unnamed_addr constant [2 x i8] c")\00" @.str13811 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str13812 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13813 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13814 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str13815 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13816 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13817 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13818 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13819 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13820 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str13821 = private unnamed_addr constant [7 x i8] c"gep_at\00" @.str13822 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13823 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13824 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str13825 = private unnamed_addr constant [15 x i8] c"emit_takeright\00" @.str13826 = private unnamed_addr constant [2 x i8] c" \00" @.str13827 = private unnamed_addr constant [3 x i8] c", \00" @.str13828 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str13829 = private unnamed_addr constant [2 x i8] c"(\00" @.str13830 = private unnamed_addr constant [2 x i8] c" \00" @.str13831 = private unnamed_addr constant [3 x i8] c", \00" @.str13832 = private unnamed_addr constant [2 x i8] c" \00" @.str13833 = private unnamed_addr constant [2 x i8] c")\00" @.str13834 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str13835 = private unnamed_addr constant [4 x i8] c", 0\00" @.str13836 = private unnamed_addr constant [6 x i8] c"call \00" @.str13837 = private unnamed_addr constant [2 x i8] c" \00" @.str13838 = private unnamed_addr constant [2 x i8] c"(\00" @.str13839 = private unnamed_addr constant [2 x i8] c" \00" @.str13840 = private unnamed_addr constant [2 x i8] c")\00" @.str13841 = private unnamed_addr constant [6 x i8] c"call \00" @.str13842 = private unnamed_addr constant [2 x i8] c" \00" @.str13843 = private unnamed_addr constant [2 x i8] c"(\00" @.str13844 = private unnamed_addr constant [2 x i8] c" \00" @.str13845 = private unnamed_addr constant [2 x i8] c")\00" @.str13846 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str13847 = private unnamed_addr constant [2 x i8] c" \00" @.str13848 = private unnamed_addr constant [3 x i8] c", \00" @.str13849 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str13850 = private unnamed_addr constant [2 x i8] c" \00" @.str13851 = private unnamed_addr constant [3 x i8] c", \00" @.str13852 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str13853 = private unnamed_addr constant [16 x i8] c"emit_merge_sort\00" @.str13854 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13855 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str13856 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str13857 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str13858 = private unnamed_addr constant [3 x i8] c", \00" @.str13859 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str13860 = private unnamed_addr constant [2 x i8] c")\00" @.str13861 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13862 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13863 = private unnamed_addr constant [2 x i8] c"1\00" @.str13864 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str13865 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str13866 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str13867 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13868 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13869 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13870 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13871 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13872 = private unnamed_addr constant [3 x i8] c", \00" @.str13873 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str13874 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13875 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13876 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13877 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13878 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str13879 = private unnamed_addr constant [4 x i8] c", 2\00" @.str13880 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13881 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13882 = private unnamed_addr constant [2 x i8] c"0\00" @.str13883 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str13884 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str13885 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str13886 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13887 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13888 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13889 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13890 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13891 = private unnamed_addr constant [3 x i8] c", \00" @.str13892 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str13893 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13894 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13895 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13896 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13897 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13898 = private unnamed_addr constant [3 x i8] c", \00" @.str13899 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13900 = private unnamed_addr constant [3 x i8] c", \00" @.str13901 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13902 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13903 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13904 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13905 = private unnamed_addr constant [3 x i8] c", \00" @.str13906 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13907 = private unnamed_addr constant [3 x i8] c", \00" @.str13908 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str13909 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13910 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str13911 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13912 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13913 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13914 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13915 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13916 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13917 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str13918 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str13919 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str13920 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13921 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13922 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13923 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13924 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13925 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13926 = private unnamed_addr constant [3 x i8] c", \00" @.str13927 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13928 = private unnamed_addr constant [3 x i8] c", \00" @.str13929 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str13930 = private unnamed_addr constant [3 x i8] c", \00" @.str13931 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str13932 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13933 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13934 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13935 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13936 = private unnamed_addr constant [6 x i8] c"load \00" @.str13937 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13938 = private unnamed_addr constant [6 x i8] c"load \00" @.str13939 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13940 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13941 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str13942 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str13943 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str13944 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str13945 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13946 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13947 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13948 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13949 = private unnamed_addr constant [9 x i8] c" store \00" @.str13950 = private unnamed_addr constant [2 x i8] c" \00" @.str13951 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13952 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13953 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13954 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13955 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13956 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13957 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13958 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13959 = private unnamed_addr constant [9 x i8] c" store \00" @.str13960 = private unnamed_addr constant [2 x i8] c" \00" @.str13961 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13962 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13963 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13964 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13965 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13966 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13968 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13969 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13970 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13971 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13972 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13973 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13974 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13975 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str13976 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str13977 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str13978 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str13979 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13980 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13981 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13982 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str13983 = private unnamed_addr constant [3 x i8] c", \00" @.str13984 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str13985 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13986 = private unnamed_addr constant [10 x i8] c", label %\00" @.str13987 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13988 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str13989 = private unnamed_addr constant [6 x i8] c"load \00" @.str13990 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13991 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str13992 = private unnamed_addr constant [9 x i8] c" store \00" @.str13993 = private unnamed_addr constant [2 x i8] c" \00" @.str13994 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str13995 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str13996 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str13997 = private unnamed_addr constant [4 x i8] c", 1\00" @.str13998 = private unnamed_addr constant [4 x i8] c"i32\00" @.str13999 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14000 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14001 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14002 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14003 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14004 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14005 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str14006 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str14007 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str14008 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14009 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14010 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14011 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14012 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14013 = private unnamed_addr constant [3 x i8] c", \00" @.str14014 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14015 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14016 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14017 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14018 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14019 = private unnamed_addr constant [6 x i8] c"load \00" @.str14020 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14021 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14022 = private unnamed_addr constant [9 x i8] c" store \00" @.str14023 = private unnamed_addr constant [2 x i8] c" \00" @.str14024 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14025 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14026 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14027 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14028 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14029 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14030 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14031 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14032 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14033 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14034 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14035 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14036 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14037 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str14038 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str14039 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str14040 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14041 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14042 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14043 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14044 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14045 = private unnamed_addr constant [3 x i8] c", \00" @.str14046 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14047 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14048 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14049 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14050 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14051 = private unnamed_addr constant [6 x i8] c"load \00" @.str14052 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14053 = private unnamed_addr constant [9 x i8] c" store \00" @.str14054 = private unnamed_addr constant [2 x i8] c" \00" @.str14055 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14056 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14057 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14058 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14059 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14060 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14061 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14062 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14063 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14064 = private unnamed_addr constant [3 x i8] c", \00" @.str14065 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14066 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14067 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14068 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14069 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14070 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14071 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14072 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14073 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str14074 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14075 = private unnamed_addr constant [6 x i8] c"List.\00" @.str14076 = private unnamed_addr constant [12 x i8] c"sort_fn_arg\00" @.str14077 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str14078 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22651: index out of range: \00" @.str14079 = private unnamed_addr constant [6 x i8] c"List.\00" @.str14080 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str14081 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22652: index out of range: \00" @.str14082 = private unnamed_addr constant [6 x i8] c"List.\00" @.str14083 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str14084 = private unnamed_addr constant [2 x i8] c"'\00" @.str14085 = private unnamed_addr constant [4 x i8] c"len\00" @.str14086 = private unnamed_addr constant [5 x i8] c"push\00" @.str14087 = private unnamed_addr constant [7 x i8] c"sample\00" @.str14088 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22661: index out of range: \00" @.str14089 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22662: index out of range: \00" @.str14090 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str14091 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str14092 = private unnamed_addr constant [10 x i8] c"call ptr \00" @.str14093 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str14094 = private unnamed_addr constant [13 x i8] c"emit_list_ns\00" @.str14095 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str14096 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14097 = private unnamed_addr constant [2 x i8] c")\00" @.str14098 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str14099 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22666: index out of range: \00" @.str14100 = private unnamed_addr constant [6 x i8] c"List.\00" @.str14101 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str14102 = private unnamed_addr constant [6 x i8] c"clear\00" @.str14103 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str14104 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14105 = private unnamed_addr constant [2 x i8] c"0\00" @.str14106 = private unnamed_addr constant [5 x i8] c"void\00" @.str14107 = private unnamed_addr constant [6 x i8] c"first\00" @.str14108 = private unnamed_addr constant [2 x i8] c"0\00" @.str14109 = private unnamed_addr constant [6 x i8] c"load \00" @.str14110 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14111 = private unnamed_addr constant [5 x i8] c"last\00" @.str14112 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14113 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14114 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14115 = private unnamed_addr constant [6 x i8] c"load \00" @.str14116 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14117 = private unnamed_addr constant [4 x i8] c"pop\00" @.str14118 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14119 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14120 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14121 = private unnamed_addr constant [6 x i8] c"load \00" @.str14122 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14123 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14124 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14125 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14126 = private unnamed_addr constant [5 x i8] c"swap\00" @.str14127 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22696: index out of range: \00" @.str14128 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22696: index out of range: \00" @.str14129 = private unnamed_addr constant [6 x i8] c"load \00" @.str14130 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14131 = private unnamed_addr constant [6 x i8] c"load \00" @.str14132 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14133 = private unnamed_addr constant [9 x i8] c" store \00" @.str14134 = private unnamed_addr constant [2 x i8] c" \00" @.str14135 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14136 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14137 = private unnamed_addr constant [9 x i8] c" store \00" @.str14138 = private unnamed_addr constant [2 x i8] c" \00" @.str14139 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14140 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14141 = private unnamed_addr constant [2 x i8] c"0\00" @.str14142 = private unnamed_addr constant [5 x i8] c"void\00" @.str14143 = private unnamed_addr constant [9 x i8] c"contains\00" @.str14144 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str14145 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22706: index out of range: \00" @.str14146 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14147 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14148 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14149 = private unnamed_addr constant [3 x i8] c"-1\00" @.str14150 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14151 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14152 = private unnamed_addr constant [2 x i8] c"0\00" @.str14153 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str14154 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str14155 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str14156 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str14157 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str14158 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14159 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14160 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14161 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14162 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14163 = private unnamed_addr constant [3 x i8] c", \00" @.str14164 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14165 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14166 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14167 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14168 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14169 = private unnamed_addr constant [6 x i8] c"load \00" @.str14170 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14171 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str14172 = private unnamed_addr constant [2 x i8] c" \00" @.str14173 = private unnamed_addr constant [3 x i8] c", \00" @.str14174 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14175 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14176 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14177 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14178 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14179 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14180 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14181 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14182 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14183 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14184 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14185 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14186 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14187 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14188 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14189 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14190 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str14191 = private unnamed_addr constant [4 x i8] c"int\00" @.str14192 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14193 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14194 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14195 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14196 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14197 = private unnamed_addr constant [7 x i8] c"insert\00" @.str14198 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22738: index out of range: \00" @.str14199 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22738: index out of range: \00" @.str14200 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14201 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14202 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14203 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str14204 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str14205 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str14206 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14207 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14208 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14209 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14210 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str14211 = private unnamed_addr constant [3 x i8] c", \00" @.str14212 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14213 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14214 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14215 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14216 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14217 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14218 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14219 = private unnamed_addr constant [6 x i8] c"load \00" @.str14220 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14221 = private unnamed_addr constant [9 x i8] c" store \00" @.str14222 = private unnamed_addr constant [2 x i8] c" \00" @.str14223 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14224 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14225 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14226 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14227 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14228 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14229 = private unnamed_addr constant [9 x i8] c" store \00" @.str14230 = private unnamed_addr constant [2 x i8] c" \00" @.str14231 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14232 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14233 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14234 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14235 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14236 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14237 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14238 = private unnamed_addr constant [2 x i8] c"0\00" @.str14239 = private unnamed_addr constant [5 x i8] c"void\00" @.str14240 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str14241 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22764: index out of range: \00" @.str14242 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14243 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14244 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14245 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14246 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14247 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str14248 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str14249 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str14250 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14251 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14252 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14253 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14254 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14255 = private unnamed_addr constant [3 x i8] c", \00" @.str14256 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14257 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14258 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14259 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14260 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14261 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14262 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14263 = private unnamed_addr constant [6 x i8] c"load \00" @.str14264 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14265 = private unnamed_addr constant [9 x i8] c" store \00" @.str14266 = private unnamed_addr constant [2 x i8] c" \00" @.str14267 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14268 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14269 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14270 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14271 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14272 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14273 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14274 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14275 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14276 = private unnamed_addr constant [2 x i8] c"0\00" @.str14277 = private unnamed_addr constant [5 x i8] c"void\00" @.str14278 = private unnamed_addr constant [7 x i8] c"remove\00" @.str14279 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:22787: index out of range: \00" @.str14280 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14281 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14282 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14283 = private unnamed_addr constant [3 x i8] c"-1\00" @.str14284 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14285 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14286 = private unnamed_addr constant [2 x i8] c"0\00" @.str14287 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str14288 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str14289 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str14290 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str14291 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str14292 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14293 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14294 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14295 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14296 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14297 = private unnamed_addr constant [3 x i8] c", \00" @.str14298 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14299 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14300 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14301 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14302 = private unnamed_addr constant [3 x i8] c", \00" @.str14303 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14304 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14305 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14306 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14307 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14308 = private unnamed_addr constant [6 x i8] c"load \00" @.str14309 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14310 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str14311 = private unnamed_addr constant [2 x i8] c" \00" @.str14312 = private unnamed_addr constant [3 x i8] c", \00" @.str14313 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14314 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14315 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14316 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14317 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14318 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14319 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14320 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14321 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14322 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14323 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14324 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14325 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14326 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14327 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14328 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14329 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14330 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14331 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str14332 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str14333 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14334 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14335 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14336 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14337 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14338 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14339 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14340 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14341 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14342 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str14343 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str14344 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str14345 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14346 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14347 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14348 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14349 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14350 = private unnamed_addr constant [3 x i8] c", \00" @.str14351 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14352 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14353 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14354 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14355 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14356 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14357 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14358 = private unnamed_addr constant [6 x i8] c"load \00" @.str14359 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14360 = private unnamed_addr constant [9 x i8] c" store \00" @.str14361 = private unnamed_addr constant [2 x i8] c" \00" @.str14362 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14363 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14364 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14365 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14366 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14367 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14368 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str14369 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14370 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14371 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14372 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14373 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14374 = private unnamed_addr constant [2 x i8] c"0\00" @.str14375 = private unnamed_addr constant [5 x i8] c"void\00" @.str14376 = private unnamed_addr constant [5 x i8] c"sort\00" @.str14377 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14378 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14379 = private unnamed_addr constant [5 x i8] c", 32\00" @.str14380 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str14381 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str14382 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str14383 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14384 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14385 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14386 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14387 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14388 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14389 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14390 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14391 = private unnamed_addr constant [2 x i8] c"1\00" @.str14392 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str14393 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str14394 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str14395 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14396 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14397 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14399 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14400 = private unnamed_addr constant [3 x i8] c", \00" @.str14401 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14402 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14403 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14404 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14405 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14406 = private unnamed_addr constant [6 x i8] c"load \00" @.str14407 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14408 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14409 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14410 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14411 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14412 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str14413 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str14414 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str14415 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14416 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14417 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14418 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14419 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14420 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14421 = private unnamed_addr constant [6 x i8] c"load \00" @.str14422 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14423 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str14424 = private unnamed_addr constant [2 x i8] c" \00" @.str14425 = private unnamed_addr constant [3 x i8] c", \00" @.str14426 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14427 = private unnamed_addr constant [3 x i8] c", \00" @.str14428 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14429 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14430 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14431 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14432 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14433 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14434 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14435 = private unnamed_addr constant [9 x i8] c" store \00" @.str14436 = private unnamed_addr constant [2 x i8] c" \00" @.str14437 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14438 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14439 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14440 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14441 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14442 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14443 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14444 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14445 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14446 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14447 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14448 = private unnamed_addr constant [9 x i8] c" store \00" @.str14449 = private unnamed_addr constant [2 x i8] c" \00" @.str14450 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14451 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14452 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14453 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14454 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14455 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14456 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14457 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14458 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14459 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14460 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14461 = private unnamed_addr constant [1 x i8] c"\00" @.str14462 = private unnamed_addr constant [1 x i8] c"\00" @.str14463 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14464 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14465 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14466 = private unnamed_addr constant [2 x i8] c"0\00" @.str14467 = private unnamed_addr constant [5 x i8] c"void\00" @.str14468 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str14469 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str14470 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str14471 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14472 = private unnamed_addr constant [2 x i8] c"0\00" @.str14473 = private unnamed_addr constant [5 x i8] c"void\00" @.str14474 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str14475 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str14476 = private unnamed_addr constant [6 x i8] c"List.\00" @.str14477 = private unnamed_addr constant [8 x i8] c": key '\00" @.str14478 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str14479 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str14480 = private unnamed_addr constant [5 x i8] c"void\00" @.str14481 = private unnamed_addr constant [6 x i8] c"List.\00" @.str14482 = private unnamed_addr constant [8 x i8] c": key '\00" @.str14483 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str14484 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str14485 = private unnamed_addr constant [2 x i8] c"0\00" @.str14486 = private unnamed_addr constant [5 x i8] c"void\00" @.str14487 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14488 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14489 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14490 = private unnamed_addr constant [2 x i8] c"0\00" @.str14491 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14492 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14493 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14494 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14495 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str14496 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str14497 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str14498 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14499 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14500 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14501 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14502 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str14503 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14504 = private unnamed_addr constant [3 x i8] c", \00" @.str14505 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str14506 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14507 = private unnamed_addr constant [10 x i8] c", label %\00" @.str14508 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14509 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14510 = private unnamed_addr constant [6 x i8] c"load \00" @.str14511 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14512 = private unnamed_addr constant [6 x i8] c"load \00" @.str14513 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14514 = private unnamed_addr constant [9 x i8] c" store \00" @.str14515 = private unnamed_addr constant [2 x i8] c" \00" @.str14516 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14517 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14518 = private unnamed_addr constant [9 x i8] c" store \00" @.str14519 = private unnamed_addr constant [2 x i8] c" \00" @.str14520 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14521 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14522 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14523 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14524 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14525 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14526 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14527 = private unnamed_addr constant [4 x i8] c"i32\00" @.str14528 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str14529 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str14530 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str14531 = private unnamed_addr constant [2 x i8] c"0\00" @.str14532 = private unnamed_addr constant [5 x i8] c"void\00" @.str14533 = private unnamed_addr constant [3 x i8] c"in\00" @.str14534 = private unnamed_addr constant [4 x i8] c"out\00" @.str14535 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str14536 = private unnamed_addr constant [5 x i8] c"back\00" @.str14537 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str14538 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str14539 = private unnamed_addr constant [7 x i8] c"495616\00" @.str14540 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14541 = private unnamed_addr constant [17 x i8] c"ease_bounce_code\00" @.str14542 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str14543 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14544 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str14545 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14546 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str14547 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14548 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str14549 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14550 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str14551 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14552 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str14553 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14554 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str14555 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14556 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14557 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14558 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14559 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str14560 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14561 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14562 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14563 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14564 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str14565 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14566 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14567 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14568 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str14569 = private unnamed_addr constant [10 x i8] c"ease_eval\00" @.str14570 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14571 = private unnamed_addr constant [4 x i8] c", 3\00" @.str14572 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14573 = private unnamed_addr constant [4 x i8] c", 2\00" @.str14574 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14575 = private unnamed_addr constant [3 x i8] c", \00" @.str14576 = private unnamed_addr constant [7 x i8] c"177051\00" @.str14577 = private unnamed_addr constant [7 x i8] c"111515\00" @.str14578 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14579 = private unnamed_addr constant [3 x i8] c", \00" @.str14580 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14581 = private unnamed_addr constant [5 x i8] c", 10\00" @.str14582 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str14583 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str14584 = private unnamed_addr constant [2 x i8] c")\00" @.str14585 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14586 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str14587 = private unnamed_addr constant [7 x i8] c"137258\00" @.str14588 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str14589 = private unnamed_addr constant [2 x i8] c")\00" @.str14590 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14591 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str14592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23022: index out of range: \00" @.str14593 = private unnamed_addr constant [3 x i8] c"in\00" @.str14594 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14595 = private unnamed_addr constant [4 x i8] c"out\00" @.str14596 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14597 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str14598 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14599 = private unnamed_addr constant [5 x i8] c"back\00" @.str14600 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14601 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str14602 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14603 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14604 = private unnamed_addr constant [6 x i8] c"frame\00" @.str14605 = private unnamed_addr constant [5 x i8] c"once\00" @.str14606 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str14607 = private unnamed_addr constant [9 x i8] c"finished\00" @.str14608 = private unnamed_addr constant [9 x i8] c"duration\00" @.str14609 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str14610 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str14611 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14612 = private unnamed_addr constant [13 x i8] c"anim_elapsed\00" @.str14613 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14614 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14615 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14616 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14617 = private unnamed_addr constant [3 x i8] c", \00" @.str14618 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str14619 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14620 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str14621 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14622 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14623 = private unnamed_addr constant [14 x i8] c"anim_atleast1\00" @.str14624 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14625 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14626 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str14627 = private unnamed_addr constant [6 x i8] c"frame\00" @.str14628 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23071: index out of range: \00" @.str14629 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23071: index out of range: \00" @.str14630 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23071: index out of range: \00" @.str14631 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str14632 = private unnamed_addr constant [13 x i8] c"emit_anim_ns\00" @.str14633 = private unnamed_addr constant [3 x i8] c", \00" @.str14634 = private unnamed_addr constant [4 x i8] c"int\00" @.str14635 = private unnamed_addr constant [5 x i8] c"once\00" @.str14636 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23077: index out of range: \00" @.str14637 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23077: index out of range: \00" @.str14638 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23077: index out of range: \00" @.str14639 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14640 = private unnamed_addr constant [4 x i8] c", 1\00" @.str14641 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14642 = private unnamed_addr constant [3 x i8] c", \00" @.str14643 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14644 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14645 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14646 = private unnamed_addr constant [4 x i8] c"int\00" @.str14647 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str14648 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23084: index out of range: \00" @.str14649 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23084: index out of range: \00" @.str14650 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23084: index out of range: \00" @.str14651 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14652 = private unnamed_addr constant [4 x i8] c", 2\00" @.str14653 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14654 = private unnamed_addr constant [4 x i8] c", 2\00" @.str14655 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str14656 = private unnamed_addr constant [3 x i8] c", \00" @.str14657 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14658 = private unnamed_addr constant [3 x i8] c", \00" @.str14659 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14660 = private unnamed_addr constant [3 x i8] c", \00" @.str14661 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14662 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14663 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14664 = private unnamed_addr constant [4 x i8] c"int\00" @.str14665 = private unnamed_addr constant [9 x i8] c"finished\00" @.str14666 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23095: index out of range: \00" @.str14667 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23095: index out of range: \00" @.str14668 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23095: index out of range: \00" @.str14669 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14670 = private unnamed_addr constant [3 x i8] c", \00" @.str14671 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14672 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14673 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14674 = private unnamed_addr constant [9 x i8] c"duration\00" @.str14675 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23101: index out of range: \00" @.str14676 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23101: index out of range: \00" @.str14677 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str14678 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14679 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str14680 = private unnamed_addr constant [3 x i8] c", \00" @.str14681 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14682 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str14683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23107: index out of range: \00" @.str14684 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23107: index out of range: \00" @.str14685 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23107: index out of range: \00" @.str14686 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str14687 = private unnamed_addr constant [3 x i8] c", \00" @.str14688 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14689 = private unnamed_addr constant [3 x i8] c", \00" @.str14690 = private unnamed_addr constant [4 x i8] c"int\00" @.str14691 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23113: index out of range: \00" @.str14692 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23113: index out of range: \00" @.str14693 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23113: index out of range: \00" @.str14694 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str14695 = private unnamed_addr constant [3 x i8] c", \00" @.str14696 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14697 = private unnamed_addr constant [3 x i8] c", \00" @.str14698 = private unnamed_addr constant [4 x i8] c"int\00" @.str14699 = private unnamed_addr constant [9 x i8] c"progress\00" @.str14700 = private unnamed_addr constant [5 x i8] c"loop\00" @.str14701 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str14702 = private unnamed_addr constant [5 x i8] c"done\00" @.str14703 = private unnamed_addr constant [5 x i8] c"ease\00" @.str14704 = private unnamed_addr constant [7 x i8] c"number\00" @.str14705 = private unnamed_addr constant [6 x i8] c"round\00" @.str14706 = private unnamed_addr constant [6 x i8] c"point\00" @.str14707 = private unnamed_addr constant [5 x i8] c"tint\00" @.str14708 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str14709 = private unnamed_addr constant [10 x i8] c"tween_den\00" @.str14710 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14711 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14712 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14713 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str14714 = private unnamed_addr constant [9 x i8] c"progress\00" @.str14715 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23140: index out of range: \00" @.str14716 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23140: index out of range: \00" @.str14717 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str14718 = private unnamed_addr constant [14 x i8] c"emit_tween_ns\00" @.str14719 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14720 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14721 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14722 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str14723 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14724 = private unnamed_addr constant [4 x i8] c", 0\00" @.str14725 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14726 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str14727 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str14728 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str14729 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14730 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str14731 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14732 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14733 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str14734 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14735 = private unnamed_addr constant [5 x i8] c"loop\00" @.str14736 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23151: index out of range: \00" @.str14737 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23151: index out of range: \00" @.str14738 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str14739 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str14740 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14741 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str14742 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23157: index out of range: \00" @.str14743 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23157: index out of range: \00" @.str14744 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str14745 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str14746 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str14747 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str14748 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str14749 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14750 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14751 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14752 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14753 = private unnamed_addr constant [5 x i8] c"done\00" @.str14754 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23169: index out of range: \00" @.str14755 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str14756 = private unnamed_addr constant [11 x i8] c"tween_done\00" @.str14757 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str14758 = private unnamed_addr constant [2 x i8] c")\00" @.str14759 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14760 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23172: index out of range: \00" @.str14761 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23172: index out of range: \00" @.str14762 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14763 = private unnamed_addr constant [3 x i8] c", \00" @.str14764 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14765 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14766 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14767 = private unnamed_addr constant [5 x i8] c"ease\00" @.str14768 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23177: index out of range: \00" @.str14769 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23178: index out of range: \00" @.str14770 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str14771 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14772 = private unnamed_addr constant [7 x i8] c"number\00" @.str14773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23183: index out of range: \00" @.str14774 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23183: index out of range: \00" @.str14775 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23183: index out of range: \00" @.str14776 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str14777 = private unnamed_addr constant [6 x i8] c"round\00" @.str14778 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23187: index out of range: \00" @.str14779 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23187: index out of range: \00" @.str14780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23187: index out of range: \00" @.str14781 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14782 = private unnamed_addr constant [3 x i8] c", \00" @.str14783 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14784 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14785 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14786 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14787 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14788 = private unnamed_addr constant [3 x i8] c", \00" @.str14789 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str14790 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str14791 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str14792 = private unnamed_addr constant [5 x i8] c", 16\00" @.str14793 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str14794 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14795 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14796 = private unnamed_addr constant [3 x i8] c", \00" @.str14797 = private unnamed_addr constant [4 x i8] c"int\00" @.str14798 = private unnamed_addr constant [6 x i8] c"point\00" @.str14799 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23198: index out of range: \00" @.str14800 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23198: index out of range: \00" @.str14801 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23198: index out of range: \00" @.str14802 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str14803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23205: index out of range: \00" @.str14804 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23205: index out of range: \00" @.str14805 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23205: index out of range: \00" @.str14806 = private unnamed_addr constant [3 x i8] c"16\00" @.str14807 = private unnamed_addr constant [3 x i8] c"16\00" @.str14808 = private unnamed_addr constant [2 x i8] c"8\00" @.str14809 = private unnamed_addr constant [2 x i8] c"8\00" @.str14810 = private unnamed_addr constant [2 x i8] c"0\00" @.str14811 = private unnamed_addr constant [2 x i8] c"0\00" @.str14812 = private unnamed_addr constant [4 x i8] c"int\00" @.str14813 = private unnamed_addr constant [6 x i8] c"rects\00" @.str14814 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str14815 = private unnamed_addr constant [8 x i8] c"circles\00" @.str14816 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str14817 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14818 = private unnamed_addr constant [12 x i8] c"coll_sq_sum\00" @.str14819 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14820 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14821 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14822 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14823 = private unnamed_addr constant [3 x i8] c", \00" @.str14824 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14825 = private unnamed_addr constant [3 x i8] c", \00" @.str14826 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str14827 = private unnamed_addr constant [3 x i8] c", \00" @.str14828 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14829 = private unnamed_addr constant [11 x i8] c"coll_clamp\00" @.str14830 = private unnamed_addr constant [3 x i8] c", \00" @.str14831 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14832 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14833 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14834 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str14835 = private unnamed_addr constant [3 x i8] c", \00" @.str14836 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str14837 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14838 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14839 = private unnamed_addr constant [6 x i8] c"rects\00" @.str14840 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23242: index out of range: \00" @.str14841 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23242: index out of range: \00" @.str14842 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23242: index out of range: \00" @.str14843 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23242: index out of range: \00" @.str14844 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23243: index out of range: \00" @.str14845 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23243: index out of range: \00" @.str14846 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23243: index out of range: \00" @.str14847 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23243: index out of range: \00" @.str14848 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14849 = private unnamed_addr constant [16 x i8] c"emit_collide_ns\00" @.str14850 = private unnamed_addr constant [3 x i8] c", \00" @.str14851 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14852 = private unnamed_addr constant [3 x i8] c", \00" @.str14853 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14854 = private unnamed_addr constant [3 x i8] c", \00" @.str14855 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14856 = private unnamed_addr constant [3 x i8] c", \00" @.str14857 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14858 = private unnamed_addr constant [3 x i8] c", \00" @.str14859 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14860 = private unnamed_addr constant [3 x i8] c", \00" @.str14861 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14862 = private unnamed_addr constant [3 x i8] c", \00" @.str14863 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14864 = private unnamed_addr constant [3 x i8] c", \00" @.str14865 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14866 = private unnamed_addr constant [3 x i8] c", \00" @.str14867 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14868 = private unnamed_addr constant [3 x i8] c", \00" @.str14869 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14870 = private unnamed_addr constant [3 x i8] c", \00" @.str14871 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14872 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14873 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14874 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str14875 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23258: index out of range: \00" @.str14876 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23258: index out of range: \00" @.str14877 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23259: index out of range: \00" @.str14878 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23259: index out of range: \00" @.str14879 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23259: index out of range: \00" @.str14880 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23259: index out of range: \00" @.str14881 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14882 = private unnamed_addr constant [3 x i8] c", \00" @.str14883 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14884 = private unnamed_addr constant [3 x i8] c", \00" @.str14885 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14886 = private unnamed_addr constant [3 x i8] c", \00" @.str14887 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14888 = private unnamed_addr constant [3 x i8] c", \00" @.str14889 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str14890 = private unnamed_addr constant [3 x i8] c", \00" @.str14891 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str14892 = private unnamed_addr constant [3 x i8] c", \00" @.str14893 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14894 = private unnamed_addr constant [3 x i8] c", \00" @.str14895 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14896 = private unnamed_addr constant [3 x i8] c", \00" @.str14897 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str14898 = private unnamed_addr constant [3 x i8] c", \00" @.str14899 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14900 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14901 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14902 = private unnamed_addr constant [8 x i8] c"circles\00" @.str14903 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23272: index out of range: \00" @.str14904 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23272: index out of range: \00" @.str14905 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23272: index out of range: \00" @.str14906 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23273: index out of range: \00" @.str14907 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23273: index out of range: \00" @.str14908 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23273: index out of range: \00" @.str14909 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14910 = private unnamed_addr constant [3 x i8] c", \00" @.str14911 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14912 = private unnamed_addr constant [3 x i8] c", \00" @.str14913 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14914 = private unnamed_addr constant [3 x i8] c", \00" @.str14915 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14916 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14917 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14918 = private unnamed_addr constant [3 x i8] c", \00" @.str14919 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str14920 = private unnamed_addr constant [3 x i8] c", \00" @.str14921 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14922 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14923 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14924 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23284: index out of range: \00" @.str14925 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23284: index out of range: \00" @.str14926 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23284: index out of range: \00" @.str14927 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23284: index out of range: \00" @.str14928 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23285: index out of range: \00" @.str14929 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23285: index out of range: \00" @.str14930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23285: index out of range: \00" @.str14931 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14932 = private unnamed_addr constant [3 x i8] c", \00" @.str14933 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str14934 = private unnamed_addr constant [3 x i8] c", \00" @.str14935 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14936 = private unnamed_addr constant [3 x i8] c", \00" @.str14937 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str14938 = private unnamed_addr constant [3 x i8] c", \00" @.str14939 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str14940 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14941 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str14942 = private unnamed_addr constant [3 x i8] c", \00" @.str14943 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str14944 = private unnamed_addr constant [3 x i8] c", \00" @.str14945 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str14946 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str14947 = private unnamed_addr constant [5 x i8] c"bool\00" @.str14948 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str14949 = private unnamed_addr constant [6 x i8] c"words\00" @.str14950 = private unnamed_addr constant [5 x i8] c"copy\00" @.str14951 = private unnamed_addr constant [5 x i8] c"fill\00" @.str14952 = private unnamed_addr constant [5 x i8] c"peek\00" @.str14953 = private unnamed_addr constant [5 x i8] c"poke\00" @.str14954 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str14955 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23312: index out of range: \00" @.str14956 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str14957 = private unnamed_addr constant [12 x i8] c"emit_mem_ns\00" @.str14958 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14959 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str14960 = private unnamed_addr constant [2 x i8] c")\00" @.str14961 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str14962 = private unnamed_addr constant [6 x i8] c"words\00" @.str14963 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23317: index out of range: \00" @.str14964 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str14965 = private unnamed_addr constant [4 x i8] c", 4\00" @.str14966 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str14967 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14968 = private unnamed_addr constant [4 x i8] c"int\00" @.str14969 = private unnamed_addr constant [5 x i8] c"copy\00" @.str14970 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23323: index out of range: \00" @.str14971 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23323: index out of range: \00" @.str14972 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23323: index out of range: \00" @.str14973 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str14974 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14975 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str14976 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str14977 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str14978 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14979 = private unnamed_addr constant [2 x i8] c"0\00" @.str14980 = private unnamed_addr constant [5 x i8] c"void\00" @.str14981 = private unnamed_addr constant [5 x i8] c"fill\00" @.str14982 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23329: index out of range: \00" @.str14983 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23329: index out of range: \00" @.str14984 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23329: index out of range: \00" @.str14985 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str14986 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str14987 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str14988 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14989 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str14990 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str14991 = private unnamed_addr constant [2 x i8] c"0\00" @.str14992 = private unnamed_addr constant [5 x i8] c"void\00" @.str14993 = private unnamed_addr constant [5 x i8] c"peek\00" @.str14994 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23335: index out of range: \00" @.str14995 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23335: index out of range: \00" @.str14996 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str14997 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str14998 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str14999 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str15000 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15001 = private unnamed_addr constant [4 x i8] c"int\00" @.str15002 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23341: index out of range: \00" @.str15003 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23341: index out of range: \00" @.str15004 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23341: index out of range: \00" @.str15005 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str15006 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15007 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str15008 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str15009 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str15010 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15011 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15012 = private unnamed_addr constant [2 x i8] c"0\00" @.str15013 = private unnamed_addr constant [5 x i8] c"void\00" @.str15014 = private unnamed_addr constant [6 x i8] c"frame\00" @.str15015 = private unnamed_addr constant [6 x i8] c"delta\00" @.str15016 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str15017 = private unnamed_addr constant [4 x i8] c"now\00" @.str15018 = private unnamed_addr constant [6 x i8] c"since\00" @.str15019 = private unnamed_addr constant [6 x i8] c"frame\00" @.str15020 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str15021 = private unnamed_addr constant [4 x i8] c"int\00" @.str15022 = private unnamed_addr constant [6 x i8] c"delta\00" @.str15023 = private unnamed_addr constant [5 x i8] c"1092\00" @.str15024 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15025 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str15026 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str15027 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15028 = private unnamed_addr constant [13 x i8] c"emit_time_ns\00" @.str15029 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str15030 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str15031 = private unnamed_addr constant [6 x i8] c"since\00" @.str15032 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23371: index out of range: \00" @.str15033 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str15034 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str15035 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15036 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15037 = private unnamed_addr constant [3 x i8] c", \00" @.str15038 = private unnamed_addr constant [4 x i8] c"int\00" @.str15039 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str15040 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str15041 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15042 = private unnamed_addr constant [4 x i8] c"int\00" @.str15043 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str15044 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str15045 = private unnamed_addr constant [6 x i8] c"hours\00" @.str15046 = private unnamed_addr constant [5 x i8] c"days\00" @.str15047 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str15048 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str15049 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str15050 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str15051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23406: index out of range: \00" @.str15052 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str15053 = private unnamed_addr constant [4 x i8] c"int\00" @.str15054 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str15055 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15056 = private unnamed_addr constant [17 x i8] c"emit_duration_ns\00" @.str15057 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15058 = private unnamed_addr constant [4 x i8] c"int\00" @.str15059 = private unnamed_addr constant [6 x i8] c"hours\00" @.str15060 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15061 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15062 = private unnamed_addr constant [4 x i8] c"int\00" @.str15063 = private unnamed_addr constant [5 x i8] c"days\00" @.str15064 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15065 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15066 = private unnamed_addr constant [4 x i8] c"int\00" @.str15067 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str15068 = private unnamed_addr constant [4 x i8] c"int\00" @.str15069 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str15070 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15071 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15072 = private unnamed_addr constant [4 x i8] c"int\00" @.str15073 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str15074 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15075 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15076 = private unnamed_addr constant [4 x i8] c"int\00" @.str15077 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15078 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15079 = private unnamed_addr constant [4 x i8] c"int\00" @.str15080 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15081 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15082 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15083 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str15084 = private unnamed_addr constant [15 x i8] c"date_component\00" @.str15085 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15086 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15087 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15088 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15089 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15090 = private unnamed_addr constant [4 x i8] c"new\00" @.str15091 = private unnamed_addr constant [5 x i8] c"year\00" @.str15092 = private unnamed_addr constant [6 x i8] c"month\00" @.str15093 = private unnamed_addr constant [4 x i8] c"day\00" @.str15094 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str15095 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str15096 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str15097 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str15098 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str15099 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str15100 = private unnamed_addr constant [4 x i8] c"new\00" @.str15101 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23443: index out of range: \00" @.str15102 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23443: index out of range: \00" @.str15103 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23443: index out of range: \00" @.str15104 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str15105 = private unnamed_addr constant [13 x i8] c"emit_date_ns\00" @.str15106 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15107 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15108 = private unnamed_addr constant [2 x i8] c")\00" @.str15109 = private unnamed_addr constant [4 x i8] c"int\00" @.str15110 = private unnamed_addr constant [5 x i8] c"year\00" @.str15111 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23446: index out of range: \00" @.str15112 = private unnamed_addr constant [4 x i8] c"int\00" @.str15113 = private unnamed_addr constant [6 x i8] c"month\00" @.str15114 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23447: index out of range: \00" @.str15115 = private unnamed_addr constant [4 x i8] c"int\00" @.str15116 = private unnamed_addr constant [4 x i8] c"day\00" @.str15117 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23448: index out of range: \00" @.str15118 = private unnamed_addr constant [4 x i8] c"int\00" @.str15119 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str15120 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23450: index out of range: \00" @.str15121 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15122 = private unnamed_addr constant [4 x i8] c", 4\00" @.str15123 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15124 = private unnamed_addr constant [4 x i8] c", 7\00" @.str15125 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15126 = private unnamed_addr constant [4 x i8] c", 7\00" @.str15127 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15128 = private unnamed_addr constant [4 x i8] c", 7\00" @.str15129 = private unnamed_addr constant [4 x i8] c"int\00" @.str15130 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str15131 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23457: index out of range: \00" @.str15132 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15133 = private unnamed_addr constant [4 x i8] c", 4\00" @.str15134 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15135 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15136 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15137 = private unnamed_addr constant [6 x i8] c", 100\00" @.str15138 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15139 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15140 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15141 = private unnamed_addr constant [6 x i8] c", 400\00" @.str15142 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15143 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15144 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str15145 = private unnamed_addr constant [3 x i8] c", \00" @.str15146 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str15147 = private unnamed_addr constant [3 x i8] c", \00" @.str15148 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str15149 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str15150 = private unnamed_addr constant [5 x i8] c"bool\00" @.str15151 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str15152 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23467: index out of range: \00" @.str15153 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23467: index out of range: \00" @.str15154 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str15155 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15156 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str15157 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str15158 = private unnamed_addr constant [5 x i8] c", 12\00" @.str15159 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15160 = private unnamed_addr constant [4 x i8] c", 1\00" @.str15161 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str15162 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15163 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15164 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15165 = private unnamed_addr constant [4 x i8] c", 1\00" @.str15166 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str15167 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str15168 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str15169 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15170 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str15171 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15172 = private unnamed_addr constant [3 x i8] c", \00" @.str15173 = private unnamed_addr constant [4 x i8] c"int\00" @.str15174 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str15175 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23478: index out of range: \00" @.str15176 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15177 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15178 = private unnamed_addr constant [4 x i8] c"int\00" @.str15179 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str15180 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23482: index out of range: \00" @.str15181 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23482: index out of range: \00" @.str15182 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15183 = private unnamed_addr constant [3 x i8] c", \00" @.str15184 = private unnamed_addr constant [4 x i8] c"int\00" @.str15185 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23486: index out of range: \00" @.str15186 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23486: index out of range: \00" @.str15187 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15188 = private unnamed_addr constant [3 x i8] c", \00" @.str15189 = private unnamed_addr constant [4 x i8] c"int\00" @.str15190 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15191 = private unnamed_addr constant [12 x i8] c"dt_secofday\00" @.str15192 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15193 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15194 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15195 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15196 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15197 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15198 = private unnamed_addr constant [12 x i8] c"dt_epochday\00" @.str15199 = private unnamed_addr constant [3 x i8] c", \00" @.str15200 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15201 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15202 = private unnamed_addr constant [5 x i8] c"from\00" @.str15203 = private unnamed_addr constant [5 x i8] c"date\00" @.str15204 = private unnamed_addr constant [4 x i8] c"add\00" @.str15205 = private unnamed_addr constant [5 x i8] c"year\00" @.str15206 = private unnamed_addr constant [6 x i8] c"month\00" @.str15207 = private unnamed_addr constant [4 x i8] c"day\00" @.str15208 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str15209 = private unnamed_addr constant [5 x i8] c"hour\00" @.str15210 = private unnamed_addr constant [7 x i8] c"minute\00" @.str15211 = private unnamed_addr constant [7 x i8] c"second\00" @.str15212 = private unnamed_addr constant [7 x i8] c"format\00" @.str15213 = private unnamed_addr constant [6 x i8] c"parse\00" @.str15214 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23530: index out of range: \00" @.str15215 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str15216 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23531: index out of range: \00" @.str15217 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23532: index out of range: \00" @.str15218 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15219 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15220 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15221 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str15222 = private unnamed_addr constant [21 x i8] c"emit_datetime_format\00" @.str15223 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15224 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15225 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15226 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str15227 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15228 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15229 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15230 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15231 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15232 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15233 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15234 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15235 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15236 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15237 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15238 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15239 = private unnamed_addr constant [6 x i8] c", 100\00" @.str15240 = private unnamed_addr constant [1 x i8] c"\00" @.str15241 = private unnamed_addr constant [7 x i8] c"string\00" @.str15242 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str15243 = private unnamed_addr constant [3 x i8] c"YY\00" @.str15244 = private unnamed_addr constant [3 x i8] c"MM\00" @.str15245 = private unnamed_addr constant [3 x i8] c"DD\00" @.str15246 = private unnamed_addr constant [3 x i8] c"HH\00" @.str15247 = private unnamed_addr constant [3 x i8] c"mm\00" @.str15248 = private unnamed_addr constant [3 x i8] c"ss\00" @.str15249 = private unnamed_addr constant [2 x i8] c"+\00" @.str15250 = private unnamed_addr constant [7 x i8] c"string\00" @.str15251 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str15252 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15253 = private unnamed_addr constant [2 x i8] c")\00" @.str15254 = private unnamed_addr constant [7 x i8] c"string\00" @.str15255 = private unnamed_addr constant [2 x i8] c"+\00" @.str15256 = private unnamed_addr constant [2 x i8] c"+\00" @.str15257 = private unnamed_addr constant [7 x i8] c"string\00" @.str15258 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23582: index out of range: \00" @.str15259 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str15260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23583: index out of range: \00" @.str15261 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23584: index out of range: \00" @.str15262 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15263 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15264 = private unnamed_addr constant [2 x i8] c"0\00" @.str15265 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15266 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15267 = private unnamed_addr constant [5 x i8] c"1970\00" @.str15268 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15269 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15270 = private unnamed_addr constant [2 x i8] c"1\00" @.str15271 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15272 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15273 = private unnamed_addr constant [2 x i8] c"1\00" @.str15274 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15275 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15276 = private unnamed_addr constant [2 x i8] c"0\00" @.str15277 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15278 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15279 = private unnamed_addr constant [2 x i8] c"0\00" @.str15280 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15281 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15282 = private unnamed_addr constant [2 x i8] c"0\00" @.str15283 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str15284 = private unnamed_addr constant [3 x i8] c"MM\00" @.str15285 = private unnamed_addr constant [3 x i8] c"DD\00" @.str15286 = private unnamed_addr constant [3 x i8] c"HH\00" @.str15287 = private unnamed_addr constant [3 x i8] c"mm\00" @.str15288 = private unnamed_addr constant [3 x i8] c"ss\00" @.str15289 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str15290 = private unnamed_addr constant [20 x i8] c"emit_datetime_parse\00" @.str15291 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15292 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15293 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15294 = private unnamed_addr constant [2 x i8] c")\00" @.str15295 = private unnamed_addr constant [4 x i8] c"i32\00" @.str15296 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15297 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15298 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15299 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15300 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15301 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15302 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str15303 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15304 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15305 = private unnamed_addr constant [2 x i8] c")\00" @.str15306 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15307 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15308 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15309 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15310 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15311 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15312 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15313 = private unnamed_addr constant [3 x i8] c", \00" @.str15314 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15315 = private unnamed_addr constant [3 x i8] c", \00" @.str15316 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15317 = private unnamed_addr constant [3 x i8] c", \00" @.str15318 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15319 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str15320 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15321 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str15322 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str15323 = private unnamed_addr constant [4 x i8] c"int\00" @.str15324 = private unnamed_addr constant [7 x i8] c"format\00" @.str15325 = private unnamed_addr constant [6 x i8] c"parse\00" @.str15326 = private unnamed_addr constant [5 x i8] c"from\00" @.str15327 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23636: index out of range: \00" @.str15328 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23636: index out of range: \00" @.str15329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23636: index out of range: \00" @.str15330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23637: index out of range: \00" @.str15331 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23637: index out of range: \00" @.str15332 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23637: index out of range: \00" @.str15333 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str15334 = private unnamed_addr constant [17 x i8] c"emit_datetime_ns\00" @.str15335 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15336 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str15337 = private unnamed_addr constant [2 x i8] c")\00" @.str15338 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15339 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str15340 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15341 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15342 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15343 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15344 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15345 = private unnamed_addr constant [3 x i8] c", \00" @.str15346 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15347 = private unnamed_addr constant [3 x i8] c", \00" @.str15348 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15349 = private unnamed_addr constant [3 x i8] c", \00" @.str15350 = private unnamed_addr constant [4 x i8] c"int\00" @.str15351 = private unnamed_addr constant [5 x i8] c"date\00" @.str15352 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23647: index out of range: \00" @.str15353 = private unnamed_addr constant [4 x i8] c"int\00" @.str15354 = private unnamed_addr constant [4 x i8] c"add\00" @.str15355 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23651: index out of range: \00" @.str15356 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23651: index out of range: \00" @.str15357 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15358 = private unnamed_addr constant [3 x i8] c", \00" @.str15359 = private unnamed_addr constant [4 x i8] c"int\00" @.str15360 = private unnamed_addr constant [5 x i8] c"year\00" @.str15361 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23654: index out of range: \00" @.str15362 = private unnamed_addr constant [4 x i8] c"int\00" @.str15363 = private unnamed_addr constant [6 x i8] c"month\00" @.str15364 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23655: index out of range: \00" @.str15365 = private unnamed_addr constant [4 x i8] c"int\00" @.str15366 = private unnamed_addr constant [4 x i8] c"day\00" @.str15367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23656: index out of range: \00" @.str15368 = private unnamed_addr constant [4 x i8] c"int\00" @.str15369 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str15370 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23658: index out of range: \00" @.str15371 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15372 = private unnamed_addr constant [4 x i8] c", 4\00" @.str15373 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15374 = private unnamed_addr constant [4 x i8] c", 7\00" @.str15375 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15376 = private unnamed_addr constant [4 x i8] c", 7\00" @.str15377 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15378 = private unnamed_addr constant [4 x i8] c", 7\00" @.str15379 = private unnamed_addr constant [4 x i8] c"int\00" @.str15380 = private unnamed_addr constant [5 x i8] c"hour\00" @.str15381 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23666: index out of range: \00" @.str15382 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15383 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15384 = private unnamed_addr constant [4 x i8] c"int\00" @.str15385 = private unnamed_addr constant [7 x i8] c"minute\00" @.str15386 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23671: index out of range: \00" @.str15387 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15388 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str15389 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str15390 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15391 = private unnamed_addr constant [4 x i8] c"int\00" @.str15392 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23677: index out of range: \00" @.str15393 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str15394 = private unnamed_addr constant [5 x i8] c", 60\00" @.str15395 = private unnamed_addr constant [4 x i8] c"int\00" @.str15396 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str15397 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str15398 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str15399 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str15400 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str15401 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str15402 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str15403 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str15404 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str15405 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str15406 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str15407 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str15408 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str15409 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str15410 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str15411 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str15412 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str15413 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str15414 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str15415 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str15416 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str15417 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str15418 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str15419 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str15420 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str15421 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str15422 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str15423 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str15424 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str15425 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str15426 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str15427 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str15428 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str15429 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str15430 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str15431 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str15432 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str15433 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str15434 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str15435 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str15436 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str15437 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str15438 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str15439 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str15440 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str15441 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str15442 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str15443 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str15444 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str15445 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str15446 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str15447 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str15448 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str15449 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str15450 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str15451 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str15452 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str15453 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str15454 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str15455 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str15456 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str15457 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str15458 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str15459 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str15460 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str15461 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str15462 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str15463 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str15464 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str15465 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str15466 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str15467 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str15468 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str15469 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str15470 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str15471 = private unnamed_addr constant [39 x i8] c" %buf = call ptr @lp_malloc(i64 %sz)\0A\00" @.str15472 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str15473 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str15474 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str15475 = 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" @.str15476 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str15477 = 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" @.str15478 = 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" @.str15479 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str15480 = 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" @.str15481 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str15482 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str15483 = 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" @.str15484 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str15485 = 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" @.str15486 = 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" @.str15487 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str15488 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str15489 = 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" @.str15490 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str15491 = 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" @.str15492 = 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" @.str15493 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str15494 = private unnamed_addr constant [4 x i8] c"now\00" @.str15495 = private unnamed_addr constant [4 x i8] c"set\00" @.str15496 = private unnamed_addr constant [8 x i8] c"advance\00" @.str15497 = private unnamed_addr constant [6 x i8] c"reset\00" @.str15498 = private unnamed_addr constant [4 x i8] c"now\00" @.str15499 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str15500 = private unnamed_addr constant [4 x i8] c"int\00" @.str15501 = private unnamed_addr constant [6 x i8] c"reset\00" @.str15502 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str15503 = private unnamed_addr constant [2 x i8] c"0\00" @.str15504 = private unnamed_addr constant [5 x i8] c"void\00" @.str15505 = private unnamed_addr constant [4 x i8] c"set\00" @.str15506 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23814: index out of range: \00" @.str15507 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15508 = private unnamed_addr constant [14 x i8] c"emit_clock_ns\00" @.str15509 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str15510 = private unnamed_addr constant [2 x i8] c"0\00" @.str15511 = private unnamed_addr constant [5 x i8] c"void\00" @.str15512 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23819: index out of range: \00" @.str15513 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str15514 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15515 = private unnamed_addr constant [3 x i8] c", \00" @.str15516 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15517 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str15518 = private unnamed_addr constant [2 x i8] c"0\00" @.str15519 = private unnamed_addr constant [5 x i8] c"void\00" @.str15520 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str15521 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str15522 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str15523 = private unnamed_addr constant [7 x i8] c"darken\00" @.str15524 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str15525 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str15526 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str15527 = private unnamed_addr constant [9 x i8] c"color_ch\00" @.str15528 = private unnamed_addr constant [3 x i8] c", \00" @.str15529 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str15530 = private unnamed_addr constant [6 x i8] c", 255\00" @.str15531 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str15532 = private unnamed_addr constant [11 x i8] c"color_pack\00" @.str15533 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15534 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str15535 = private unnamed_addr constant [4 x i8] c", 8\00" @.str15536 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str15537 = private unnamed_addr constant [3 x i8] c", \00" @.str15538 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str15539 = private unnamed_addr constant [3 x i8] c", \00" @.str15540 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str15541 = private unnamed_addr constant [14 x i8] c"color_lerp_ch\00" @.str15542 = private unnamed_addr constant [3 x i8] c", \00" @.str15543 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15544 = private unnamed_addr constant [3 x i8] c", \00" @.str15545 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15546 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15547 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15548 = private unnamed_addr constant [3 x i8] c", \00" @.str15549 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str15550 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23861: index out of range: \00" @.str15551 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23861: index out of range: \00" @.str15552 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23861: index out of range: \00" @.str15553 = private unnamed_addr constant [4 x i8] c"int\00" @.str15554 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str15555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23865: index out of range: \00" @.str15556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23865: index out of range: \00" @.str15557 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23865: index out of range: \00" @.str15558 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23865: index out of range: \00" @.str15559 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str15560 = private unnamed_addr constant [16 x i8] c"emit_colorfn_ns\00" @.str15561 = private unnamed_addr constant [5 x i8] c", 24\00" @.str15562 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str15563 = private unnamed_addr constant [3 x i8] c", \00" @.str15564 = private unnamed_addr constant [4 x i8] c"int\00" @.str15565 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str15566 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23871: index out of range: \00" @.str15567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23871: index out of range: \00" @.str15568 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str15569 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str15570 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str15571 = private unnamed_addr constant [5 x i8] c", 24\00" @.str15572 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str15573 = private unnamed_addr constant [3 x i8] c", \00" @.str15574 = private unnamed_addr constant [4 x i8] c"int\00" @.str15575 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str15576 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23877: index out of range: \00" @.str15577 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23877: index out of range: \00" @.str15578 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23877: index out of range: \00" @.str15579 = private unnamed_addr constant [3 x i8] c"16\00" @.str15580 = private unnamed_addr constant [3 x i8] c"16\00" @.str15581 = private unnamed_addr constant [2 x i8] c"8\00" @.str15582 = private unnamed_addr constant [2 x i8] c"8\00" @.str15583 = private unnamed_addr constant [2 x i8] c"0\00" @.str15584 = private unnamed_addr constant [2 x i8] c"0\00" @.str15585 = private unnamed_addr constant [4 x i8] c"int\00" @.str15586 = private unnamed_addr constant [7 x i8] c"darken\00" @.str15587 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23884: index out of range: \00" @.str15588 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23884: index out of range: \00" @.str15589 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str15590 = private unnamed_addr constant [3 x i8] c"16\00" @.str15591 = private unnamed_addr constant [2 x i8] c"8\00" @.str15592 = private unnamed_addr constant [2 x i8] c"0\00" @.str15593 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15594 = private unnamed_addr constant [3 x i8] c", \00" @.str15595 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15596 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15597 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15598 = private unnamed_addr constant [3 x i8] c", \00" @.str15599 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15600 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15601 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15602 = private unnamed_addr constant [3 x i8] c", \00" @.str15603 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15604 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15605 = private unnamed_addr constant [4 x i8] c"int\00" @.str15606 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23893: index out of range: \00" @.str15607 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:23893: index out of range: \00" @.str15608 = private unnamed_addr constant [3 x i8] c"16\00" @.str15609 = private unnamed_addr constant [2 x i8] c"8\00" @.str15610 = private unnamed_addr constant [2 x i8] c"0\00" @.str15611 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str15612 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15613 = private unnamed_addr constant [3 x i8] c", \00" @.str15614 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15615 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15616 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15617 = private unnamed_addr constant [3 x i8] c", \00" @.str15618 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str15619 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15620 = private unnamed_addr constant [3 x i8] c", \00" @.str15621 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15622 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15623 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15624 = private unnamed_addr constant [3 x i8] c", \00" @.str15625 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str15626 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str15627 = private unnamed_addr constant [3 x i8] c", \00" @.str15628 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str15629 = private unnamed_addr constant [5 x i8] c", 16\00" @.str15630 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15631 = private unnamed_addr constant [3 x i8] c", \00" @.str15632 = private unnamed_addr constant [4 x i8] c"int\00" @.str15633 = private unnamed_addr constant [6 x i8] c"White\00" @.str15634 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str15635 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str15636 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str15637 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str15638 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str15639 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str15640 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str15641 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str15642 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str15643 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str15644 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str15645 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str15646 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str15647 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str15648 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str15649 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str15650 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str15651 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str15652 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str15653 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str15654 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str15655 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str15656 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str15657 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str15658 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str15659 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str15660 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str15661 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str15662 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str15663 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str15664 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str15665 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str15666 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str15667 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str15668 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str15669 = private unnamed_addr constant [6 x i8] c"Black\00" @.str15670 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str15671 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str15672 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str15673 = private unnamed_addr constant [4 x i8] c"Red\00" @.str15674 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str15675 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str15676 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str15677 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str15678 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str15679 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str15680 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str15681 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str15682 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str15683 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str15684 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str15685 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str15686 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str15687 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str15688 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str15689 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str15690 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str15691 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str15692 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str15693 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str15694 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str15695 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str15696 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str15697 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str15698 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str15699 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str15700 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str15701 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str15702 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str15703 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str15704 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str15705 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str15706 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str15707 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str15708 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str15709 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str15710 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str15711 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str15712 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str15713 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str15714 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str15715 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str15716 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str15717 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str15718 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str15719 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str15720 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str15721 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str15722 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str15723 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str15724 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str15725 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str15726 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str15727 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str15728 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str15729 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str15730 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str15731 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str15732 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str15733 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str15734 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str15735 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str15736 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str15737 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str15738 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str15739 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str15740 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str15741 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str15742 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str15743 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str15744 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str15745 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str15746 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str15747 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str15748 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str15749 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str15750 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str15751 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str15752 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str15753 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str15754 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str15755 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str15756 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str15757 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str15758 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str15759 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str15760 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str15761 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str15762 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str15763 = private unnamed_addr constant [6 x i8] c"Green\00" @.str15764 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str15765 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str15766 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str15767 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str15768 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str15769 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str15770 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str15771 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str15772 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str15773 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str15774 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str15775 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str15776 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str15777 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str15778 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str15779 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str15780 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str15781 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str15782 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str15783 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str15784 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str15785 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str15786 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str15787 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str15788 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str15789 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str15790 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str15791 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str15792 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str15793 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str15794 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str15795 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str15796 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str15797 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str15798 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str15799 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str15800 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str15801 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str15802 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str15803 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str15804 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str15805 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str15806 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str15807 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str15808 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str15809 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str15810 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str15811 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str15812 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str15813 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str15814 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str15815 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str15816 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str15817 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str15818 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str15819 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str15820 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str15821 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str15822 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str15823 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str15824 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str15825 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str15826 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str15827 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str15828 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str15829 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str15830 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str15831 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str15832 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str15833 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str15834 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str15835 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str15836 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str15837 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str15838 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str15839 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str15840 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str15841 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str15842 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str15843 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str15844 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str15845 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str15846 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str15847 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str15848 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str15849 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str15850 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str15851 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str15852 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str15853 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str15854 = private unnamed_addr constant [6 x i8] c"Space\00" @.str15855 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str15856 = private unnamed_addr constant [7 x i8] c"Return\00" @.str15857 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str15858 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str15859 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str15860 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str15861 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str15862 = private unnamed_addr constant [3 x i8] c"Up\00" @.str15863 = private unnamed_addr constant [5 x i8] c"Down\00" @.str15864 = private unnamed_addr constant [5 x i8] c"Left\00" @.str15865 = private unnamed_addr constant [6 x i8] c"Right\00" @.str15866 = private unnamed_addr constant [3 x i8] c"F1\00" @.str15867 = private unnamed_addr constant [3 x i8] c"F2\00" @.str15868 = private unnamed_addr constant [3 x i8] c"F3\00" @.str15869 = private unnamed_addr constant [3 x i8] c"F4\00" @.str15870 = private unnamed_addr constant [3 x i8] c"F5\00" @.str15871 = private unnamed_addr constant [3 x i8] c"F6\00" @.str15872 = private unnamed_addr constant [3 x i8] c"F7\00" @.str15873 = private unnamed_addr constant [3 x i8] c"F8\00" @.str15874 = private unnamed_addr constant [3 x i8] c"F9\00" @.str15875 = private unnamed_addr constant [4 x i8] c"F10\00" @.str15876 = private unnamed_addr constant [4 x i8] c"F11\00" @.str15877 = private unnamed_addr constant [4 x i8] c"F12\00" @.str15878 = private unnamed_addr constant [5 x i8] c"Home\00" @.str15879 = private unnamed_addr constant [4 x i8] c"End\00" @.str15880 = private unnamed_addr constant [7 x i8] c"PageUp\00" @.str15881 = private unnamed_addr constant [9 x i8] c"PageDown\00" @.str15882 = private unnamed_addr constant [7 x i8] c"Insert\00" @.str15883 = private unnamed_addr constant [7 x i8] c"Delete\00" @.str15884 = private unnamed_addr constant [9 x i8] c"CapsLock\00" @.str15885 = private unnamed_addr constant [8 x i8] c"Numpad0\00" @.str15886 = private unnamed_addr constant [8 x i8] c"Numpad1\00" @.str15887 = private unnamed_addr constant [8 x i8] c"Numpad2\00" @.str15888 = private unnamed_addr constant [8 x i8] c"Numpad3\00" @.str15889 = private unnamed_addr constant [8 x i8] c"Numpad4\00" @.str15890 = private unnamed_addr constant [8 x i8] c"Numpad5\00" @.str15891 = private unnamed_addr constant [8 x i8] c"Numpad6\00" @.str15892 = private unnamed_addr constant [8 x i8] c"Numpad7\00" @.str15893 = private unnamed_addr constant [8 x i8] c"Numpad8\00" @.str15894 = private unnamed_addr constant [8 x i8] c"Numpad9\00" @.str15895 = private unnamed_addr constant [15 x i8] c"NumpadMultiply\00" @.str15896 = private unnamed_addr constant [10 x i8] c"NumpadAdd\00" @.str15897 = private unnamed_addr constant [15 x i8] c"NumpadSubtract\00" @.str15898 = private unnamed_addr constant [14 x i8] c"NumpadDecimal\00" @.str15899 = private unnamed_addr constant [13 x i8] c"NumpadDivide\00" @.str15900 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str15901 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str15902 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str15903 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str15904 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str15905 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str15906 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str15907 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str15908 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str15909 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str15910 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str15911 = private unnamed_addr constant [12 x i8] c"emit_sizeof\00" @.str15912 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str15913 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str15914 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str15915 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24228: index out of range: \00" @.str15916 = private unnamed_addr constant [42 x i8] c" is a port: it is filled once with 'bind \00" @.str15917 = private unnamed_addr constant [16 x i8] c"emit_new_struct\00" @.str15918 = private unnamed_addr constant [63 x i8] c" { ... }' where the program is put together, not made with new\00" @.str15919 = private unnamed_addr constant [21 x i8] c"unknown record type \00" @.str15920 = private unnamed_addr constant [8 x i8] c" in new\00" @.str15921 = private unnamed_addr constant [1 x i8] c"\00" @.str15922 = private unnamed_addr constant [5 x i8] c"new \00" @.str15923 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str15924 = private unnamed_addr constant [2 x i8] c")\00" @.str15925 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24250: index out of range: \00" @.str15926 = private unnamed_addr constant [3 x i8] c" \00" @.str15927 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str15928 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15929 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str15930 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15931 = private unnamed_addr constant [9 x i8] c" store \00" @.str15932 = private unnamed_addr constant [2 x i8] c" \00" @.str15933 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15934 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15935 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str15936 = private unnamed_addr constant [5 x i8] c"new \00" @.str15937 = private unnamed_addr constant [15 x i8] c"emit_new_slice\00" @.str15938 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str15939 = private unnamed_addr constant [2 x i8] c")\00" @.str15940 = private unnamed_addr constant [3 x i8] c" \00" @.str15941 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str15942 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str15943 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str15944 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15945 = private unnamed_addr constant [3 x i8] c" \00" @.str15946 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str15947 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str15948 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str15949 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15950 = private unnamed_addr constant [3 x i8] c" \00" @.str15951 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str15952 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str15953 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str15954 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15955 = private unnamed_addr constant [3 x i8] c"[]\00" @.str15956 = private unnamed_addr constant [17 x i8] c"emit_sized_slice\00" @.str15957 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str15958 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str15959 = private unnamed_addr constant [25 x i8] c"call ptr @lp_calloc(i64 \00" @.str15960 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str15961 = private unnamed_addr constant [2 x i8] c")\00" @.str15962 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str15963 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15964 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15965 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15966 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15968 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str15969 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str15970 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15971 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24295: index out of range: \00" @.str15972 = private unnamed_addr constant [33 x i8] c"view takes a slice, and this is \00" @.str15973 = private unnamed_addr constant [10 x i8] c"emit_view\00" @.str15974 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24297: index out of range: \00" @.str15975 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24298: index out of range: \00" @.str15976 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str15977 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str15978 = private unnamed_addr constant [3 x i8] c", \00" @.str15979 = private unnamed_addr constant [14 x i8] c"icmp ule i32 \00" @.str15980 = private unnamed_addr constant [3 x i8] c", \00" @.str15981 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str15982 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15983 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str15984 = private unnamed_addr constant [4 x i8] c", 0\00" @.str15985 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str15986 = private unnamed_addr constant [3 x i8] c", \00" @.str15987 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str15988 = private unnamed_addr constant [3 x i8] c", \00" @.str15989 = private unnamed_addr constant [5 x i8] c"vwok\00" @.str15990 = private unnamed_addr constant [6 x i8] c"vwbad\00" @.str15991 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str15992 = private unnamed_addr constant [10 x i8] c", label %\00" @.str15993 = private unnamed_addr constant [10 x i8] c", label %\00" @.str15994 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str15995 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str15996 = private unnamed_addr constant [2 x i8] c":\00" @.str15997 = private unnamed_addr constant [27 x i8] c": view past the end: from \00" @.str15998 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str15999 = private unnamed_addr constant [25 x i8] c", ptr @.fmt_bounds, ptr \00" @.str16000 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16001 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16002 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16003 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str16004 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16005 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str16006 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str16007 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16008 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16009 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str16010 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16011 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16012 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16013 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16014 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16015 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16016 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16017 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16018 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str16019 = private unnamed_addr constant [9 x i8] c"raw_expr\00" @.str16020 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16021 = private unnamed_addr constant [3 x i8] c" \00" @.str16022 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str16023 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str16024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16025 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24339: index out of range: \00" @.str16026 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16027 = private unnamed_addr constant [9 x i8] c"emit_len\00" @.str16028 = private unnamed_addr constant [4 x i8] c"int\00" @.str16029 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str16030 = private unnamed_addr constant [2 x i8] c")\00" @.str16031 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str16032 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16033 = private unnamed_addr constant [4 x i8] c"int\00" @.str16034 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24349: index out of range: \00" @.str16035 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24350: index out of range: \00" @.str16036 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24351: index out of range: \00" @.str16037 = private unnamed_addr constant [2 x i8] c"0\00" @.str16038 = private unnamed_addr constant [5 x i8] c"void\00" @.str16039 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str16040 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24362: index out of range: \00" @.str16041 = private unnamed_addr constant [3 x i8] c"[]\00" @.str16042 = private unnamed_addr constant [10 x i8] c"emit_list\00" @.str16043 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24369: index out of range: \00" @.str16044 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str16045 = private unnamed_addr constant [6 x i8] c" and \00" @.str16046 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16047 = private unnamed_addr constant [15 x i8] c"emit_push_into\00" @.str16048 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16049 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str16050 = private unnamed_addr constant [3 x i8] c", \00" @.str16051 = private unnamed_addr constant [5 x i8] c"grow\00" @.str16052 = private unnamed_addr constant [4 x i8] c"put\00" @.str16053 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16054 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16055 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16056 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16057 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16058 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str16059 = private unnamed_addr constant [3 x i8] c", \00" @.str16060 = private unnamed_addr constant [8 x i8] c"capover\00" @.str16061 = private unnamed_addr constant [6 x i8] c"capok\00" @.str16062 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16063 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16064 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16065 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16066 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16067 = private unnamed_addr constant [30 x i8] c" call void @lp_cap_over(ptr \00" @.str16068 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16069 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16070 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16071 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16072 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16073 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16074 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str16075 = private unnamed_addr constant [4 x i8] c", 2\00" @.str16076 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str16077 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16078 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16079 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str16080 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str16081 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16082 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str16083 = private unnamed_addr constant [3 x i8] c", \00" @.str16084 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str16085 = private unnamed_addr constant [26 x i8] c"call ptr @lp_realloc(ptr \00" @.str16086 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str16087 = private unnamed_addr constant [2 x i8] c")\00" @.str16088 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str16089 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16090 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16091 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16092 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16093 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16094 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16095 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16096 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16097 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str16098 = private unnamed_addr constant [3 x i8] c" \00" @.str16099 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str16100 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16101 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16102 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16103 = private unnamed_addr constant [9 x i8] c" store \00" @.str16104 = private unnamed_addr constant [2 x i8] c" \00" @.str16105 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16107 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str16108 = private unnamed_addr constant [4 x i8] c", 1\00" @.str16109 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16110 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16111 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16112 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24437: index out of range: \00" @.str16113 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16114 = private unnamed_addr constant [4 x i8] c"int\00" @.str16115 = private unnamed_addr constant [14 x i8] c"emit_try_body\00" @.str16116 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16117 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16118 = private unnamed_addr constant [7 x i8] c"result\00" @.str16119 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str16120 = private unnamed_addr constant [9 x i8] c"emit_try\00" @.str16121 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str16122 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16123 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str16124 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16125 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str16126 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str16127 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16128 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str16129 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16130 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str16131 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str16132 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str16133 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16134 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16135 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16136 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16137 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16138 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str16139 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str16140 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16141 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16142 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16143 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16144 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16145 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16146 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16147 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str16148 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str16149 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str16150 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16151 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str16152 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16153 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16154 = private unnamed_addr constant [6 x i8] c"error\00" @.str16155 = private unnamed_addr constant [7 x i8] c"string\00" @.str16156 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16157 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16158 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16159 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16160 = private unnamed_addr constant [4 x i8] c"int\00" @.str16161 = private unnamed_addr constant [6 x i8] c"load \00" @.str16162 = private unnamed_addr constant [13 x i8] c"emit_load_at\00" @.str16163 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16164 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16165 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str16166 = private unnamed_addr constant [11 x i8] c"emit_logic\00" @.str16167 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16168 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str16169 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16170 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16171 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16172 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16173 = private unnamed_addr constant [3 x i8] c"sc\00" @.str16174 = private unnamed_addr constant [6 x i8] c"scend\00" @.str16175 = private unnamed_addr constant [4 x i8] c"and\00" @.str16176 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16177 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16178 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16179 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16180 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16181 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16182 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16183 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16184 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16185 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str16186 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16187 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str16188 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16189 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16190 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16191 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16192 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16193 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16194 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16195 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16196 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16197 = private unnamed_addr constant [2 x i8] c"<\00" @.str16198 = private unnamed_addr constant [4 x i8] c"slt\00" @.str16199 = private unnamed_addr constant [3 x i8] c"<=\00" @.str16200 = private unnamed_addr constant [4 x i8] c"sle\00" @.str16201 = private unnamed_addr constant [2 x i8] c">\00" @.str16202 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str16203 = private unnamed_addr constant [3 x i8] c">=\00" @.str16204 = private unnamed_addr constant [4 x i8] c"sge\00" @.str16205 = private unnamed_addr constant [3 x i8] c"==\00" @.str16206 = private unnamed_addr constant [3 x i8] c"eq\00" @.str16207 = private unnamed_addr constant [3 x i8] c"ne\00" @.str16208 = private unnamed_addr constant [2 x i8] c"<\00" @.str16209 = private unnamed_addr constant [3 x i8] c"<=\00" @.str16210 = private unnamed_addr constant [2 x i8] c">\00" @.str16211 = private unnamed_addr constant [3 x i8] c">=\00" @.str16212 = private unnamed_addr constant [3 x i8] c"==\00" @.str16213 = private unnamed_addr constant [3 x i8] c"!=\00" @.str16214 = private unnamed_addr constant [2 x i8] c"+\00" @.str16215 = private unnamed_addr constant [4 x i8] c"add\00" @.str16216 = private unnamed_addr constant [2 x i8] c"-\00" @.str16217 = private unnamed_addr constant [4 x i8] c"sub\00" @.str16218 = private unnamed_addr constant [2 x i8] c"*\00" @.str16219 = private unnamed_addr constant [4 x i8] c"mul\00" @.str16220 = private unnamed_addr constant [2 x i8] c"/\00" @.str16221 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str16222 = private unnamed_addr constant [2 x i8] c"&\00" @.str16223 = private unnamed_addr constant [4 x i8] c"and\00" @.str16224 = private unnamed_addr constant [2 x i8] c"|\00" @.str16225 = private unnamed_addr constant [3 x i8] c"or\00" @.str16226 = private unnamed_addr constant [2 x i8] c"^\00" @.str16227 = private unnamed_addr constant [4 x i8] c"xor\00" @.str16228 = private unnamed_addr constant [3 x i8] c"<<\00" @.str16229 = private unnamed_addr constant [4 x i8] c"shl\00" @.str16230 = private unnamed_addr constant [3 x i8] c">>\00" @.str16231 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str16232 = private unnamed_addr constant [5 x i8] c"srem\00" @.str16233 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16234 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str16235 = private unnamed_addr constant [9 x i8] c"to_fixed\00" @.str16236 = private unnamed_addr constant [5 x i8] c", 16\00" @.str16237 = private unnamed_addr constant [3 x i8] c"a \00" @.str16238 = private unnamed_addr constant [12 x i8] c"coerce_code\00" @.str16239 = private unnamed_addr constant [6 x i8] c" slot\00" @.str16240 = private unnamed_addr constant [3 x i8] c"a \00" @.str16241 = private unnamed_addr constant [11 x i8] c" is not a \00" @.str16242 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16243 = private unnamed_addr constant [1 x i8] c"\00" @.str16244 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16245 = private unnamed_addr constant [3 x i8] c"a \00" @.str16246 = private unnamed_addr constant [22 x i8] c" does not convert to \00" @.str16247 = private unnamed_addr constant [41 x i8] c" implicitly \E2\80\94 write int(x) or fixed(x)\00" @.str16248 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16249 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16250 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str16251 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16252 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16253 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16254 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str16255 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16256 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16257 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str16258 = private unnamed_addr constant [8 x i8] c"to_long\00" @.str16259 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16260 = private unnamed_addr constant [2 x i8] c"+\00" @.str16261 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str16262 = private unnamed_addr constant [12 x i8] c"emit_str_op\00" @.str16263 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16264 = private unnamed_addr constant [2 x i8] c")\00" @.str16265 = private unnamed_addr constant [7 x i8] c"string\00" @.str16266 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str16267 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16268 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str16269 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16270 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str16271 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16272 = private unnamed_addr constant [2 x i8] c")\00" @.str16273 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str16274 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16275 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str16276 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16277 = private unnamed_addr constant [3 x i8] c"!=\00" @.str16278 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str16279 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16280 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str16281 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16282 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16283 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16284 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16285 = private unnamed_addr constant [5 x i8] c"long\00" @.str16286 = private unnamed_addr constant [4 x i8] c"int\00" @.str16287 = private unnamed_addr constant [4 x i8] c"and\00" @.str16288 = private unnamed_addr constant [3 x i8] c"or\00" @.str16289 = private unnamed_addr constant [7 x i8] c"string\00" @.str16290 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16291 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16292 = private unnamed_addr constant [4 x i8] c"Key\00" @.str16293 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16294 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16295 = private unnamed_addr constant [2 x i8] c"+\00" @.str16296 = private unnamed_addr constant [2 x i8] c"+\00" @.str16297 = private unnamed_addr constant [3 x i8] c"==\00" @.str16298 = private unnamed_addr constant [3 x i8] c"!=\00" @.str16299 = private unnamed_addr constant [7 x i8] c"string\00" @.str16300 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16301 = private unnamed_addr constant [7 x i8] c"string\00" @.str16302 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16303 = private unnamed_addr constant [16 x i8] c"cannot compare \00" @.str16304 = private unnamed_addr constant [14 x i8] c"emit_bin_vals\00" @.str16305 = private unnamed_addr constant [7 x i8] c" with \00" @.str16306 = private unnamed_addr constant [8 x i8] c" using \00" @.str16307 = private unnamed_addr constant [59 x i8] c": strings compare by content, other references by identity\00" @.str16308 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16309 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16310 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16311 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16312 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16313 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16314 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16315 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16316 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16317 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str16318 = private unnamed_addr constant [2 x i8] c" \00" @.str16319 = private unnamed_addr constant [2 x i8] c" \00" @.str16320 = private unnamed_addr constant [3 x i8] c", \00" @.str16321 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str16322 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16323 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16324 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str16325 = private unnamed_addr constant [3 x i8] c", \00" @.str16326 = private unnamed_addr constant [5 x i8] c"long\00" @.str16327 = private unnamed_addr constant [2 x i8] c"*\00" @.str16328 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str16329 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16330 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str16331 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16332 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str16333 = private unnamed_addr constant [3 x i8] c", \00" @.str16334 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str16335 = private unnamed_addr constant [5 x i8] c", 16\00" @.str16336 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str16337 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16338 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16339 = private unnamed_addr constant [2 x i8] c"/\00" @.str16340 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str16341 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16342 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str16343 = private unnamed_addr constant [5 x i8] c", 16\00" @.str16344 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str16345 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16346 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str16347 = private unnamed_addr constant [3 x i8] c", \00" @.str16348 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str16349 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16350 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16351 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str16352 = private unnamed_addr constant [3 x i8] c", \00" @.str16353 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str16354 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str16355 = private unnamed_addr constant [3 x i8] c", \00" @.str16356 = private unnamed_addr constant [4 x i8] c"int\00" @.str16357 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24674: index out of range: \00" @.str16358 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24681: index out of range: \00" @.str16359 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str16360 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str16361 = private unnamed_addr constant [14 x i8] c"reorder_named\00" @.str16362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24690: index out of range: \00" @.str16363 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24690: index out of range: \00" @.str16364 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24690: index out of range: \00" @.str16365 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str16366 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24691: index out of range: \00" @.str16367 = private unnamed_addr constant [13 x i8] c"param_labels\00" @.str16368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24701: index out of range: \00" @.str16369 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24701: index out of range: \00" @.str16370 = private unnamed_addr constant [12 x i8] c"param_types\00" @.str16371 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24708: index out of range: \00" @.str16372 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24708: index out of range: \00" @.str16373 = private unnamed_addr constant [5 x i8] c"exok\00" @.str16374 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str16375 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16376 = private unnamed_addr constant [17 x i8] c"emit_expect_fail\00" @.str16377 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16378 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16379 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16380 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16381 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str16382 = private unnamed_addr constant [1 x i8] c"\00" @.str16383 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str16384 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16385 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str16386 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16387 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16388 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16389 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16390 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16391 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16392 = private unnamed_addr constant [6 x i8] c"float\00" @.str16393 = private unnamed_addr constant [7 x i8] c"double\00" @.str16394 = private unnamed_addr constant [7 x i8] c"double\00" @.str16395 = private unnamed_addr constant [7 x i8] c"double\00" @.str16396 = private unnamed_addr constant [7 x i8] c"double\00" @.str16397 = private unnamed_addr constant [7 x i8] c"double\00" @.str16398 = private unnamed_addr constant [7 x i8] c"expect\00" @.str16399 = private unnamed_addr constant [7 x i8] c"expect\00" @.str16400 = private unnamed_addr constant [1 x i8] c"\00" @.str16401 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str16402 = private unnamed_addr constant [10 x i8] c"fcmp oeq \00" @.str16403 = private unnamed_addr constant [15 x i8] c"emit_expect_fp\00" @.str16404 = private unnamed_addr constant [2 x i8] c" \00" @.str16405 = private unnamed_addr constant [3 x i8] c", \00" @.str16406 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str16407 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str16408 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str16409 = private unnamed_addr constant [2 x i8] c" \00" @.str16410 = private unnamed_addr constant [3 x i8] c", \00" @.str16411 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str16412 = private unnamed_addr constant [2 x i8] c" \00" @.str16413 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str16414 = private unnamed_addr constant [2 x i8] c" \00" @.str16415 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str16416 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16417 = private unnamed_addr constant [3 x i8] c", \00" @.str16418 = private unnamed_addr constant [2 x i8] c" \00" @.str16419 = private unnamed_addr constant [3 x i8] c", \00" @.str16420 = private unnamed_addr constant [2 x i8] c" \00" @.str16421 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str16422 = private unnamed_addr constant [2 x i8] c" \00" @.str16423 = private unnamed_addr constant [3 x i8] c", \00" @.str16424 = private unnamed_addr constant [3 x i8] c": \00" @.str16425 = private unnamed_addr constant [8 x i8] c" failed\00" @.str16426 = private unnamed_addr constant [6 x i8] c"float\00" @.str16427 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str16428 = private unnamed_addr constant [11 x i8] c" to double\00" @.str16429 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str16430 = private unnamed_addr constant [11 x i8] c" to double\00" @.str16431 = private unnamed_addr constant [5 x i8] c"exok\00" @.str16432 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str16433 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16434 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16435 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16436 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16437 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16438 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str16439 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect_fp, ptr \00" @.str16440 = private unnamed_addr constant [10 x i8] c", double \00" @.str16441 = private unnamed_addr constant [10 x i8] c", double \00" @.str16442 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16443 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16444 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16445 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16446 = private unnamed_addr constant [2 x i8] c"0\00" @.str16447 = private unnamed_addr constant [5 x i8] c"void\00" @.str16448 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str16449 = private unnamed_addr constant [16 x i8] c"emit_expect_str\00" @.str16450 = private unnamed_addr constant [7 x i8] c", null\00" @.str16451 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str16452 = private unnamed_addr constant [7 x i8] c", null\00" @.str16453 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str16454 = private unnamed_addr constant [3 x i8] c", \00" @.str16455 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str16456 = private unnamed_addr constant [3 x i8] c", \00" @.str16457 = private unnamed_addr constant [1 x i8] c"\00" @.str16458 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16459 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16460 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16461 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16462 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16463 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16464 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str16465 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16466 = private unnamed_addr constant [2 x i8] c")\00" @.str16467 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str16468 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16469 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16470 = private unnamed_addr constant [6 x i8] c", i1 \00" @.str16471 = private unnamed_addr constant [6 x i8] c", i1 \00" @.str16472 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str16473 = private unnamed_addr constant [7 x i8] c"\00" @.str16474 = private unnamed_addr constant [5 x i8] c"exok\00" @.str16475 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str16476 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16477 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16478 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16479 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16480 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16481 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str16482 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16483 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16484 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16485 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16486 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16487 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16488 = private unnamed_addr constant [57 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect_str, ptr \00" @.str16489 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16490 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16491 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16492 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16494 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16495 = private unnamed_addr constant [2 x i8] c"0\00" @.str16496 = private unnamed_addr constant [5 x i8] c"void\00" @.str16497 = private unnamed_addr constant [2 x i8] c":\00" @.str16498 = private unnamed_addr constant [13 x i8] c"expect_where\00" @.str16499 = private unnamed_addr constant [2 x i8] c":\00" @.str16500 = private unnamed_addr constant [9 x i8] c"ns_lower\00" @.str16501 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str16502 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str16503 = private unnamed_addr constant [22 x i8] c"emit_component_access\00" @.str16504 = private unnamed_addr constant [7 x i8] c"__each\00" @.str16505 = private unnamed_addr constant [5 x i8] c"self\00" @.str16506 = private unnamed_addr constant [2 x i8] c"0\00" @.str16507 = private unnamed_addr constant [5 x i8] c"void\00" @.str16508 = private unnamed_addr constant [6 x i8] c"count\00" @.str16509 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str16510 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16511 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16512 = private unnamed_addr constant [2 x i8] c"0\00" @.str16513 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16514 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16515 = private unnamed_addr constant [2 x i8] c"0\00" @.str16516 = private unnamed_addr constant [3 x i8] c"cc\00" @.str16517 = private unnamed_addr constant [3 x i8] c"cb\00" @.str16518 = private unnamed_addr constant [3 x i8] c"cn\00" @.str16519 = private unnamed_addr constant [3 x i8] c"ce\00" @.str16520 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16521 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16522 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16523 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16524 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str16525 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str16526 = private unnamed_addr constant [3 x i8] c", \00" @.str16527 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str16528 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16529 = private unnamed_addr constant [10 x i8] c", label %\00" @.str16530 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16531 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16532 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str16533 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str16534 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16535 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16536 = private unnamed_addr constant [3 x i8] c"H_\00" @.str16537 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str16538 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16539 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str16540 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str16541 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16542 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str16543 = private unnamed_addr constant [3 x i8] c", \00" @.str16544 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16545 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str16546 = private unnamed_addr constant [3 x i8] c", \00" @.str16547 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16548 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16549 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16550 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16551 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str16552 = private unnamed_addr constant [4 x i8] c", 1\00" @.str16553 = private unnamed_addr constant [4 x i8] c"i32\00" @.str16554 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str16555 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16556 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str16557 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16558 = private unnamed_addr constant [4 x i8] c"int\00" @.str16559 = private unnamed_addr constant [2 x i8] c".\00" @.str16560 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str16561 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24868: index out of range: \00" @.str16562 = private unnamed_addr constant [3 x i8] c"of\00" @.str16563 = private unnamed_addr constant [3 x i8] c"S_\00" @.str16564 = private unnamed_addr constant [29 x i8] c"getelementptr inbounds %Cmp_\00" @.str16565 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16566 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16567 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_cap\00" @.str16568 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str16569 = private unnamed_addr constant [3 x i8] c", \00" @.str16570 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str16571 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16572 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str16573 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str16574 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str16575 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16576 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16577 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str16578 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16579 = private unnamed_addr constant [3 x i8] c"H_\00" @.str16580 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str16581 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16582 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str16583 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str16584 = private unnamed_addr constant [4 x i8] c", 0\00" @.str16585 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str16586 = private unnamed_addr constant [3 x i8] c", \00" @.str16587 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str16588 = private unnamed_addr constant [3 x i8] c", \00" @.str16589 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str16590 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16591 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:24894: index out of range: \00" @.str16593 = private unnamed_addr constant [5 x i8] c"name\00" @.str16594 = private unnamed_addr constant [7 x i8] c"string\00" @.str16595 = private unnamed_addr constant [1 x i8] c"\00" @.str16596 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str16597 = private unnamed_addr constant [19 x i8] c"emit_alias_or_fail\00" @.str16598 = private unnamed_addr constant [2 x i8] c".\00" @.str16599 = private unnamed_addr constant [3 x i8] c"of\00" @.str16600 = private unnamed_addr constant [4 x i8] c"has\00" @.str16601 = private unnamed_addr constant [6 x i8] c"count\00" @.str16602 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str16603 = private unnamed_addr constant [2 x i8] c"_\00" @.str16604 = private unnamed_addr constant [13 x i8] c"emit_ns_call\00" @.str16605 = private unnamed_addr constant [5 x i8] c"Math\00" @.str16606 = private unnamed_addr constant [5 x i8] c"Math\00" @.str16607 = private unnamed_addr constant [5 x i8] c"Text\00" @.str16608 = private unnamed_addr constant [5 x i8] c"Text\00" @.str16609 = private unnamed_addr constant [5 x i8] c"List\00" @.str16610 = private unnamed_addr constant [5 x i8] c"List\00" @.str16611 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str16612 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str16613 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str16614 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str16615 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str16616 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str16617 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str16618 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str16619 = private unnamed_addr constant [6 x i8] c"Color\00" @.str16620 = private unnamed_addr constant [6 x i8] c"Color\00" @.str16621 = private unnamed_addr constant [5 x i8] c"Time\00" @.str16622 = private unnamed_addr constant [5 x i8] c"Time\00" @.str16623 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str16624 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str16625 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str16626 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str16627 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str16628 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str16629 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str16630 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str16631 = private unnamed_addr constant [4 x i8] c"Log\00" @.str16632 = private unnamed_addr constant [4 x i8] c"Log\00" @.str16633 = private unnamed_addr constant [4 x i8] c"Mem\00" @.str16634 = private unnamed_addr constant [4 x i8] c"Mem\00" @.str16635 = private unnamed_addr constant [3 x i8] c"Os\00" @.str16636 = private unnamed_addr constant [3 x i8] c"Os\00" @.str16637 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str16638 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str16639 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str16640 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str16641 = private unnamed_addr constant [5 x i8] c"Path\00" @.str16642 = private unnamed_addr constant [5 x i8] c"Path\00" @.str16643 = private unnamed_addr constant [6 x i8] c"Build\00" @.str16644 = private unnamed_addr constant [6 x i8] c"Build\00" @.str16645 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str16646 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str16647 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str16648 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str16649 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str16650 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str16651 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str16652 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str16653 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str16654 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str16655 = private unnamed_addr constant [5 x i8] c"Date\00" @.str16656 = private unnamed_addr constant [5 x i8] c"Date\00" @.str16657 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str16658 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str16659 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str16660 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str16661 = private unnamed_addr constant [4 x i8] c"App\00" @.str16662 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str16663 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" @.str16664 = private unnamed_addr constant [2 x i8] c"0\00" @.str16665 = private unnamed_addr constant [5 x i8] c"void\00" @.str16666 = private unnamed_addr constant [9 x i8] c"set_icon\00" @.str16667 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str16668 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16669 = private unnamed_addr constant [2 x i8] c"0\00" @.str16670 = private unnamed_addr constant [5 x i8] c"void\00" @.str16671 = private unnamed_addr constant [14 x i8] c"monitor_count\00" @.str16672 = private unnamed_addr constant [30 x i8] c"call i32 @win_monitor_count()\00" @.str16673 = private unnamed_addr constant [4 x i8] c"int\00" @.str16674 = private unnamed_addr constant [2 x i8] c"1\00" @.str16675 = private unnamed_addr constant [4 x i8] c"int\00" @.str16676 = private unnamed_addr constant [18 x i8] c"window_to_monitor\00" @.str16677 = private unnamed_addr constant [40 x i8] c" call void @app_window_to_monitor(i32 \00" @.str16678 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16679 = private unnamed_addr constant [2 x i8] c"0\00" @.str16680 = private unnamed_addr constant [5 x i8] c"void\00" @.str16681 = private unnamed_addr constant [13 x i8] c"window_fixed\00" @.str16682 = private unnamed_addr constant [35 x i8] c" call void @app_window_fixed(i32 \00" @.str16683 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16684 = private unnamed_addr constant [2 x i8] c"0\00" @.str16685 = private unnamed_addr constant [5 x i8] c"void\00" @.str16686 = private unnamed_addr constant [12 x i8] c"window_hide\00" @.str16687 = private unnamed_addr constant [12 x i8] c"window_show\00" @.str16688 = private unnamed_addr constant [18 x i8] c" call void @app_\00" @.str16689 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str16690 = private unnamed_addr constant [2 x i8] c"0\00" @.str16691 = private unnamed_addr constant [5 x i8] c"void\00" @.str16692 = private unnamed_addr constant [4 x i8] c"App\00" @.str16693 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str16694 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str16695 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_cap\00" @.str16696 = private unnamed_addr constant [4 x i8] c"int\00" @.str16697 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str16698 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str16699 = private unnamed_addr constant [4 x i8] c"int\00" @.str16700 = private unnamed_addr constant [5 x i8] c"free\00" @.str16701 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str16702 = private unnamed_addr constant [4 x i8] c"int\00" @.str16703 = private unnamed_addr constant [5 x i8] c"live\00" @.str16704 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str16705 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str16706 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str16707 = private unnamed_addr constant [3 x i8] c", \00" @.str16708 = private unnamed_addr constant [4 x i8] c"int\00" @.str16709 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str16710 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str16711 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str16712 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str16713 = private unnamed_addr constant [9 x i8] c"Position\00" @.str16714 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str16715 = private unnamed_addr constant [5 x i8] c"name\00" @.str16716 = private unnamed_addr constant [3 x i8] c"at\00" @.str16717 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25137: index out of range: \00" @.str16718 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25138: index out of range: \00" @.str16719 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str16720 = private unnamed_addr constant [2 x i8] c")\00" @.str16721 = private unnamed_addr constant [11 x i8] c"S_Position\00" @.str16722 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str16723 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16724 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str16725 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str16726 = private unnamed_addr constant [2 x i8] c"x\00" @.str16727 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str16728 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str16729 = private unnamed_addr constant [2 x i8] c"y\00" @.str16730 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16731 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16732 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16733 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16734 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16735 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16736 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16737 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str16738 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str16739 = private unnamed_addr constant [5 x i8] c"name\00" @.str16740 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str16741 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25156: index out of range: \00" @.str16742 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str16743 = private unnamed_addr constant [2 x i8] c")\00" @.str16744 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16745 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str16746 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str16747 = private unnamed_addr constant [5 x i8] c"play\00" @.str16748 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str16749 = private unnamed_addr constant [5 x i8] c"name\00" @.str16750 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str16751 = private unnamed_addr constant [3 x i8] c"id\00" @.str16752 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str16753 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str16754 = private unnamed_addr constant [5 x i8] c"name\00" @.str16755 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str16756 = private unnamed_addr constant [3 x i8] c"id\00" @.str16757 = private unnamed_addr constant [4 x i8] c"Job\00" @.str16758 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str16759 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str16760 = private unnamed_addr constant [6 x i8] c"count\00" @.str16761 = private unnamed_addr constant [5 x i8] c"work\00" @.str16762 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str16763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25202: index out of range: \00" @.str16764 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str16765 = private unnamed_addr constant [5 x i8] c"clip\00" @.str16766 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str16767 = private unnamed_addr constant [5 x i8] c"name\00" @.str16768 = private unnamed_addr constant [7 x i8] c"frames\00" @.str16769 = private unnamed_addr constant [4 x i8] c"fps\00" @.str16770 = private unnamed_addr constant [5 x i8] c"mode\00" @.str16771 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str16772 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str16773 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16774 = private unnamed_addr constant [6 x i8] c"frame\00" @.str16775 = private unnamed_addr constant [6 x i8] c"fired\00" @.str16776 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str16777 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16778 = private unnamed_addr constant [5 x i8] c"play\00" @.str16779 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str16780 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16781 = private unnamed_addr constant [5 x i8] c"clip\00" @.str16782 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str16783 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16784 = private unnamed_addr constant [4 x i8] c"fps\00" @.str16785 = private unnamed_addr constant [7 x i8] c"frames\00" @.str16786 = private unnamed_addr constant [5 x i8] c"mode\00" @.str16787 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str16788 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str16789 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25268: index out of range: \00" @.str16790 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str16791 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str16792 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25282: index out of range: \00" @.str16793 = private unnamed_addr constant [2 x i8] c"_\00" @.str16794 = private unnamed_addr constant [2 x i8] c".\00" @.str16795 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str16796 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25296: index out of range: \00" @.str16797 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str16798 = private unnamed_addr constant [2 x i8] c".\00" @.str16799 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25312: index out of range: \00" @.str16800 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str16801 = private unnamed_addr constant [17 x i8] c"emit_variant_new\00" @.str16802 = private unnamed_addr constant [8 x i8] c" takes \00" @.str16803 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str16804 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str16805 = private unnamed_addr constant [2 x i8] c")\00" @.str16806 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16807 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16808 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16809 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25319: index out of range: \00" @.str16810 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25320: index out of range: \00" @.str16811 = private unnamed_addr constant [3 x i8] c" \00" @.str16812 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str16813 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16814 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16815 = private unnamed_addr constant [9 x i8] c" store \00" @.str16816 = private unnamed_addr constant [2 x i8] c" \00" @.str16817 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16818 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str16819 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str16820 = private unnamed_addr constant [5 x i8] c"self\00" @.str16821 = private unnamed_addr constant [2 x i8] c"0\00" @.str16822 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16823 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str16824 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25340: index out of range: \00" @.str16825 = private unnamed_addr constant [10 x i8] c"emit_call\00" @.str16826 = private unnamed_addr constant [7 x i8] c"entity\00" @.str16827 = private unnamed_addr constant [4 x i8] c"key\00" @.str16828 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str16829 = private unnamed_addr constant [4 x i8] c"int\00" @.str16830 = private unnamed_addr constant [5 x i8] c"save\00" @.str16831 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str16832 = private unnamed_addr constant [2 x i8] c"0\00" @.str16833 = private unnamed_addr constant [5 x i8] c"void\00" @.str16834 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str16835 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str16836 = private unnamed_addr constant [2 x i8] c"0\00" @.str16837 = private unnamed_addr constant [5 x i8] c"void\00" @.str16838 = private unnamed_addr constant [5 x i8] c"load\00" @.str16839 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str16840 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16841 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str16842 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str16843 = private unnamed_addr constant [4 x i8] c"int\00" @.str16844 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str16845 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25347: index out of range: \00" @.str16846 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str16847 = private unnamed_addr constant [2 x i8] c")\00" @.str16848 = private unnamed_addr constant [4 x i8] c"int\00" @.str16849 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str16850 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25351: index out of range: \00" @.str16851 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25352: index out of range: \00" @.str16852 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str16853 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16854 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16855 = private unnamed_addr constant [2 x i8] c"0\00" @.str16856 = private unnamed_addr constant [5 x i8] c"void\00" @.str16857 = private unnamed_addr constant [5 x i8] c"quit\00" @.str16858 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str16859 = private unnamed_addr constant [2 x i8] c"0\00" @.str16860 = private unnamed_addr constant [5 x i8] c"void\00" @.str16861 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str16862 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25363: index out of range: \00" @.str16863 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25363: index out of range: \00" @.str16864 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str16865 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16866 = private unnamed_addr constant [2 x i8] c")\00" @.str16867 = private unnamed_addr constant [4 x i8] c"int\00" @.str16868 = private unnamed_addr constant [6 x i8] c"apply\00" @.str16869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25367: index out of range: \00" @.str16870 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25367: index out of range: \00" @.str16871 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25367: index out of range: \00" @.str16872 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str16873 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16874 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16875 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16876 = private unnamed_addr constant [2 x i8] c"0\00" @.str16877 = private unnamed_addr constant [5 x i8] c"void\00" @.str16878 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str16879 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25372: index out of range: \00" @.str16880 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str16881 = private unnamed_addr constant [2 x i8] c")\00" @.str16882 = private unnamed_addr constant [4 x i8] c"int\00" @.str16883 = private unnamed_addr constant [6 x i8] c"owner\00" @.str16884 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25376: index out of range: \00" @.str16885 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str16886 = private unnamed_addr constant [2 x i8] c")\00" @.str16887 = private unnamed_addr constant [4 x i8] c"int\00" @.str16888 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str16889 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25380: index out of range: \00" @.str16890 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25380: index out of range: \00" @.str16891 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str16892 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16893 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16894 = private unnamed_addr constant [2 x i8] c"0\00" @.str16895 = private unnamed_addr constant [5 x i8] c"void\00" @.str16896 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str16897 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25385: index out of range: \00" @.str16898 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str16899 = private unnamed_addr constant [2 x i8] c")\00" @.str16900 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16901 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str16902 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str16903 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str16904 = private unnamed_addr constant [4 x i8] c", 1\00" @.str16905 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str16906 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str16907 = private unnamed_addr constant [5 x i8] c"bool\00" @.str16908 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str16909 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str16910 = private unnamed_addr constant [4 x i8] c"int\00" @.str16911 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str16912 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str16913 = private unnamed_addr constant [2 x i8] c"0\00" @.str16914 = private unnamed_addr constant [5 x i8] c"void\00" @.str16915 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str16916 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str16917 = private unnamed_addr constant [2 x i8] c"0\00" @.str16918 = private unnamed_addr constant [5 x i8] c"void\00" @.str16919 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str16920 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str16921 = private unnamed_addr constant [2 x i8] c"0\00" @.str16922 = private unnamed_addr constant [5 x i8] c"void\00" @.str16923 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str16924 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25398: index out of range: \00" @.str16925 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16926 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str16927 = private unnamed_addr constant [2 x i8] c"0\00" @.str16928 = private unnamed_addr constant [5 x i8] c"void\00" @.str16929 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str16930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25401: index out of range: \00" @.str16931 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str16932 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str16933 = private unnamed_addr constant [2 x i8] c"0\00" @.str16934 = private unnamed_addr constant [5 x i8] c"void\00" @.str16935 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str16936 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str16937 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25408: index out of range: \00" @.str16938 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25408: index out of range: \00" @.str16939 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25408: index out of range: \00" @.str16940 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str16941 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str16942 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16943 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16944 = private unnamed_addr constant [2 x i8] c"0\00" @.str16945 = private unnamed_addr constant [5 x i8] c"void\00" @.str16946 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str16947 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str16948 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25414: index out of range: \00" @.str16949 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25414: index out of range: \00" @.str16950 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str16951 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str16952 = private unnamed_addr constant [2 x i8] c")\00" @.str16953 = private unnamed_addr constant [4 x i8] c"int\00" @.str16954 = private unnamed_addr constant [4 x i8] c"len\00" @.str16955 = private unnamed_addr constant [5 x i8] c"push\00" @.str16956 = private unnamed_addr constant [5 x i8] c"keep\00" @.str16957 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25419: index out of range: \00" @.str16958 = private unnamed_addr constant [7 x i8] c"intern\00" @.str16959 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25421: index out of range: \00" @.str16960 = private unnamed_addr constant [25 x i8] c"call ptr @lp_intern(ptr \00" @.str16961 = private unnamed_addr constant [2 x i8] c")\00" @.str16962 = private unnamed_addr constant [7 x i8] c"string\00" @.str16963 = private unnamed_addr constant [7 x i8] c"string\00" @.str16964 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25425: index out of range: \00" @.str16965 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16966 = private unnamed_addr constant [2 x i8] c"+\00" @.str16967 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16968 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16969 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str16970 = private unnamed_addr constant [2 x i8] c")\00" @.str16971 = private unnamed_addr constant [7 x i8] c"string\00" @.str16972 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str16973 = private unnamed_addr constant [2 x i8] c")\00" @.str16974 = private unnamed_addr constant [7 x i8] c"string\00" @.str16975 = private unnamed_addr constant [6 x i8] c"print\00" @.str16976 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25436: index out of range: \00" @.str16977 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str16978 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str16979 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16980 = private unnamed_addr constant [4 x i8] c"i64\00" @.str16981 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str16982 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16983 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str16984 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16985 = private unnamed_addr constant [26 x i8] c" call void @lp_free(ptr \00" @.str16986 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str16987 = private unnamed_addr constant [2 x i8] c"0\00" @.str16988 = private unnamed_addr constant [5 x i8] c"void\00" @.str16989 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str16990 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25445: index out of range: \00" @.str16991 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str16992 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str16993 = private unnamed_addr constant [25 x i8] c"call ptr @lp_malloc(i64 \00" @.str16994 = private unnamed_addr constant [2 x i8] c")\00" @.str16995 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str16996 = private unnamed_addr constant [6 x i8] c"words\00" @.str16997 = private unnamed_addr constant [4 x i8] c"int\00" @.str16998 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25449: index out of range: \00" @.str16999 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str17000 = private unnamed_addr constant [5 x i8] c"byte\00" @.str17001 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25450: index out of range: \00" @.str17002 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str17003 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17004 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25451: index out of range: \00" @.str17005 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str17006 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17007 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25452: index out of range: \00" @.str17008 = private unnamed_addr constant [5 x i8] c"view\00" @.str17009 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str17010 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25458: index out of range: \00" @.str17011 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str17012 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17013 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17014 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25462: index out of range: \00" @.str17015 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17016 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str17017 = private unnamed_addr constant [5 x i8] c", 16\00" @.str17018 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17019 = private unnamed_addr constant [6 x i8] c"float\00" @.str17020 = private unnamed_addr constant [7 x i8] c"double\00" @.str17021 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25469: index out of range: \00" @.str17022 = private unnamed_addr constant [4 x i8] c"int\00" @.str17023 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25472: index out of range: \00" @.str17024 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17025 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str17026 = private unnamed_addr constant [5 x i8] c", 16\00" @.str17027 = private unnamed_addr constant [4 x i8] c"int\00" @.str17028 = private unnamed_addr constant [4 x i8] c"i64\00" @.str17029 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str17030 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17031 = private unnamed_addr constant [4 x i8] c"int\00" @.str17032 = private unnamed_addr constant [4 x i8] c"int\00" @.str17033 = private unnamed_addr constant [5 x i8] c"long\00" @.str17034 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25479: index out of range: \00" @.str17035 = private unnamed_addr constant [5 x i8] c"long\00" @.str17036 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str17037 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25483: index out of range: \00" @.str17038 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str17039 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25484: index out of range: \00" @.str17040 = private unnamed_addr constant [12 x i8] c"double_bits\00" @.str17041 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25485: index out of range: \00" @.str17042 = private unnamed_addr constant [17 x i8] c"double_from_bits\00" @.str17043 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25486: index out of range: \00" @.str17044 = private unnamed_addr constant [7 x i8] c"floats\00" @.str17045 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str17046 = private unnamed_addr constant [6 x i8] c"float\00" @.str17047 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str17048 = private unnamed_addr constant [7 x i8] c"double\00" @.str17049 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25490: index out of range: \00" @.str17050 = private unnamed_addr constant [6 x i8] c"floor\00" @.str17051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25492: index out of range: \00" @.str17052 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str17053 = private unnamed_addr constant [5 x i8] c", 16\00" @.str17054 = private unnamed_addr constant [4 x i8] c"int\00" @.str17055 = private unnamed_addr constant [7 x i8] c"expect\00" @.str17056 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25500: index out of range: \00" @.str17057 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17058 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17059 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str17060 = private unnamed_addr constant [1 x i8] c"\00" @.str17061 = private unnamed_addr constant [1 x i8] c"\00" @.str17062 = private unnamed_addr constant [2 x i8] c"0\00" @.str17063 = private unnamed_addr constant [5 x i8] c"void\00" @.str17064 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str17065 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25508: index out of range: \00" @.str17066 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25508: index out of range: \00" @.str17067 = private unnamed_addr constant [7 x i8] c"string\00" @.str17068 = private unnamed_addr constant [7 x i8] c"string\00" @.str17069 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17070 = private unnamed_addr constant [3 x i8] c", \00" @.str17071 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str17072 = private unnamed_addr constant [2 x i8] c"0\00" @.str17073 = private unnamed_addr constant [5 x i8] c"void\00" @.str17074 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str17075 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25518: index out of range: \00" @.str17076 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25518: index out of range: \00" @.str17077 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25518: index out of range: \00" @.str17078 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str17079 = private unnamed_addr constant [3 x i8] c", \00" @.str17080 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str17081 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str17082 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17083 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str17084 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17085 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17086 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str17087 = private unnamed_addr constant [3 x i8] c", \00" @.str17088 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str17089 = private unnamed_addr constant [2 x i8] c"0\00" @.str17090 = private unnamed_addr constant [5 x i8] c"void\00" @.str17091 = private unnamed_addr constant [6 x i8] c"panic\00" @.str17092 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25537: index out of range: \00" @.str17093 = private unnamed_addr constant [2 x i8] c":\00" @.str17094 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str17095 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str17096 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str17097 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17098 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17099 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str17100 = private unnamed_addr constant [2 x i8] c"0\00" @.str17101 = private unnamed_addr constant [5 x i8] c"void\00" @.str17102 = private unnamed_addr constant [7 x i8] c"assert\00" @.str17103 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25547: index out of range: \00" @.str17104 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17105 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17106 = private unnamed_addr constant [5 x i8] c"asok\00" @.str17107 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str17108 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str17109 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17110 = private unnamed_addr constant [10 x i8] c", label %\00" @.str17111 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17112 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17113 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25552: index out of range: \00" @.str17114 = private unnamed_addr constant [2 x i8] c":\00" @.str17115 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str17116 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str17117 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str17118 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17119 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17120 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str17121 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str17122 = private unnamed_addr constant [2 x i8] c"0\00" @.str17123 = private unnamed_addr constant [5 x i8] c"void\00" @.str17124 = private unnamed_addr constant [3 x i8] c"ok\00" @.str17125 = private unnamed_addr constant [3 x i8] c"ok\00" @.str17126 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25568: index out of range: \00" @.str17127 = private unnamed_addr constant [28 x i8] c"call ptr @lp_malloc(i64 16)\00" @.str17128 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17129 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17130 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str17131 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17132 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17133 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str17134 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str17135 = private unnamed_addr constant [4 x i8] c"int\00" @.str17136 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17137 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17138 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17139 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str17140 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str17141 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17142 = private unnamed_addr constant [7 x i8] c"result\00" @.str17143 = private unnamed_addr constant [4 x i8] c"err\00" @.str17144 = private unnamed_addr constant [4 x i8] c"err\00" @.str17145 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25580: index out of range: \00" @.str17146 = private unnamed_addr constant [28 x i8] c"call ptr @lp_malloc(i64 16)\00" @.str17147 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17148 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17149 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str17150 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17151 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17152 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str17153 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str17154 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17155 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17156 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str17157 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str17158 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17159 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17160 = private unnamed_addr constant [7 x i8] c"result\00" @.str17161 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str17162 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str17163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25591: index out of range: \00" @.str17164 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17165 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17166 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17167 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17168 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17169 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str17170 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17171 = private unnamed_addr constant [5 x i8] c"bool\00" @.str17172 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str17173 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str17174 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25598: index out of range: \00" @.str17175 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str17176 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17177 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17178 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17179 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17180 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str17181 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17182 = private unnamed_addr constant [5 x i8] c"bool\00" @.str17183 = private unnamed_addr constant [5 x i8] c"some\00" @.str17184 = private unnamed_addr constant [5 x i8] c"some\00" @.str17185 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25612: index out of range: \00" @.str17186 = private unnamed_addr constant [27 x i8] c"call ptr @lp_malloc(i64 8)\00" @.str17187 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17188 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17189 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str17190 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17191 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17192 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str17193 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str17194 = private unnamed_addr constant [4 x i8] c"int\00" @.str17195 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17196 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17197 = private unnamed_addr constant [7 x i8] c"option\00" @.str17198 = private unnamed_addr constant [5 x i8] c"none\00" @.str17199 = private unnamed_addr constant [5 x i8] c"none\00" @.str17200 = private unnamed_addr constant [27 x i8] c"call ptr @lp_malloc(i64 8)\00" @.str17201 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17202 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17203 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str17204 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17205 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17206 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str17207 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str17208 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17209 = private unnamed_addr constant [7 x i8] c"option\00" @.str17210 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str17211 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str17212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25630: index out of range: \00" @.str17213 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17214 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17215 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17216 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17217 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17218 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str17219 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17220 = private unnamed_addr constant [5 x i8] c"bool\00" @.str17221 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str17222 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str17223 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25637: index out of range: \00" @.str17224 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17225 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17226 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17227 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17228 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17229 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str17230 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17231 = private unnamed_addr constant [5 x i8] c"bool\00" @.str17232 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str17233 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str17234 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25644: index out of range: \00" @.str17235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25645: index out of range: \00" @.str17236 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17237 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str17238 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17239 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str17240 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str17241 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str17242 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str17243 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17244 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str17245 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17246 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17247 = private unnamed_addr constant [4 x i8] c"int\00" @.str17248 = private unnamed_addr constant [4 x i8] c"int\00" @.str17249 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str17250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25656: index out of range: \00" @.str17251 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str17252 = private unnamed_addr constant [2 x i8] c")\00" @.str17253 = private unnamed_addr constant [4 x i8] c"int\00" @.str17254 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str17255 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25657: index out of range: \00" @.str17256 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25657: index out of range: \00" @.str17257 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str17258 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str17259 = private unnamed_addr constant [2 x i8] c")\00" @.str17260 = private unnamed_addr constant [4 x i8] c"int\00" @.str17261 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str17262 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25659: index out of range: \00" @.str17263 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25659: index out of range: \00" @.str17264 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25659: index out of range: \00" @.str17265 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str17266 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17267 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17268 = private unnamed_addr constant [2 x i8] c")\00" @.str17269 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str17270 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17271 = private unnamed_addr constant [4 x i8] c"int\00" @.str17272 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str17273 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25664: index out of range: \00" @.str17274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25664: index out of range: \00" @.str17275 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25664: index out of range: \00" @.str17276 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25664: index out of range: \00" @.str17277 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str17278 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str17279 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str17280 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17281 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17282 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str17283 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17284 = private unnamed_addr constant [2 x i8] c"0\00" @.str17285 = private unnamed_addr constant [5 x i8] c"void\00" @.str17286 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str17287 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25669: index out of range: \00" @.str17288 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25669: index out of range: \00" @.str17289 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str17290 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17291 = private unnamed_addr constant [2 x i8] c")\00" @.str17292 = private unnamed_addr constant [4 x i8] c"int\00" @.str17293 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str17294 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str17295 = private unnamed_addr constant [4 x i8] c"int\00" @.str17296 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str17297 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25671: index out of range: \00" @.str17298 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str17299 = private unnamed_addr constant [2 x i8] c")\00" @.str17300 = private unnamed_addr constant [4 x i8] c"int\00" @.str17301 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str17302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25672: index out of range: \00" @.str17303 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str17304 = private unnamed_addr constant [2 x i8] c")\00" @.str17305 = private unnamed_addr constant [4 x i8] c"int\00" @.str17306 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str17307 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25673: index out of range: \00" @.str17308 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25673: index out of range: \00" @.str17309 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str17310 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17311 = private unnamed_addr constant [2 x i8] c")\00" @.str17312 = private unnamed_addr constant [4 x i8] c"int\00" @.str17313 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str17314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25674: index out of range: \00" @.str17315 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25674: index out of range: \00" @.str17316 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str17317 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17318 = private unnamed_addr constant [2 x i8] c")\00" @.str17319 = private unnamed_addr constant [4 x i8] c"int\00" @.str17320 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str17321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25675: index out of range: \00" @.str17322 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25675: index out of range: \00" @.str17323 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str17324 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17325 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17326 = private unnamed_addr constant [2 x i8] c"0\00" @.str17327 = private unnamed_addr constant [5 x i8] c"void\00" @.str17328 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str17329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25676: index out of range: \00" @.str17330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25676: index out of range: \00" @.str17331 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str17332 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17333 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17334 = private unnamed_addr constant [2 x i8] c"0\00" @.str17335 = private unnamed_addr constant [5 x i8] c"void\00" @.str17336 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str17337 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25677: index out of range: \00" @.str17338 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str17339 = private unnamed_addr constant [2 x i8] c")\00" @.str17340 = private unnamed_addr constant [4 x i8] c"int\00" @.str17341 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str17342 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str17343 = private unnamed_addr constant [4 x i8] c"int\00" @.str17344 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str17345 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25680: index out of range: \00" @.str17346 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str17347 = private unnamed_addr constant [2 x i8] c")\00" @.str17348 = private unnamed_addr constant [7 x i8] c"string\00" @.str17349 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str17350 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25681: index out of range: \00" @.str17351 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str17352 = private unnamed_addr constant [2 x i8] c")\00" @.str17353 = private unnamed_addr constant [4 x i8] c"int\00" @.str17354 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str17355 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25682: index out of range: \00" @.str17356 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25682: index out of range: \00" @.str17357 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str17358 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17359 = private unnamed_addr constant [2 x i8] c")\00" @.str17360 = private unnamed_addr constant [7 x i8] c"string\00" @.str17361 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str17362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25683: index out of range: \00" @.str17363 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25683: index out of range: \00" @.str17364 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str17365 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17366 = private unnamed_addr constant [2 x i8] c")\00" @.str17367 = private unnamed_addr constant [7 x i8] c"string\00" @.str17368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25699: index out of range: \00" @.str17369 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str17370 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17371 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25703: index out of range: \00" @.str17372 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17373 = private unnamed_addr constant [3 x i8] c" \00" @.str17374 = private unnamed_addr constant [2 x i8] c"0\00" @.str17375 = private unnamed_addr constant [5 x i8] c"void\00" @.str17376 = private unnamed_addr constant [4 x i8] c" = \00" @.str17377 = private unnamed_addr constant [6 x i8] c"call \00" @.str17378 = private unnamed_addr constant [3 x i8] c" @\00" @.str17379 = private unnamed_addr constant [2 x i8] c"(\00" @.str17380 = private unnamed_addr constant [3 x i8] c", \00" @.str17381 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25717: index out of range: \00" @.str17382 = private unnamed_addr constant [2 x i8] c" \00" @.str17383 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25717: index out of range: \00" @.str17384 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17385 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str17386 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str17387 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25751: index out of range: \00" @.str17388 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25753: index out of range: \00" @.str17389 = private unnamed_addr constant [3 x i8] c" \00" @.str17390 = private unnamed_addr constant [2 x i8] c"0\00" @.str17391 = private unnamed_addr constant [5 x i8] c"void\00" @.str17392 = private unnamed_addr constant [4 x i8] c" = \00" @.str17393 = private unnamed_addr constant [6 x i8] c"call \00" @.str17394 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str17395 = private unnamed_addr constant [2 x i8] c"(\00" @.str17396 = private unnamed_addr constant [3 x i8] c", \00" @.str17397 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25764: index out of range: \00" @.str17398 = private unnamed_addr constant [2 x i8] c" \00" @.str17399 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25764: index out of range: \00" @.str17400 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17401 = private unnamed_addr constant [2 x i8] c"0\00" @.str17402 = private unnamed_addr constant [4 x i8] c"int\00" @.str17403 = private unnamed_addr constant [2 x i8] c"0\00" @.str17404 = private unnamed_addr constant [4 x i8] c"int\00" @.str17405 = private unnamed_addr constant [5 x i8] c"long\00" @.str17406 = private unnamed_addr constant [4 x i8] c"int\00" @.str17407 = private unnamed_addr constant [6 x i8] c"float\00" @.str17408 = private unnamed_addr constant [6 x i8] c"float\00" @.str17409 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25794: index out of range: \00" @.str17411 = private unnamed_addr constant [5 x i8] c"bool\00" @.str17412 = private unnamed_addr constant [5 x i8] c"null\00" @.str17413 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str17414 = private unnamed_addr constant [7 x i8] c"entity\00" @.str17415 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str17416 = private unnamed_addr constant [14 x i8] c"emit_expr_raw\00" @.str17417 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17418 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str17419 = private unnamed_addr constant [2 x i8] c")\00" @.str17420 = private unnamed_addr constant [7 x i8] c"string\00" @.str17421 = private unnamed_addr constant [4 x i8] c"Key\00" @.str17422 = private unnamed_addr constant [7 x i8] c"string\00" @.str17423 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25820: index out of range: \00" @.str17424 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25820: index out of range: \00" @.str17425 = private unnamed_addr constant [7 x i8] c"const \00" @.str17426 = private unnamed_addr constant [6 x i8] c"load \00" @.str17427 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str17428 = private unnamed_addr constant [4 x i8] c"int\00" @.str17429 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str17430 = private unnamed_addr constant [6 x i8] c"Color\00" @.str17431 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str17432 = private unnamed_addr constant [4 x i8] c"int\00" @.str17433 = private unnamed_addr constant [4 x i8] c"Key\00" @.str17434 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str17435 = private unnamed_addr constant [4 x i8] c"int\00" @.str17436 = private unnamed_addr constant [4 x i8] c"int\00" @.str17437 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str17438 = private unnamed_addr constant [2 x i8] c"x\00" @.str17439 = private unnamed_addr constant [2 x i8] c"y\00" @.str17440 = private unnamed_addr constant [2 x i8] c"x\00" @.str17441 = private unnamed_addr constant [4 x i8] c"int\00" @.str17442 = private unnamed_addr constant [4 x i8] c"int\00" @.str17443 = private unnamed_addr constant [5 x i8] c"byte\00" @.str17444 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str17445 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str17446 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17447 = private unnamed_addr constant [4 x i8] c"int\00" @.str17448 = private unnamed_addr constant [2 x i8] c"-\00" @.str17449 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str17450 = private unnamed_addr constant [2 x i8] c" \00" @.str17451 = private unnamed_addr constant [10 x i8] c"operator \00" @.str17452 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str17453 = private unnamed_addr constant [2 x i8] c"-\00" @.str17454 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str17455 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str17456 = private unnamed_addr constant [4 x i8] c"i64\00" @.str17457 = private unnamed_addr constant [2 x i8] c"-\00" @.str17458 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str17459 = private unnamed_addr constant [5 x i8] c"long\00" @.str17460 = private unnamed_addr constant [2 x i8] c"~\00" @.str17461 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str17462 = private unnamed_addr constant [5 x i8] c", -1\00" @.str17463 = private unnamed_addr constant [5 x i8] c"long\00" @.str17464 = private unnamed_addr constant [2 x i8] c"-\00" @.str17465 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str17466 = private unnamed_addr constant [2 x i8] c"~\00" @.str17467 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str17468 = private unnamed_addr constant [5 x i8] c", -1\00" @.str17469 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str17470 = private unnamed_addr constant [4 x i8] c", 0\00" @.str17471 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str17472 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str17473 = private unnamed_addr constant [5 x i8] c"bool\00" @.str17474 = private unnamed_addr constant [35 x i8] c"cannot emit expression (node kind \00" @.str17475 = private unnamed_addr constant [2 x i8] c")\00" @.str17476 = private unnamed_addr constant [2 x i8] c"0\00" @.str17477 = private unnamed_addr constant [4 x i8] c"int\00" @.str17478 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str17479 = private unnamed_addr constant [2 x i8] c",\00" @.str17480 = private unnamed_addr constant [10 x i8] c"fn_sig_of\00" @.str17481 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25932: index out of range: \00" @.str17482 = private unnamed_addr constant [5 x i8] c"void\00" @.str17483 = private unnamed_addr constant [4 x i8] c")->\00" @.str17484 = private unnamed_addr constant [13 x i8] c"fn_ty_params\00" @.str17485 = private unnamed_addr constant [10 x i8] c"fn_ty_ret\00" @.str17486 = private unnamed_addr constant [5 x i8] c"void\00" @.str17487 = private unnamed_addr constant [4 x i8] c"fn \00" @.str17488 = private unnamed_addr constant [11 x i8] c"emit_fnref\00" @.str17489 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str17490 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str17491 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25989: index out of range: \00" @.str17492 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:25989: index out of range: \00" @.str17493 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str17494 = private unnamed_addr constant [15 x i8] c"emit_inj_thunk\00" @.str17495 = private unnamed_addr constant [5 x i8] c"$inj\00" @.str17496 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26000: index out of range: \00" @.str17497 = private unnamed_addr constant [5 x i8] c"void\00" @.str17498 = private unnamed_addr constant [1 x i8] c"\00" @.str17499 = private unnamed_addr constant [1 x i8] c"\00" @.str17500 = private unnamed_addr constant [1 x i8] c"\00" @.str17501 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26012: index out of range: \00" @.str17502 = private unnamed_addr constant [5 x i8] c" %s\00" @.str17503 = private unnamed_addr constant [22 x i8] c" = call ptr @S_state$\00" @.str17504 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str17505 = private unnamed_addr constant [5 x i8] c" %s\00" @.str17506 = private unnamed_addr constant [27 x i8] c" = load ptr, ptr @g_state$\00" @.str17507 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17508 = private unnamed_addr constant [3 x i8] c", \00" @.str17509 = private unnamed_addr constant [7 x i8] c"ptr %s\00" @.str17510 = private unnamed_addr constant [3 x i8] c", \00" @.str17511 = private unnamed_addr constant [4 x i8] c" %p\00" @.str17512 = private unnamed_addr constant [3 x i8] c", \00" @.str17513 = private unnamed_addr constant [4 x i8] c" %p\00" @.str17514 = private unnamed_addr constant [8 x i8] c" call \00" @.str17515 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str17516 = private unnamed_addr constant [2 x i8] c"(\00" @.str17517 = private unnamed_addr constant [14 x i8] c")\0A ret void\0A\00" @.str17518 = private unnamed_addr constant [5 x i8] c"void\00" @.str17519 = private unnamed_addr constant [13 x i8] c" %r = call \00" @.str17520 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str17521 = private unnamed_addr constant [2 x i8] c"(\00" @.str17522 = private unnamed_addr constant [9 x i8] c")\0A ret \00" @.str17523 = private unnamed_addr constant [5 x i8] c" %r\0A\00" @.str17524 = private unnamed_addr constant [8 x i8] c"define \00" @.str17525 = private unnamed_addr constant [2 x i8] c" \00" @.str17526 = private unnamed_addr constant [2 x i8] c"(\00" @.str17527 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str17528 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str17529 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str17530 = private unnamed_addr constant [7 x i8] c"fn_sym\00" @.str17531 = private unnamed_addr constant [3 x i8] c"a \00" @.str17532 = private unnamed_addr constant [19 x i8] c"emit_indirect_call\00" @.str17533 = private unnamed_addr constant [8 x i8] c" takes \00" @.str17534 = private unnamed_addr constant [35 x i8] c" argument(s), and this call gives \00" @.str17535 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26045: index out of range: \00" @.str17536 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26046: index out of range: \00" @.str17537 = private unnamed_addr constant [3 x i8] c" \00" @.str17538 = private unnamed_addr constant [2 x i8] c"0\00" @.str17539 = private unnamed_addr constant [5 x i8] c"void\00" @.str17540 = private unnamed_addr constant [4 x i8] c" = \00" @.str17541 = private unnamed_addr constant [6 x i8] c"call \00" @.str17542 = private unnamed_addr constant [2 x i8] c" \00" @.str17543 = private unnamed_addr constant [2 x i8] c"(\00" @.str17544 = private unnamed_addr constant [3 x i8] c", \00" @.str17545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26061: index out of range: \00" @.str17546 = private unnamed_addr constant [2 x i8] c" \00" @.str17547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26061: index out of range: \00" @.str17548 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17549 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26073: index out of range: \00" @.str17550 = private unnamed_addr constant [3 x i8] c"a \00" @.str17551 = private unnamed_addr constant [13 x i8] c"callee_value\00" @.str17552 = private unnamed_addr constant [40 x i8] c" is not a function and cannot be called\00" @.str17553 = private unnamed_addr constant [5 x i8] c"void\00" @.str17554 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26100: index out of range: \00" @.str17555 = private unnamed_addr constant [4 x i8] c"i32\00" @.str17556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26100: index out of range: \00" @.str17557 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str17558 = private unnamed_addr constant [4 x i8] c"fn \00" @.str17559 = private unnamed_addr constant [17 x i8] c"check_worker_ref\00" @.str17560 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str17561 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26105: index out of range: \00" @.str17562 = private unnamed_addr constant [4 x i8] c"fn \00" @.str17563 = private unnamed_addr constant [55 x i8] c": a worker runs on every core at once, so it may read \00" @.str17564 = private unnamed_addr constant [21 x i8] c" but not change it (\00" @.str17565 = private unnamed_addr constant [7 x i8] c": mut \00" @.str17566 = private unnamed_addr constant [58 x i8] c"); write results into ctx, shared counts through Sync.add\00" @.str17567 = private unnamed_addr constant [17 x i8] c"LUDIC_VIS_REPORT\00" @.str17568 = private unnamed_addr constant [10 x i8] c"vis_plain\00" @.str17569 = private unnamed_addr constant [7 x i8] c"state$\00" @.str17570 = private unnamed_addr constant [15 x i8] c"ludic_reduce__\00" @.str17571 = private unnamed_addr constant [15 x i8] c"ludic_rowred__\00" @.str17572 = private unnamed_addr constant [1 x i8] c"\00" @.str17573 = private unnamed_addr constant [7 x i8] c"uses: \00" @.str17574 = private unnamed_addr constant [10 x i8] c"vis_check\00" @.str17575 = private unnamed_addr constant [2 x i8] c":\00" @.str17576 = private unnamed_addr constant [3 x i8] c": \00" @.str17577 = private unnamed_addr constant [2 x i8] c".\00" @.str17578 = private unnamed_addr constant [12 x i8] c" used from \00" @.str17579 = private unnamed_addr constant [10 x i8] c" (module \00" @.str17580 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str17581 = private unnamed_addr constant [7 x i8] c" uses \00" @.str17582 = private unnamed_addr constant [2 x i8] c".\00" @.str17583 = private unnamed_addr constant [3 x i8] c" (\00" @.str17584 = private unnamed_addr constant [2 x i8] c":\00" @.str17585 = private unnamed_addr constant [14 x i8] c"): add 'uses \00" @.str17586 = private unnamed_addr constant [6 x i8] c"' to \00" @.str17587 = private unnamed_addr constant [42 x i8] c"'s module line, or take it through a port\00" @.str17588 = private unnamed_addr constant [6 x i8] c"error\00" @.str17589 = private unnamed_addr constant [1 x i8] c"\00" @.str17590 = private unnamed_addr constant [6 x i8] c"vis: \00" @.str17591 = private unnamed_addr constant [2 x i8] c":\00" @.str17592 = private unnamed_addr constant [3 x i8] c": \00" @.str17593 = private unnamed_addr constant [2 x i8] c".\00" @.str17594 = private unnamed_addr constant [12 x i8] c" used from \00" @.str17595 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17596 = private unnamed_addr constant [23 x i8] c" is private to module \00" @.str17597 = private unnamed_addr constant [42 x i8] c"; mark it 'export' where it is declared (\00" @.str17598 = private unnamed_addr constant [2 x i8] c")\00" @.str17599 = private unnamed_addr constant [6 x i8] c"error\00" @.str17600 = private unnamed_addr constant [3 x i8] c"wb\00" @.str17601 = private unnamed_addr constant [13 x i8] c"schema_write\00" @.str17602 = private unnamed_addr constant [37 x i8] c"{\0A \22schema_version\22: 1,\0A \22entry\22: \00" @.str17603 = private unnamed_addr constant [17 x i8] c",\0A \22records\22: [\00" @.str17604 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22registries\22: [\00" @.str17605 = private unnamed_addr constant [20 x i8] c"\0A ],\0A \22consts\22: [\00" @.str17606 = private unnamed_addr constant [23 x i8] c"\0A ],\0A \22functions\22: [\00" @.str17607 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22components\22: [\00" @.str17608 = private unnamed_addr constant [21 x i8] c"\0A ],\0A \22natives\22: [\00" @.str17609 = private unnamed_addr constant [19 x i8] c"\0A ],\0A \22units\22: [\00" @.str17610 = private unnamed_addr constant [14 x i8] c"],\0A \22lang\22: \00" @.str17611 = private unnamed_addr constant [13 x i8] c",\0A \22code\22: \00" @.str17612 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str17613 = private unnamed_addr constant [1 x i8] c"\00" @.str17614 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26258: index out of range: \00" @.str17615 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26258: index out of range: \00" @.str17616 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26263: index out of range: \00" @.str17617 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26263: index out of range: \00" @.str17618 = private unnamed_addr constant [5 x i8] c"void\00" @.str17619 = private unnamed_addr constant [1 x i8] c"\00" @.str17620 = private unnamed_addr constant [6 x i8] c"sc_ty\00" @.str17621 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26288: index out of range: \00" @.str17622 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26289: index out of range: \00" @.str17623 = private unnamed_addr constant [2 x i8] c"<\00" @.str17624 = private unnamed_addr constant [11 x i8] c"sc_ty_word\00" @.str17625 = private unnamed_addr constant [3 x i8] c", \00" @.str17626 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26293: index out of range: \00" @.str17627 = private unnamed_addr constant [2 x i8] c">\00" @.str17628 = private unnamed_addr constant [8 x i8] c"sc_text\00" @.str17629 = private unnamed_addr constant [7 x i8] c"sc_doc\00" @.str17630 = private unnamed_addr constant [1 x i8] c"\00" @.str17631 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26338: index out of range: \00" @.str17632 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17633 = private unnamed_addr constant [11 x i8] c"sc_comment\00" @.str17634 = private unnamed_addr constant [5 x i8] c"null\00" @.str17635 = private unnamed_addr constant [5 x i8] c"true\00" @.str17636 = private unnamed_addr constant [6 x i8] c"false\00" @.str17637 = private unnamed_addr constant [2 x i8] c"[\00" @.str17638 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26386: index out of range: \00" @.str17639 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26387: index out of range: \00" @.str17640 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26387: index out of range: \00" @.str17641 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26388: index out of range: \00" @.str17642 = private unnamed_addr constant [3 x i8] c", \00" @.str17643 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17644 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26390: index out of range: \00" @.str17645 = private unnamed_addr constant [11 x i8] c", \22args\22: \00" @.str17646 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26392: index out of range: \00" @.str17647 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26393: index out of range: \00" @.str17648 = private unnamed_addr constant [21 x i8] c", \22unresolved\22: true\00" @.str17649 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26394: index out of range: \00" @.str17650 = private unnamed_addr constant [6 x i8] c"Asset\00" @.str17651 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26394: index out of range: \00" @.str17652 = private unnamed_addr constant [17 x i8] c", \22scope\22: \22map\22\00" @.str17653 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26395: index out of range: \00" @.str17654 = private unnamed_addr constant [4 x i8] c"Ref\00" @.str17655 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26395: index out of range: \00" @.str17656 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26395: index out of range: \00" @.str17657 = private unnamed_addr constant [17 x i8] c", \22scope\22: \22map\22\00" @.str17658 = private unnamed_addr constant [2 x i8] c"}\00" @.str17659 = private unnamed_addr constant [2 x i8] c"]\00" @.str17660 = private unnamed_addr constant [9 x i8] c"\22file\22: \00" @.str17661 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str17662 = private unnamed_addr constant [10 x i8] c", \22col\22: \00" @.str17663 = private unnamed_addr constant [2 x i8] c",\00" @.str17664 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17665 = private unnamed_addr constant [8 x i8] c"sc_sort\00" @.str17666 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26434: index out of range: \00" @.str17667 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26434: index out of range: \00" @.str17668 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26434: index out of range: \00" @.str17669 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26434: index out of range: \00" @.str17670 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26435: index out of range: \00" @.str17671 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26435: index out of range: \00" @.str17672 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26438: index out of range: \00" @.str17673 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26438: index out of range: \00" @.str17674 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26445: index out of range: \00" @.str17675 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26445: index out of range: \00" @.str17676 = private unnamed_addr constant [1 x i8] c"\00" @.str17677 = private unnamed_addr constant [2 x i8] c"\09\00" @.str17678 = private unnamed_addr constant [7 x i8] c"sc_key\00" @.str17679 = private unnamed_addr constant [2 x i8] c"\09\00" @.str17680 = private unnamed_addr constant [11 x i8] c"sc_records\00" @.str17681 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26468: index out of range: \00" @.str17682 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26478: index out of range: \00" @.str17683 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26489: index out of range: \00" @.str17684 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26489: index out of range: \00" @.str17685 = private unnamed_addr constant [5 x i8] c" \00" @.str17686 = private unnamed_addr constant [9 x i8] c"property\00" @.str17687 = private unnamed_addr constant [6 x i8] c"event\00" @.str17688 = private unnamed_addr constant [6 x i8] c"state\00" @.str17689 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17690 = private unnamed_addr constant [11 x i8] c", \22kind\22: \00" @.str17691 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17692 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str17693 = private unnamed_addr constant [3 x i8] c", \00" @.str17694 = private unnamed_addr constant [18 x i8] c", \22type_params\22: \00" @.str17695 = private unnamed_addr constant [5 x i8] c"null\00" @.str17696 = private unnamed_addr constant [15 x i8] c",\0A \22doc\22: \00" @.str17697 = private unnamed_addr constant [19 x i8] c",\0A \22fields\22: [\00" @.str17698 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26515: index out of range: \00" @.str17699 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str17700 = private unnamed_addr constant [3 x i8] c"]}\00" @.str17701 = private unnamed_addr constant [7 x i8] c" \00" @.str17702 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17703 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str17704 = private unnamed_addr constant [14 x i8] c", \22default\22: \00" @.str17705 = private unnamed_addr constant [3 x i8] c", \00" @.str17706 = private unnamed_addr constant [17 x i8] c", \22attributes\22: \00" @.str17707 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str17708 = private unnamed_addr constant [2 x i8] c"}\00" @.str17709 = private unnamed_addr constant [14 x i8] c"sc_registries\00" @.str17710 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26548: index out of range: \00" @.str17711 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26551: index out of range: \00" @.str17712 = private unnamed_addr constant [1 x i8] c"\00" @.str17713 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26560: index out of range: \00" @.str17714 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26565: index out of range: \00" @.str17715 = private unnamed_addr constant [5 x i8] c" \00" @.str17716 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17717 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26568: index out of range: \00" @.str17718 = private unnamed_addr constant [13 x i8] c", \22record\22: \00" @.str17719 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26570: index out of range: \00" @.str17720 = private unnamed_addr constant [13 x i8] c", \22prefix\22: \00" @.str17721 = private unnamed_addr constant [5 x i8] c"null\00" @.str17722 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26572: index out of range: \00" @.str17723 = private unnamed_addr constant [13 x i8] c", \22source\22: \00" @.str17724 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26574: index out of range: \00" @.str17725 = private unnamed_addr constant [11 x i8] c", \22open\22: \00" @.str17726 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26576: index out of range: \00" @.str17727 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str17728 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17729 = private unnamed_addr constant [28 x i8] c", \22scope\22: \22map\22, \22chunk\22: \00" @.str17730 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26583: index out of range: \00" @.str17731 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26583: index out of range: \00" @.str17732 = private unnamed_addr constant [5 x i8] c"null\00" @.str17733 = private unnamed_addr constant [11 x i8] c", \22maps\22: \00" @.str17734 = private unnamed_addr constant [33 x i8] c", \22scope\22: \22game\22, \22chunk\22: null\00" @.str17735 = private unnamed_addr constant [8 x i8] c",\0A \00" @.str17736 = private unnamed_addr constant [17 x i8] c", \22attributes\22: \00" @.str17737 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26592: index out of range: \00" @.str17738 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str17739 = private unnamed_addr constant [17 x i8] c",\0A \22count\22: \00" @.str17740 = private unnamed_addr constant [25 x i8] c",\0A \22contributors\22: [\00" @.str17741 = private unnamed_addr constant [21 x i8] c"],\0A \22entries\22: [\00" @.str17742 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26603: index out of range: \00" @.str17743 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str17744 = private unnamed_addr constant [3 x i8] c"]}\00" @.str17745 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26611: index out of range: \00" @.str17746 = private unnamed_addr constant [5 x i8] c"def\0A\00" @.str17747 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26611: index out of range: \00" @.str17748 = private unnamed_addr constant [14 x i8] c"sc_contrib_id\00" @.str17749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26612: index out of range: \00" @.str17750 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str17751 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26612: index out of range: \00" @.str17752 = private unnamed_addr constant [16 x i8] c"sc_contributors\00" @.str17753 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26619: index out of range: \00" @.str17754 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26624: index out of range: \00" @.str17755 = private unnamed_addr constant [2 x i8] c",\00" @.str17756 = private unnamed_addr constant [18 x i8] c"\0A {\22kind\22: \00" @.str17757 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26631: index out of range: \00" @.str17758 = private unnamed_addr constant [4 x i8] c"def\00" @.str17759 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26634: index out of range: \00" @.str17760 = private unnamed_addr constant [9 x i8] c"resource\00" @.str17761 = private unnamed_addr constant [11 x i8] c", \22file\22: \00" @.str17762 = private unnamed_addr constant [10 x i8] c", \22via\22: \00" @.str17763 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26641: index out of range: \00" @.str17764 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17765 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26643: index out of range: \00" @.str17766 = private unnamed_addr constant [12 x i8] c", \22keys\22: [\00" @.str17767 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26648: index out of range: \00" @.str17768 = private unnamed_addr constant [3 x i8] c", \00" @.str17769 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26651: index out of range: \00" @.str17770 = private unnamed_addr constant [3 x i8] c"]}\00" @.str17771 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str17772 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26663: index out of range: \00" @.str17773 = private unnamed_addr constant [8 x i8] c" \00" @.str17774 = private unnamed_addr constant [9 x i8] c"{\22key\22: \00" @.str17775 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26666: index out of range: \00" @.str17776 = private unnamed_addr constant [15 x i8] c", \22constant\22: \00" @.str17777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26668: index out of range: \00" @.str17778 = private unnamed_addr constant [2 x i8] c"_\00" @.str17779 = private unnamed_addr constant [9 x i8] c"sc_entry\00" @.str17780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26668: index out of range: \00" @.str17781 = private unnamed_addr constant [12 x i8] c", \22index\22: \00" @.str17782 = private unnamed_addr constant [3 x i8] c", \00" @.str17783 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26672: index out of range: \00" @.str17784 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26672: index out of range: \00" @.str17785 = private unnamed_addr constant [14 x i8] c", \22fields\22: [\00" @.str17786 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26677: index out of range: \00" @.str17787 = private unnamed_addr constant [2 x i8] c",\00" @.str17788 = private unnamed_addr constant [20 x i8] c"\0A {\22name\22: \00" @.str17789 = private unnamed_addr constant [12 x i8] c", \22value\22: \00" @.str17790 = private unnamed_addr constant [3 x i8] c", \00" @.str17791 = private unnamed_addr constant [2 x i8] c"}\00" @.str17792 = private unnamed_addr constant [9 x i8] c"\0A \00" @.str17793 = private unnamed_addr constant [3 x i8] c"]}\00" @.str17794 = private unnamed_addr constant [10 x i8] c"sc_consts\00" @.str17795 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26701: index out of range: \00" @.str17796 = private unnamed_addr constant [1 x i8] c"\00" @.str17797 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26709: index out of range: \00" @.str17798 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26709: index out of range: \00" @.str17799 = private unnamed_addr constant [5 x i8] c" \00" @.str17800 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17801 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str17802 = private unnamed_addr constant [12 x i8] c", \22value\22: \00" @.str17803 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17804 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str17805 = private unnamed_addr constant [3 x i8] c", \00" @.str17806 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str17807 = private unnamed_addr constant [2 x i8] c"}\00" @.str17808 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26738: index out of range: \00" @.str17809 = private unnamed_addr constant [13 x i8] c"sc_functions\00" @.str17810 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26747: index out of range: \00" @.str17811 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26747: index out of range: \00" @.str17812 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26747: index out of range: \00" @.str17813 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26747: index out of range: \00" @.str17814 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26754: index out of range: \00" @.str17815 = private unnamed_addr constant [1 x i8] c"\00" @.str17816 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26764: index out of range: \00" @.str17817 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26764: index out of range: \00" @.str17818 = private unnamed_addr constant [1 x i8] c"\00" @.str17819 = private unnamed_addr constant [1 x i8] c"\00" @.str17820 = private unnamed_addr constant [1 x i8] c"\00" @.str17821 = private unnamed_addr constant [1 x i8] c"\00" @.str17822 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26776: index out of range: \00" @.str17823 = private unnamed_addr constant [1 x i8] c"\00" @.str17824 = private unnamed_addr constant [5 x i8] c"mut \00" @.str17825 = private unnamed_addr constant [3 x i8] c", \00" @.str17826 = private unnamed_addr constant [12 x i8] c"sc_function\00" @.str17827 = private unnamed_addr constant [3 x i8] c": \00" @.str17828 = private unnamed_addr constant [3 x i8] c", \00" @.str17829 = private unnamed_addr constant [2 x i8] c",\00" @.str17830 = private unnamed_addr constant [3 x i8] c", \00" @.str17831 = private unnamed_addr constant [5 x i8] c" \00" @.str17832 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17833 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17834 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str17835 = private unnamed_addr constant [3 x i8] c", \00" @.str17836 = private unnamed_addr constant [14 x i8] c", \22returns\22: \00" @.str17837 = private unnamed_addr constant [14 x i8] c", \22fn_type\22: \00" @.str17838 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str17839 = private unnamed_addr constant [4 x i8] c")->\00" @.str17840 = private unnamed_addr constant [14 x i8] c", \22params\22: [\00" @.str17841 = private unnamed_addr constant [2 x i8] c"]\00" @.str17842 = private unnamed_addr constant [16 x i8] c", \22signature\22: \00" @.str17843 = private unnamed_addr constant [10 x i8] c"function \00" @.str17844 = private unnamed_addr constant [2 x i8] c"(\00" @.str17845 = private unnamed_addr constant [6 x i8] c") -> \00" @.str17846 = private unnamed_addr constant [14 x i8] c", \22states\22: [\00" @.str17847 = private unnamed_addr constant [11 x i8] c"], \22doc\22: \00" @.str17848 = private unnamed_addr constant [2 x i8] c"}\00" @.str17849 = private unnamed_addr constant [3 x i8] c", \00" @.str17850 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26827: index out of range: \00" @.str17851 = private unnamed_addr constant [16 x i8] c"sc_natives_find\00" @.str17852 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26860: index out of range: \00" @.str17853 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26872: index out of range: \00" @.str17854 = private unnamed_addr constant [10 x i8] c"ui_native\00" @.str17855 = private unnamed_addr constant [16 x i8] c"ui_native_input\00" @.str17856 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26888: index out of range: \00" @.str17857 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26889: index out of range: \00" @.str17858 = private unnamed_addr constant [4 x i8] c"tag\00" @.str17859 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26897: index out of range: \00" @.str17860 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26901: index out of range: \00" @.str17861 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26902: index out of range: \00" @.str17862 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26902: index out of range: \00" @.str17863 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26906: index out of range: \00" @.str17864 = private unnamed_addr constant [11 x i8] c"sc_nt_call\00" @.str17865 = private unnamed_addr constant [11 x i8] c"sc_natives\00" @.str17866 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26918: index out of range: \00" @.str17867 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26920: index out of range: \00" @.str17868 = private unnamed_addr constant [2 x i8] c"\09\00" @.str17869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26920: index out of range: \00" @.str17870 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26926: index out of range: \00" @.str17871 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26927: index out of range: \00" @.str17872 = private unnamed_addr constant [5 x i8] c" \00" @.str17873 = private unnamed_addr constant [9 x i8] c"{\22tag\22: \00" @.str17874 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26930: index out of range: \00" @.str17875 = private unnamed_addr constant [10 x i8] c", \22via\22: \00" @.str17876 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26932: index out of range: \00" @.str17877 = private unnamed_addr constant [14 x i8] c", \22handler\22: \00" @.str17878 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26934: index out of range: \00" @.str17879 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17880 = private unnamed_addr constant [3 x i8] c", \00" @.str17881 = private unnamed_addr constant [2 x i8] c"}\00" @.str17882 = private unnamed_addr constant [14 x i8] c"sc_components\00" @.str17883 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26950: index out of range: \00" @.str17884 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26952: index out of range: \00" @.str17885 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26952: index out of range: \00" @.str17886 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26952: index out of range: \00" @.str17887 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26952: index out of range: \00" @.str17888 = private unnamed_addr constant [1 x i8] c"\00" @.str17889 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26961: index out of range: \00" @.str17890 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26966: index out of range: \00" @.str17891 = private unnamed_addr constant [5 x i8] c" \00" @.str17892 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17893 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26969: index out of range: \00" @.str17894 = private unnamed_addr constant [13 x i8] c", \22module\22: \00" @.str17895 = private unnamed_addr constant [15 x i8] c", \22exported\22: \00" @.str17896 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26973: index out of range: \00" @.str17897 = private unnamed_addr constant [3 x i8] c", \00" @.str17898 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26975: index out of range: \00" @.str17899 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26975: index out of range: \00" @.str17900 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26975: index out of range: \00" @.str17901 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26975: index out of range: \00" @.str17902 = private unnamed_addr constant [15 x i8] c",\0A \22xml\22: \00" @.str17903 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26977: index out of range: \00" @.str17904 = private unnamed_addr constant [10 x i8] c", \22lss\22: \00" @.str17905 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26979: index out of range: \00" @.str17906 = private unnamed_addr constant [15 x i8] c",\0A \22doc\22: \00" @.str17907 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26983: index out of range: \00" @.str17908 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26983: index out of range: \00" @.str17909 = private unnamed_addr constant [18 x i8] c",\0A \22props\22: [\00" @.str17910 = private unnamed_addr constant [19 x i8] c"],\0A \22state\22: [\00" @.str17911 = private unnamed_addr constant [25 x i8] c"],\0A \22states_read\22: [\00" @.str17912 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26990: index out of range: \00" @.str17913 = private unnamed_addr constant [3 x i8] c", \00" @.str17914 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26992: index out of range: \00" @.str17915 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26992: index out of range: \00" @.str17916 = private unnamed_addr constant [21 x i8] c"],\0A \22derived\22: [\00" @.str17917 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:26997: index out of range: \00" @.str17918 = private unnamed_addr constant [8 x i8] c" \00" @.str17919 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17920 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27000: index out of range: \00" @.str17921 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27000: index out of range: \00" @.str17922 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str17923 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27002: index out of range: \00" @.str17924 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27002: index out of range: \00" @.str17925 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str17926 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27004: index out of range: \00" @.str17927 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27004: index out of range: \00" @.str17928 = private unnamed_addr constant [2 x i8] c"}\00" @.str17929 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27008: index out of range: \00" @.str17930 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str17931 = private unnamed_addr constant [23 x i8] c"],\0A \22functions\22: [\00" @.str17932 = private unnamed_addr constant [20 x i8] c"],\0A \22events\22: [\00" @.str17933 = private unnamed_addr constant [21 x i8] c"],\0A \22natives\22: [\00" @.str17934 = private unnamed_addr constant [3 x i8] c"]}\00" @.str17935 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27019: index out of range: \00" @.str17936 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27022: index out of range: \00" @.str17937 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27023: index out of range: \00" @.str17938 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27023: index out of range: \00" @.str17939 = private unnamed_addr constant [8 x i8] c" \00" @.str17940 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17941 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27027: index out of range: \00" @.str17942 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27027: index out of range: \00" @.str17943 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str17944 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27029: index out of range: \00" @.str17945 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27029: index out of range: \00" @.str17946 = private unnamed_addr constant [14 x i8] c", \22default\22: \00" @.str17947 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27031: index out of range: \00" @.str17948 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27031: index out of range: \00" @.str17949 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27031: index out of range: \00" @.str17950 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27031: index out of range: \00" @.str17951 = private unnamed_addr constant [3 x i8] c", \00" @.str17952 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27033: index out of range: \00" @.str17953 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27033: index out of range: \00" @.str17954 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27033: index out of range: \00" @.str17955 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27033: index out of range: \00" @.str17956 = private unnamed_addr constant [19 x i8] c", \22attributes\22: []\00" @.str17957 = private unnamed_addr constant [10 x i8] c", \22doc\22: \00" @.str17958 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27036: index out of range: \00" @.str17959 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27036: index out of range: \00" @.str17960 = private unnamed_addr constant [2 x i8] c"}\00" @.str17961 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str17962 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27049: index out of range: \00" @.str17963 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27050: index out of range: \00" @.str17964 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27050: index out of range: \00" @.str17965 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27051: index out of range: \00" @.str17966 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27051: index out of range: \00" @.str17967 = private unnamed_addr constant [8 x i8] c" \00" @.str17968 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str17969 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27054: index out of range: \00" @.str17970 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27054: index out of range: \00" @.str17971 = private unnamed_addr constant [14 x i8] c", \22params\22: [\00" @.str17972 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27059: index out of range: \00" @.str17973 = private unnamed_addr constant [5 x i8] c"self\00" @.str17974 = private unnamed_addr constant [3 x i8] c", \00" @.str17975 = private unnamed_addr constant [2 x i8] c"[\00" @.str17976 = private unnamed_addr constant [3 x i8] c", \00" @.str17977 = private unnamed_addr constant [2 x i8] c"]\00" @.str17978 = private unnamed_addr constant [2 x i8] c"]\00" @.str17979 = private unnamed_addr constant [13 x i8] c", \22result\22: \00" @.str17980 = private unnamed_addr constant [11 x i8] c", \22line\22: \00" @.str17981 = private unnamed_addr constant [2 x i8] c"}\00" @.str17982 = private unnamed_addr constant [7 x i8] c"\0A \00" @.str17983 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27087: index out of range: \00" @.str17984 = private unnamed_addr constant [14 x i8] c"sc_cm_natives\00" @.str17985 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27092: index out of range: \00" @.str17986 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27096: index out of range: \00" @.str17987 = private unnamed_addr constant [3 x i8] c", \00" @.str17988 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27109: index out of range: \00" @.str17989 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27109: index out of range: \00" @.str17990 = private unnamed_addr constant [12 x i8] c"sc_xml_uses\00" @.str17991 = private unnamed_addr constant [12 x i8] c"schema_hash\00" @.str17992 = private unnamed_addr constant [2 x i8] c"0\00" @.str17993 = private unnamed_addr constant [5 x i8] c"long\00" @.str17994 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str17995 = private unnamed_addr constant [14 x i8] c"emit_build_ns\00" @.str17996 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str17997 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str17998 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str17999 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str18000 = private unnamed_addr constant [5 x i8] c", 32\00" @.str18001 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str18002 = private unnamed_addr constant [3 x i8] c", \00" @.str18003 = private unnamed_addr constant [5 x i8] c"long\00" @.str18004 = private unnamed_addr constant [5 x i8] c"null\00" @.str18005 = private unnamed_addr constant [14 x i8] c"{\0A \22dir\22: \00" @.str18006 = private unnamed_addr constant [17 x i8] c",\0A \22source\22: \00" @.str18007 = private unnamed_addr constant [15 x i8] c",\0A \22file\22: \00" @.str18008 = private unnamed_addr constant [5 x i8] c"null\00" @.str18009 = private unnamed_addr constant [16 x i8] c",\0A \22keys\22: [\00" @.str18010 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22unused\22: [\00" @.str18011 = private unnamed_addr constant [24 x i8] c"],\0A \22undescribed\22: [\00" @.str18012 = private unnamed_addr constant [18 x i8] c"],\0A \22split\22: [\00" @.str18013 = private unnamed_addr constant [27 x i8] c"\0A ],\0A \22languages\22: {\00" @.str18014 = private unnamed_addr constant [11 x i8] c"\0A }\0A }\00" @.str18015 = private unnamed_addr constant [13 x i8] c"sc_lang_keys\00" @.str18016 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27219: index out of range: \00" @.str18017 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18018 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27219: index out of range: \00" @.str18019 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18020 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27219: index out of range: \00" @.str18021 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18022 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27219: index out of range: \00" @.str18023 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27226: index out of range: \00" @.str18024 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27226: index out of range: \00" @.str18025 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27228: index out of range: \00" @.str18026 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27228: index out of range: \00" @.str18027 = private unnamed_addr constant [7 x i8] c" \00" @.str18028 = private unnamed_addr constant [9 x i8] c"{\22key\22: \00" @.str18029 = private unnamed_addr constant [11 x i8] c", \22kind\22: \00" @.str18030 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27235: index out of range: \00" @.str18031 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27235: index out of range: \00" @.str18032 = private unnamed_addr constant [13 x i8] c", \22kinds\22: [\00" @.str18033 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27243: index out of range: \00" @.str18034 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27243: index out of range: \00" @.str18035 = private unnamed_addr constant [3 x i8] c", \00" @.str18036 = private unnamed_addr constant [14 x i8] c"], \22sites\22: [\00" @.str18037 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27256: index out of range: \00" @.str18038 = private unnamed_addr constant [3 x i8] c", \00" @.str18039 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27258: index out of range: \00" @.str18040 = private unnamed_addr constant [2 x i8] c":\00" @.str18041 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27258: index out of range: \00" @.str18042 = private unnamed_addr constant [2 x i8] c":\00" @.str18043 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27258: index out of range: \00" @.str18044 = private unnamed_addr constant [2 x i8] c"]\00" @.str18045 = private unnamed_addr constant [16 x i8] c", \22in_source\22: \00" @.str18046 = private unnamed_addr constant [14 x i8] c", \22english\22: \00" @.str18047 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27266: index out of range: \00" @.str18048 = private unnamed_addr constant [5 x i8] c"null\00" @.str18049 = private unnamed_addr constant [13 x i8] c", \22plural\22: \00" @.str18050 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27268: index out of range: \00" @.str18051 = private unnamed_addr constant [18 x i8] c", \22description\22: \00" @.str18052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27270: index out of range: \00" @.str18053 = private unnamed_addr constant [5 x i8] c"null\00" @.str18054 = private unnamed_addr constant [2 x i8] c"}\00" @.str18055 = private unnamed_addr constant [12 x i8] c"sc_lang_ids\00" @.str18056 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27281: index out of range: \00" @.str18057 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27282: index out of range: \00" @.str18058 = private unnamed_addr constant [3 x i8] c", \00" @.str18059 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27290: index out of range: \00" @.str18060 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27290: index out of range: \00" @.str18061 = private unnamed_addr constant [14 x i8] c"sc_lang_split\00" @.str18062 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27300: index out of range: \00" @.str18063 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18064 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27300: index out of range: \00" @.str18065 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27308: index out of range: \00" @.str18066 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27308: index out of range: \00" @.str18067 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27308: index out of range: \00" @.str18068 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27308: index out of range: \00" @.str18069 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27309: index out of range: \00" @.str18070 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27309: index out of range: \00" @.str18071 = private unnamed_addr constant [7 x i8] c" \00" @.str18072 = private unnamed_addr constant [13 x i8] c"{\22english\22: \00" @.str18073 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27313: index out of range: \00" @.str18074 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27313: index out of range: \00" @.str18075 = private unnamed_addr constant [12 x i8] c", \22keys\22: [\00" @.str18076 = private unnamed_addr constant [3 x i8] c", \00" @.str18077 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27318: index out of range: \00" @.str18078 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27318: index out of range: \00" @.str18079 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18080 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27332: index out of range: \00" @.str18081 = private unnamed_addr constant [15 x i8] c"sc_lang_others\00" @.str18082 = private unnamed_addr constant [4 x i8] c".po\00" @.str18083 = private unnamed_addr constant [2 x i8] c"/\00" @.str18084 = private unnamed_addr constant [7 x i8] c" \00" @.str18085 = private unnamed_addr constant [12 x i8] c": {\22file\22: \00" @.str18086 = private unnamed_addr constant [15 x i8] c", \22missing\22: [\00" @.str18087 = private unnamed_addr constant [14 x i8] c"], \22fuzzy\22: [\00" @.str18088 = private unnamed_addr constant [14 x i8] c"], \22extra\22: [\00" @.str18089 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18090 = private unnamed_addr constant [13 x i8] c"sc_lang_diff\00" @.str18091 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27360: index out of range: \00" @.str18092 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27361: index out of range: \00" @.str18093 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27361: index out of range: \00" @.str18094 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27367: index out of range: \00" @.str18095 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27367: index out of range: \00" @.str18096 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27373: index out of range: \00" @.str18097 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27373: index out of range: \00" @.str18098 = private unnamed_addr constant [3 x i8] c", \00" @.str18099 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27387: index out of range: \00" @.str18100 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27387: index out of range: \00" @.str18101 = private unnamed_addr constant [8 x i8] c"cx_emit\00" @.str18102 = private unnamed_addr constant [9 x i8] c"cx_fnref\00" @.str18103 = private unnamed_addr constant [11 x i8] c"cx_handler\00" @.str18104 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27456: index out of range: \00" @.str18105 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27456: index out of range: \00" @.str18106 = private unnamed_addr constant [9 x i8] c"cx_scene\00" @.str18107 = private unnamed_addr constant [19 x i8] c"{\0A \22modules\22: [\00" @.str18108 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22states\22: [\00" @.str18109 = private unnamed_addr constant [25 x i8] c"\0A ],\0A \22actions\22: [\00" @.str18110 = private unnamed_addr constant [26 x i8] c"\0A ],\0A \22reducers\22: [\00" @.str18111 = private unnamed_addr constant [30 x i8] c"\0A ],\0A \22row_reducers\22: [\00" @.str18112 = private unnamed_addr constant [27 x i8] c"\0A ],\0A \22row_verbs\22: [\00" @.str18113 = private unnamed_addr constant [26 x i8] c"\0A ],\0A \22machines\22: [\00" @.str18114 = private unnamed_addr constant [26 x i8] c"\0A ],\0A \22dispatch\22: [\00" @.str18115 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22events\22: [\00" @.str18116 = private unnamed_addr constant [23 x i8] c"\0A ],\0A \22ports\22: [\00" @.str18117 = private unnamed_addr constant [23 x i8] c"\0A ],\0A \22binds\22: [\00" @.str18118 = private unnamed_addr constant [26 x i8] c"\0A ],\0A \22handlers\22: [\00" @.str18119 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22models\22: [\00" @.str18120 = private unnamed_addr constant [25 x i8] c"\0A ],\0A \22prefabs\22: [\00" @.str18121 = private unnamed_addr constant [24 x i8] c"\0A ],\0A \22scenes\22: [\00" @.str18122 = private unnamed_addr constant [25 x i8] c"\0A ],\0A \22fn_refs\22: [\00" @.str18123 = private unnamed_addr constant [11 x i8] c"\0A ]\0A }\00" @.str18124 = private unnamed_addr constant [2 x i8] c":\00" @.str18125 = private unnamed_addr constant [11 x i8] c"cx_at_text\00" @.str18126 = private unnamed_addr constant [2 x i8] c":\00" @.str18127 = private unnamed_addr constant [7 x i8] c"\22at\22: \00" @.str18128 = private unnamed_addr constant [5 x i8] c"null\00" @.str18129 = private unnamed_addr constant [1 x i8] c"\00" @.str18130 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18131 = private unnamed_addr constant [10 x i8] c"cx_at_key\00" @.str18132 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18133 = private unnamed_addr constant [19 x i8] c"cx_written_or_data\00" @.str18134 = private unnamed_addr constant [6 x i8] c".lres\00" @.str18135 = private unnamed_addr constant [11 x i8] c"\22module\22: \00" @.str18136 = private unnamed_addr constant [2 x i8] c"[\00" @.str18137 = private unnamed_addr constant [8 x i8] c"cx_list\00" @.str18138 = private unnamed_addr constant [3 x i8] c", \00" @.str18139 = private unnamed_addr constant [2 x i8] c"]\00" @.str18140 = private unnamed_addr constant [9 x i8] c"cx_order\00" @.str18141 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27557: index out of range: \00" @.str18142 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27568: index out of range: \00" @.str18143 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27568: index out of range: \00" @.str18144 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27568: index out of range: \00" @.str18145 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27568: index out of range: \00" @.str18146 = private unnamed_addr constant [13 x i8] c"cx_mod_names\00" @.str18147 = private unnamed_addr constant [11 x i8] c"cx_modules\00" @.str18148 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27581: index out of range: \00" @.str18149 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27581: index out of range: \00" @.str18150 = private unnamed_addr constant [7 x i8] c" \00" @.str18151 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18152 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27588: index out of range: \00" @.str18153 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27588: index out of range: \00" @.str18154 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27588: index out of range: \00" @.str18155 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27592: index out of range: \00" @.str18156 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27592: index out of range: \00" @.str18157 = private unnamed_addr constant [14 x i8] c", \22package\22: \00" @.str18158 = private unnamed_addr constant [12 x i8] c", \22layer\22: \00" @.str18159 = private unnamed_addr constant [5 x i8] c"null\00" @.str18160 = private unnamed_addr constant [11 x i8] c", \22uses\22: \00" @.str18161 = private unnamed_addr constant [5 x i8] c"null\00" @.str18162 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27600: index out of range: \00" @.str18163 = private unnamed_addr constant [14 x i8] c", \22uses_at\22: \00" @.str18164 = private unnamed_addr constant [5 x i8] c"null\00" @.str18165 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27602: index out of range: \00" @.str18166 = private unnamed_addr constant [2 x i8] c":\00" @.str18167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27602: index out of range: \00" @.str18168 = private unnamed_addr constant [13 x i8] c", \22friend\22: \00" @.str18169 = private unnamed_addr constant [13 x i8] c", \22files\22: [\00" @.str18170 = private unnamed_addr constant [3 x i8] c", \00" @.str18171 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27610: index out of range: \00" @.str18172 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27610: index out of range: \00" @.str18173 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18174 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27623: index out of range: \00" @.str18175 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27624: index out of range: \00" @.str18176 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27624: index out of range: \00" @.str18177 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27624: index out of range: \00" @.str18178 = private unnamed_addr constant [10 x i8] c"cx_friend\00" @.str18179 = private unnamed_addr constant [5 x i8] c"null\00" @.str18180 = private unnamed_addr constant [8 x i8] c"{\22of\22: \00" @.str18181 = private unnamed_addr constant [5 x i8] c"null\00" @.str18182 = private unnamed_addr constant [2 x i8] c"}\00" @.str18183 = private unnamed_addr constant [9 x i8] c"cx_decls\00" @.str18184 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27643: index out of range: \00" @.str18185 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27650: index out of range: \00" @.str18186 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27650: index out of range: \00" @.str18187 = private unnamed_addr constant [7 x i8] c" \00" @.str18188 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18189 = private unnamed_addr constant [3 x i8] c", \00" @.str18190 = private unnamed_addr constant [3 x i8] c", \00" @.str18191 = private unnamed_addr constant [13 x i8] c", \22target\22: \00" @.str18192 = private unnamed_addr constant [2 x i8] c"}\00" @.str18193 = private unnamed_addr constant [12 x i8] c"cx_reducers\00" @.str18194 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27670: index out of range: \00" @.str18195 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27671: index out of range: \00" @.str18196 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27671: index out of range: \00" @.str18197 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18198 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27671: index out of range: \00" @.str18199 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18200 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27677: index out of range: \00" @.str18201 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27678: index out of range: \00" @.str18202 = private unnamed_addr constant [7 x i8] c" \00" @.str18203 = private unnamed_addr constant [11 x i8] c"{\22state\22: \00" @.str18204 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27681: index out of range: \00" @.str18205 = private unnamed_addr constant [13 x i8] c", \22action\22: \00" @.str18206 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27683: index out of range: \00" @.str18207 = private unnamed_addr constant [3 x i8] c", \00" @.str18208 = private unnamed_addr constant [3 x i8] c", \00" @.str18209 = private unnamed_addr constant [2 x i8] c"}\00" @.str18210 = private unnamed_addr constant [16 x i8] c"cx_row_reducers\00" @.str18211 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27697: index out of range: \00" @.str18212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27698: index out of range: \00" @.str18213 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27698: index out of range: \00" @.str18214 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18215 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27698: index out of range: \00" @.str18216 = private unnamed_addr constant [2 x i8] c".\00" @.str18217 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27698: index out of range: \00" @.str18218 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18219 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27698: index out of range: \00" @.str18220 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18221 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27704: index out of range: \00" @.str18222 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27705: index out of range: \00" @.str18223 = private unnamed_addr constant [7 x i8] c" \00" @.str18224 = private unnamed_addr constant [12 x i8] c"{\22record\22: \00" @.str18225 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27708: index out of range: \00" @.str18226 = private unnamed_addr constant [12 x i8] c", \22table\22: \00" @.str18227 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27710: index out of range: \00" @.str18228 = private unnamed_addr constant [2 x i8] c".\00" @.str18229 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27710: index out of range: \00" @.str18230 = private unnamed_addr constant [12 x i8] c", \22state\22: \00" @.str18231 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27712: index out of range: \00" @.str18232 = private unnamed_addr constant [13 x i8] c", \22action\22: \00" @.str18233 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27714: index out of range: \00" @.str18234 = private unnamed_addr constant [13 x i8] c", \22target\22: \00" @.str18235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27716: index out of range: \00" @.str18236 = private unnamed_addr constant [36 x i8] c", \22predicted\22: false, \22net\22: null, \00" @.str18237 = private unnamed_addr constant [3 x i8] c", \00" @.str18238 = private unnamed_addr constant [2 x i8] c"}\00" @.str18239 = private unnamed_addr constant [12 x i8] c"cx_machines\00" @.str18240 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27730: index out of range: \00" @.str18241 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27730: index out of range: \00" @.str18242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27731: index out of range: \00" @.str18243 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27737: index out of range: \00" @.str18244 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27738: index out of range: \00" @.str18245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27738: index out of range: \00" @.str18246 = private unnamed_addr constant [7 x i8] c" \00" @.str18247 = private unnamed_addr constant [14 x i8] c"{\22registry\22: \00" @.str18248 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27741: index out of range: \00" @.str18249 = private unnamed_addr constant [13 x i8] c", \22record\22: \00" @.str18250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27743: index out of range: \00" @.str18251 = private unnamed_addr constant [12 x i8] c", \22field\22: \00" @.str18252 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27745: index out of range: \00" @.str18253 = private unnamed_addr constant [11 x i8] c", \22enum\22: \00" @.str18254 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27747: index out of range: \00" @.str18255 = private unnamed_addr constant [12 x i8] c", \22table\22: \00" @.str18256 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27749: index out of range: \00" @.str18257 = private unnamed_addr constant [5 x i8] c"null\00" @.str18258 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27749: index out of range: \00" @.str18259 = private unnamed_addr constant [2 x i8] c".\00" @.str18260 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27749: index out of range: \00" @.str18261 = private unnamed_addr constant [12 x i8] c", \22start\22: \00" @.str18262 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27751: index out of range: \00" @.str18263 = private unnamed_addr constant [13 x i8] c", \22states\22: \00" @.str18264 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27753: index out of range: \00" @.str18265 = private unnamed_addr constant [14 x i8] c", \22actions\22: \00" @.str18266 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27755: index out of range: \00" @.str18267 = private unnamed_addr constant [11 x i8] c", \22tick\22: \00" @.str18268 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27757: index out of range: \00" @.str18269 = private unnamed_addr constant [3 x i8] c", \00" @.str18270 = private unnamed_addr constant [3 x i8] c", \00" @.str18271 = private unnamed_addr constant [2 x i8] c"}\00" @.str18272 = private unnamed_addr constant [2 x i8] c"[\00" @.str18273 = private unnamed_addr constant [3 x i8] c", \00" @.str18274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27773: index out of range: \00" @.str18275 = private unnamed_addr constant [2 x i8] c"]\00" @.str18276 = private unnamed_addr constant [13 x i8] c"cx_row_verbs\00" @.str18277 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27783: index out of range: \00" @.str18278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27790: index out of range: \00" @.str18279 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27790: index out of range: \00" @.str18280 = private unnamed_addr constant [7 x i8] c" \00" @.str18281 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18282 = private unnamed_addr constant [13 x i8] c", \22record\22: \00" @.str18283 = private unnamed_addr constant [3 x i8] c", \00" @.str18284 = private unnamed_addr constant [3 x i8] c", \00" @.str18285 = private unnamed_addr constant [2 x i8] c"}\00" @.str18286 = private unnamed_addr constant [12 x i8] c"cx_dispatch\00" @.str18287 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27808: index out of range: \00" @.str18288 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27815: index out of range: \00" @.str18289 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27815: index out of range: \00" @.str18290 = private unnamed_addr constant [7 x i8] c" \00" @.str18291 = private unnamed_addr constant [12 x i8] c"{\22action\22: \00" @.str18292 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27818: index out of range: \00" @.str18293 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27818: index out of range: \00" @.str18294 = private unnamed_addr constant [3 x i8] c", \00" @.str18295 = private unnamed_addr constant [3 x i8] c", \00" @.str18296 = private unnamed_addr constant [2 x i8] c"}\00" @.str18297 = private unnamed_addr constant [10 x i8] c"cx_events\00" @.str18298 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27833: index out of range: \00" @.str18299 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27840: index out of range: \00" @.str18300 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27840: index out of range: \00" @.str18301 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27847: index out of range: \00" @.str18302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27847: index out of range: \00" @.str18303 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27847: index out of range: \00" @.str18304 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27854: index out of range: \00" @.str18305 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27854: index out of range: \00" @.str18306 = private unnamed_addr constant [7 x i8] c" \00" @.str18307 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18308 = private unnamed_addr constant [3 x i8] c", \00" @.str18309 = private unnamed_addr constant [3 x i8] c", \00" @.str18310 = private unnamed_addr constant [18 x i8] c", \22cancellable\22: \00" @.str18311 = private unnamed_addr constant [10 x i8] c", \22net\22: \00" @.str18312 = private unnamed_addr constant [13 x i8] c", \22emits\22: [\00" @.str18313 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27870: index out of range: \00" @.str18314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27870: index out of range: \00" @.str18315 = private unnamed_addr constant [3 x i8] c", \00" @.str18316 = private unnamed_addr constant [18 x i8] c"], \22listeners\22: [\00" @.str18317 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27882: index out of range: \00" @.str18318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27883: index out of range: \00" @.str18319 = private unnamed_addr constant [3 x i8] c", \00" @.str18320 = private unnamed_addr constant [13 x i8] c"{\22handler\22: \00" @.str18321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27886: index out of range: \00" @.str18322 = private unnamed_addr constant [3 x i8] c", \00" @.str18323 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27888: index out of range: \00" @.str18324 = private unnamed_addr constant [3 x i8] c", \00" @.str18325 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27890: index out of range: \00" @.str18326 = private unnamed_addr constant [2 x i8] c"}\00" @.str18327 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18328 = private unnamed_addr constant [9 x i8] c"cx_ports\00" @.str18329 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27906: index out of range: \00" @.str18330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27907: index out of range: \00" @.str18331 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27913: index out of range: \00" @.str18332 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27914: index out of range: \00" @.str18333 = private unnamed_addr constant [7 x i8] c" \00" @.str18334 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18335 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27917: index out of range: \00" @.str18336 = private unnamed_addr constant [3 x i8] c", \00" @.str18337 = private unnamed_addr constant [3 x i8] c", \00" @.str18338 = private unnamed_addr constant [12 x i8] c", \22bound\22: \00" @.str18339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27923: index out of range: \00" @.str18340 = private unnamed_addr constant [15 x i8] c", \22members\22: [\00" @.str18341 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27927: index out of range: \00" @.str18342 = private unnamed_addr constant [3 x i8] c", \00" @.str18343 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18344 = private unnamed_addr constant [11 x i8] c", \22type\22: \00" @.str18345 = private unnamed_addr constant [14 x i8] c", \22default\22: \00" @.str18346 = private unnamed_addr constant [15 x i8] c", \22required\22: \00" @.str18347 = private unnamed_addr constant [2 x i8] c"}\00" @.str18348 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18349 = private unnamed_addr constant [9 x i8] c"cx_binds\00" @.str18350 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27951: index out of range: \00" @.str18351 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27955: index out of range: \00" @.str18352 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27969: index out of range: \00" @.str18353 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27969: index out of range: \00" @.str18354 = private unnamed_addr constant [7 x i8] c" \00" @.str18355 = private unnamed_addr constant [10 x i8] c"{\22port\22: \00" @.str18356 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27972: index out of range: \00" @.str18357 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:27972: index out of range: \00" @.str18358 = private unnamed_addr constant [13 x i8] c", \22member\22: \00" @.str18359 = private unnamed_addr constant [9 x i8] c", \22fn\22: \00" @.str18360 = private unnamed_addr constant [5 x i8] c"null\00" @.str18361 = private unnamed_addr constant [12 x i8] c", \22value\22: \00" @.str18362 = private unnamed_addr constant [3 x i8] c", \00" @.str18363 = private unnamed_addr constant [3 x i8] c", \00" @.str18364 = private unnamed_addr constant [2 x i8] c"}\00" @.str18365 = private unnamed_addr constant [12 x i8] c"cx_handlers\00" @.str18366 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28012: index out of range: \00" @.str18367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28013: index out of range: \00" @.str18368 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28019: index out of range: \00" @.str18369 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28020: index out of range: \00" @.str18370 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28021: index out of range: \00" @.str18371 = private unnamed_addr constant [7 x i8] c" \00" @.str18372 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18373 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28024: index out of range: \00" @.str18374 = private unnamed_addr constant [3 x i8] c", \00" @.str18375 = private unnamed_addr constant [3 x i8] c", \00" @.str18376 = private unnamed_addr constant [12 x i8] c", \22phase\22: \00" @.str18377 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str18378 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str18379 = private unnamed_addr constant [5 x i8] c"null\00" @.str18380 = private unnamed_addr constant [11 x i8] c", \22hook\22: \00" @.str18381 = private unnamed_addr constant [13 x i8] c", \22target\22: \00" @.str18382 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28034: index out of range: \00" @.str18383 = private unnamed_addr constant [13 x i8] c", \22public\22: \00" @.str18384 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28036: index out of range: \00" @.str18385 = private unnamed_addr constant [10 x i8] c", \22net\22: \00" @.str18386 = private unnamed_addr constant [7 x i8] c"server\00" @.str18387 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str18388 = private unnamed_addr constant [5 x i8] c"null\00" @.str18389 = private unnamed_addr constant [14 x i8] c", \22queries\22: \00" @.str18390 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28040: index out of range: \00" @.str18391 = private unnamed_addr constant [12 x i8] c", \22scene\22: \00" @.str18392 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28042: index out of range: \00" @.str18393 = private unnamed_addr constant [12 x i8] c", \22layer\22: \00" @.str18394 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28044: index out of range: \00" @.str18395 = private unnamed_addr constant [2 x i8] c"}\00" @.str18396 = private unnamed_addr constant [5 x i8] c"null\00" @.str18397 = private unnamed_addr constant [12 x i8] c"{\22these\22: [\00" @.str18398 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28060: index out of range: \00" @.str18399 = private unnamed_addr constant [3 x i8] c", \00" @.str18400 = private unnamed_addr constant [14 x i8] c"{\22property\22: \00" @.str18401 = private unnamed_addr constant [13 x i8] c", \22filter\22: \00" @.str18402 = private unnamed_addr constant [2 x i8] c"}\00" @.str18403 = private unnamed_addr constant [10 x i8] c"], \22on\22: \00" @.str18404 = private unnamed_addr constant [2 x i8] c"}\00" @.str18405 = private unnamed_addr constant [10 x i8] c"cx_models\00" @.str18406 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28084: index out of range: \00" @.str18407 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28091: index out of range: \00" @.str18408 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28091: index out of range: \00" @.str18409 = private unnamed_addr constant [7 x i8] c" \00" @.str18410 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18411 = private unnamed_addr constant [3 x i8] c", \00" @.str18412 = private unnamed_addr constant [3 x i8] c", \00" @.str18413 = private unnamed_addr constant [12 x i8] c", \22owned\22: \00" @.str18414 = private unnamed_addr constant [18 x i8] c", \22properties\22: [\00" @.str18415 = private unnamed_addr constant [3 x i8] c", \00" @.str18416 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18417 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28106: index out of range: \00" @.str18418 = private unnamed_addr constant [11 x i8] c", \22sync\22: \00" @.str18419 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28108: index out of range: \00" @.str18420 = private unnamed_addr constant [2 x i8] c"}\00" @.str18421 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18422 = private unnamed_addr constant [11 x i8] c"cx_prefabs\00" @.str18423 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28120: index out of range: \00" @.str18424 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28127: index out of range: \00" @.str18425 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28127: index out of range: \00" @.str18426 = private unnamed_addr constant [7 x i8] c" \00" @.str18427 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18428 = private unnamed_addr constant [12 x i8] c", \22model\22: \00" @.str18429 = private unnamed_addr constant [3 x i8] c", \00" @.str18430 = private unnamed_addr constant [3 x i8] c", \00" @.str18431 = private unnamed_addr constant [18 x i8] c", \22components\22: [\00" @.str18432 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28140: index out of range: \00" @.str18433 = private unnamed_addr constant [3 x i8] c", \00" @.str18434 = private unnamed_addr constant [14 x i8] c"{\22property\22: \00" @.str18435 = private unnamed_addr constant [14 x i8] c", \22fields\22: [\00" @.str18436 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28147: index out of range: \00" @.str18437 = private unnamed_addr constant [3 x i8] c", \00" @.str18438 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18439 = private unnamed_addr constant [12 x i8] c", \22value\22: \00" @.str18440 = private unnamed_addr constant [2 x i8] c"}\00" @.str18441 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18442 = private unnamed_addr constant [3 x i8] c"]}\00" @.str18443 = private unnamed_addr constant [10 x i8] c"cx_scenes\00" @.str18444 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28169: index out of range: \00" @.str18445 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28176: index out of range: \00" @.str18446 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28177: index out of range: \00" @.str18447 = private unnamed_addr constant [7 x i8] c" \00" @.str18448 = private unnamed_addr constant [10 x i8] c"{\22name\22: \00" @.str18449 = private unnamed_addr constant [3 x i8] c", \00" @.str18450 = private unnamed_addr constant [3 x i8] c", \00" @.str18451 = private unnamed_addr constant [12 x i8] c", \22start\22: \00" @.str18452 = private unnamed_addr constant [13 x i8] c", \22public\22: \00" @.str18453 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28188: index out of range: \00" @.str18454 = private unnamed_addr constant [12 x i8] c", \22shows\22: \00" @.str18455 = private unnamed_addr constant [12 x i8] c", \22lasts\22: \00" @.str18456 = private unnamed_addr constant [11 x i8] c", \22then\22: \00" @.str18457 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28194: index out of range: \00" @.str18458 = private unnamed_addr constant [12 x i8] c", \22loads\22: \00" @.str18459 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28196: index out of range: \00" @.str18460 = private unnamed_addr constant [12 x i8] c", \22enter\22: \00" @.str18461 = private unnamed_addr constant [11 x i8] c", \22exit\22: \00" @.str18462 = private unnamed_addr constant [13 x i8] c", \22layers\22: \00" @.str18463 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28202: index out of range: \00" @.str18464 = private unnamed_addr constant [2 x i8] c"}\00" @.str18465 = private unnamed_addr constant [11 x i8] c"cx_fn_refs\00" @.str18466 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28220: index out of range: \00" @.str18467 = private unnamed_addr constant [2 x i8] c"\09\00" @.str18468 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28229: index out of range: \00" @.str18469 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28229: index out of range: \00" @.str18470 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28230: index out of range: \00" @.str18471 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28230: index out of range: \00" @.str18472 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28234: index out of range: \00" @.str18473 = private unnamed_addr constant [7 x i8] c" \00" @.str18474 = private unnamed_addr constant [8 x i8] c"{\22fn\22: \00" @.str18475 = private unnamed_addr constant [3 x i8] c", \00" @.str18476 = private unnamed_addr constant [3 x i8] c", \00" @.str18477 = private unnamed_addr constant [16 x i8] c", \22slot_kind\22: \00" @.str18478 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28244: index out of range: \00" @.str18479 = private unnamed_addr constant [6 x i8] c"value\00" @.str18480 = private unnamed_addr constant [11 x i8] c", \22slot\22: \00" @.str18481 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28246: index out of range: \00" @.str18482 = private unnamed_addr constant [5 x i8] c"null\00" @.str18483 = private unnamed_addr constant [12 x i8] c", \22entry\22: \00" @.str18484 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28248: index out of range: \00" @.str18485 = private unnamed_addr constant [5 x i8] c"null\00" @.str18486 = private unnamed_addr constant [2 x i8] c"}\00" @.str18487 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28259: index out of range: \00" @.str18488 = private unnamed_addr constant [9 x i8] c"registry\00" @.str18489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28259: index out of range: \00" @.str18490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28259: index out of range: \00" @.str18491 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28264: index out of range: \00" @.str18492 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28264: index out of range: \00" @.str18493 = private unnamed_addr constant [5 x i8] c"port\00" @.str18494 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28264: index out of range: \00" @.str18495 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28269: index out of range: \00" @.str18496 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28272: index out of range: \00" @.str18497 = private unnamed_addr constant [13 x i8] c"port_default\00" @.str18498 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28272: index out of range: \00" @.str18499 = private unnamed_addr constant [2 x i8] c".\00" @.str18500 = private unnamed_addr constant [12 x i8] c"cx_walk_all\00" @.str18501 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28272: index out of range: \00" @.str18502 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28279: index out of range: \00" @.str18503 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28279: index out of range: \00" @.str18504 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28279: index out of range: \00" @.str18505 = private unnamed_addr constant [6 x i8] c"value\00" @.str18506 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28295: index out of range: \00" @.str18507 = private unnamed_addr constant [6 x i8] c"value\00" @.str18508 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28304: index out of range: \00" @.str18509 = private unnamed_addr constant [2 x i8] c".\00" @.str18510 = private unnamed_addr constant [12 x i8] c"cx_walk_rec\00" @.str18511 = private unnamed_addr constant [6 x i8] c"value\00" @.str18512 = private unnamed_addr constant [2 x i8] c".\00" @.str18513 = private unnamed_addr constant [10 x i8] c"cx_callee\00" @.str18514 = private unnamed_addr constant [8 x i8] c"cx_walk\00" @.str18515 = private unnamed_addr constant [7 x i8] c"record\00" @.str18516 = private unnamed_addr constant [6 x i8] c"value\00" @.str18517 = private unnamed_addr constant [6 x i8] c"event\00" @.str18518 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28338: index out of range: \00" @.str18519 = private unnamed_addr constant [7 x i8] c"record\00" @.str18520 = private unnamed_addr constant [6 x i8] c"value\00" @.str18521 = private unnamed_addr constant [6 x i8] c"value\00" @.str18522 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28350: index out of range: \00" @.str18523 = private unnamed_addr constant [4 x i8] c"arg\00" @.str18524 = private unnamed_addr constant [2 x i8] c"(\00" @.str18525 = private unnamed_addr constant [2 x i8] c")\00" @.str18526 = private unnamed_addr constant [6 x i8] c"value\00" @.str18527 = private unnamed_addr constant [6 x i8] c"value\00" @.str18528 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28364: index out of range: \00" @.str18529 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28364: index out of range: \00" @.str18530 = private unnamed_addr constant [8 x i8] c"default\00" @.str18531 = private unnamed_addr constant [2 x i8] c".\00" @.str18532 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28364: index out of range: \00" @.str18533 = private unnamed_addr constant [7 x i8] c"assign\00" @.str18534 = private unnamed_addr constant [4 x i8] c"let\00" @.str18535 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28380: index out of range: \00" @.str18536 = private unnamed_addr constant [6 x i8] c"value\00" @.str18537 = private unnamed_addr constant [6 x i8] c"value\00" @.str18538 = private unnamed_addr constant [6 x i8] c"value\00" @.str18539 = private unnamed_addr constant [6 x i8] c"value\00" @.str18540 = private unnamed_addr constant [6 x i8] c"value\00" @.str18541 = private unnamed_addr constant [6 x i8] c"value\00" @.str18542 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28399: index out of range: \00" @.str18543 = private unnamed_addr constant [6 x i8] c"value\00" @.str18544 = private unnamed_addr constant [10 x i8] c"ck_set_ro\00" @.str18545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28421: index out of range: \00" @.str18546 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28421: index out of range: \00" @.str18547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28422: index out of range: \00" @.str18548 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28423: index out of range: \00" @.str18549 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28424: index out of range: \00" @.str18550 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28425: index out of range: \00" @.str18551 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28425: index out of range: \00" @.str18552 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28425: index out of range: \00" @.str18553 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28426: index out of range: \00" @.str18554 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28426: index out of range: \00" @.str18555 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28431: index out of range: \00" @.str18556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28432: index out of range: \00" @.str18557 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28432: index out of range: \00" @.str18558 = private unnamed_addr constant [2 x i8] c"?\00" @.str18559 = private unnamed_addr constant [4 x i8] c"int\00" @.str18560 = private unnamed_addr constant [6 x i8] c"float\00" @.str18561 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18562 = private unnamed_addr constant [5 x i8] c"long\00" @.str18563 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18564 = private unnamed_addr constant [7 x i8] c"string\00" @.str18565 = private unnamed_addr constant [5 x i8] c"byte\00" @.str18566 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28451: index out of range: \00" @.str18568 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28451: index out of range: \00" @.str18569 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28452: index out of range: \00" @.str18570 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28452: index out of range: \00" @.str18571 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28458: index out of range: \00" @.str18572 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28462: index out of range: \00" @.str18573 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28484: index out of range: \00" @.str18574 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28485: index out of range: \00" @.str18575 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28486: index out of range: \00" @.str18576 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28486: index out of range: \00" @.str18577 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28487: index out of range: \00" @.str18578 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28488: index out of range: \00" @.str18579 = private unnamed_addr constant [6 x i8] c"state\00" @.str18580 = private unnamed_addr constant [3 x i8] c": \00" @.str18581 = private unnamed_addr constant [15 x i8] c"ck_write_check\00" @.str18582 = private unnamed_addr constant [16 x i8] c" holds part of \00" @.str18583 = private unnamed_addr constant [55 x i8] c", which is module-level and immutable all the way down\00" @.str18584 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28492: index out of range: \00" @.str18585 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28493: index out of range: \00" @.str18586 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28496: index out of range: \00" @.str18587 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28496: index out of range: \00" @.str18588 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28496: index out of range: \00" @.str18589 = private unnamed_addr constant [6 x i8] c"state\00" @.str18590 = private unnamed_addr constant [3 x i8] c": \00" @.str18591 = private unnamed_addr constant [28 x i8] c" holds part of a read-only \00" @.str18592 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28497: index out of range: \00" @.str18593 = private unnamed_addr constant [25 x i8] c"; take the state as mut \00" @.str18594 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28497: index out of range: \00" @.str18595 = private unnamed_addr constant [14 x i8] c" to change it\00" @.str18596 = private unnamed_addr constant [6 x i8] c"state\00" @.str18597 = private unnamed_addr constant [3 x i8] c": \00" @.str18598 = private unnamed_addr constant [21 x i8] c" is read-only here (\00" @.str18599 = private unnamed_addr constant [3 x i8] c": \00" @.str18600 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28501: index out of range: \00" @.str18601 = private unnamed_addr constant [15 x i8] c"); take it as \00" @.str18602 = private unnamed_addr constant [7 x i8] c": mut \00" @.str18603 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28501: index out of range: \00" @.str18604 = private unnamed_addr constant [14 x i8] c" to change it\00" @.str18605 = private unnamed_addr constant [11 x i8] c"the state \00" @.str18606 = private unnamed_addr constant [6 x i8] c"state\00" @.str18607 = private unnamed_addr constant [3 x i8] c": \00" @.str18608 = 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" @.str18609 = private unnamed_addr constant [6 x i8] c"state\00" @.str18610 = private unnamed_addr constant [7 x i8] c": mut \00" @.str18611 = private unnamed_addr constant [14 x i8] c"ck_bind_param\00" @.str18612 = private unnamed_addr constant [61 x i8] c" - mut is for a state parameter (or a row, mut Row), and \00" @.str18613 = private unnamed_addr constant [16 x i8] c" is not a state\00" @.str18614 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28528: index out of range: \00" @.str18615 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28531: index out of range: \00" @.str18616 = private unnamed_addr constant [6 x i8] c"state\00" @.str18617 = private unnamed_addr constant [10 x i8] c" changes \00" @.str18618 = private unnamed_addr constant [14 x i8] c"ck_state_args\00" @.str18619 = private unnamed_addr constant [3 x i8] c" (\00" @.str18620 = private unnamed_addr constant [7 x i8] c": mut \00" @.str18621 = private unnamed_addr constant [8 x i8] c"), and \00" @.str18622 = private unnamed_addr constant [19 x i8] c" is read-only here\00" @.str18623 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28549: index out of range: \00" @.str18624 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28554: index out of range: \00" @.str18625 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28554: index out of range: \00" @.str18626 = private unnamed_addr constant [12 x i8] c"ck_tab_init\00" @.str18627 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28596: index out of range: \00" @.str18628 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28597: index out of range: \00" @.str18629 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28600: index out of range: \00" @.str18630 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28601: index out of range: \00" @.str18631 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28606: index out of range: \00" @.str18632 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28607: index out of range: \00" @.str18633 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28607: index out of range: \00" @.str18634 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28620: index out of range: \00" @.str18635 = private unnamed_addr constant [2 x i8] c"?\00" @.str18636 = private unnamed_addr constant [4 x i8] c"Key\00" @.str18637 = private unnamed_addr constant [4 x i8] c"int\00" @.str18638 = private unnamed_addr constant [5 x i8] c"long\00" @.str18639 = private unnamed_addr constant [5 x i8] c"byte\00" @.str18640 = private unnamed_addr constant [4 x i8] c"i64\00" @.str18641 = private unnamed_addr constant [3 x i8] c"u8\00" @.str18642 = private unnamed_addr constant [4 x i8] c"an \00" @.str18643 = private unnamed_addr constant [5 x i8] c"ck_a\00" @.str18644 = private unnamed_addr constant [3 x i8] c"a \00" @.str18645 = private unnamed_addr constant [6 x i8] c"float\00" @.str18646 = private unnamed_addr constant [7 x i8] c"double\00" @.str18647 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18648 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18649 = private unnamed_addr constant [5 x i8] c"void\00" @.str18650 = private unnamed_addr constant [5 x i8] c"null\00" @.str18651 = private unnamed_addr constant [2 x i8] c"-\00" @.str18652 = private unnamed_addr constant [7 x i8] c"number\00" @.str18653 = private unnamed_addr constant [7 x i8] c"string\00" @.str18654 = private unnamed_addr constant [7 x i8] c"string\00" @.str18655 = private unnamed_addr constant [4 x i8] c"key\00" @.str18656 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18657 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18658 = private unnamed_addr constant [10 x i8] c"reference\00" @.str18659 = private unnamed_addr constant [5 x i8] c"void\00" @.str18660 = private unnamed_addr constant [5 x i8] c"null\00" @.str18661 = private unnamed_addr constant [5 x i8] c"null\00" @.str18662 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18663 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18664 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18665 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18666 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18667 = private unnamed_addr constant [10 x i8] c"narrowing\00" @.str18668 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18669 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18670 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18671 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18672 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18673 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18674 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18675 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18676 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str18677 = private unnamed_addr constant [14 x i8] c"slice-pointer\00" @.str18678 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str18679 = private unnamed_addr constant [14 x i8] c"pointer-slice\00" @.str18680 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18681 = private unnamed_addr constant [14 x i8] c"slice-pointer\00" @.str18682 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18683 = private unnamed_addr constant [14 x i8] c"pointer-slice\00" @.str18684 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18685 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18686 = private unnamed_addr constant [4 x i8] c"key\00" @.str18687 = private unnamed_addr constant [7 x i8] c"string\00" @.str18688 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18689 = private unnamed_addr constant [7 x i8] c"record\00" @.str18690 = private unnamed_addr constant [7 x i8] c"string\00" @.str18691 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18692 = private unnamed_addr constant [10 x i8] c"[]pointer\00" @.str18693 = private unnamed_addr constant [10 x i8] c"[]pointer\00" @.str18694 = private unnamed_addr constant [6 x i8] c"slice\00" @.str18695 = private unnamed_addr constant [3 x i8] c"fn\00" @.str18696 = private unnamed_addr constant [7 x i8] c"string\00" @.str18697 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18698 = private unnamed_addr constant [5 x i8] c"null\00" @.str18699 = private unnamed_addr constant [2 x i8] c"?\00" @.str18700 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28761: index out of range: \00" @.str18701 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28762: index out of range: \00" @.str18702 = private unnamed_addr constant [8 x i8] c"ck_bind\00" @.str18703 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28775: index out of range: \00" @.str18704 = private unnamed_addr constant [19 x i8] c"LUDIC_CHECK_REPORT\00" @.str18705 = private unnamed_addr constant [1 x i8] c"\00" @.str18706 = private unnamed_addr constant [6 x i8] c"error\00" @.str18707 = private unnamed_addr constant [2 x i8] c":\00" @.str18708 = private unnamed_addr constant [7 x i8] c"ck_err\00" @.str18709 = private unnamed_addr constant [10 x i8] c": error: \00" @.str18710 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18711 = private unnamed_addr constant [7 x i8] c"check[\00" @.str18712 = private unnamed_addr constant [4 x i8] c"]: \00" @.str18713 = private unnamed_addr constant [2 x i8] c":\00" @.str18714 = private unnamed_addr constant [3 x i8] c": \00" @.str18715 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str18716 = private unnamed_addr constant [4 x i8] c"int\00" @.str18717 = private unnamed_addr constant [5 x i8] c"byte\00" @.str18718 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18719 = private unnamed_addr constant [8 x i8] c"literal\00" @.str18720 = private unnamed_addr constant [8 x i8] c" wants \00" @.str18721 = private unnamed_addr constant [8 x i8] c"ck_give\00" @.str18722 = private unnamed_addr constant [6 x i8] c" and \00" @.str18723 = private unnamed_addr constant [32 x i8] c" does not fit one; it is a long\00" @.str18724 = private unnamed_addr constant [14 x i8] c"slice-pointer\00" @.str18725 = private unnamed_addr constant [30 x i8] c" wants a pointer and this is \00" @.str18726 = private unnamed_addr constant [55 x i8] c": take the slice itself, or data_of(xs) in unsafe code\00" @.str18727 = private unnamed_addr constant [14 x i8] c"pointer-slice\00" @.str18728 = private unnamed_addr constant [8 x i8] c" wants \00" @.str18729 = 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" @.str18730 = private unnamed_addr constant [4 x i8] c"key\00" @.str18731 = private unnamed_addr constant [26 x i8] c" wants a Key and this is \00" @.str18732 = private unnamed_addr constant [60 x i8] c": a key is written k\22module.purpose\22 (kn\22...\22 for a plural)\00" @.str18733 = private unnamed_addr constant [4 x i8] c"key\00" @.str18734 = private unnamed_addr constant [8 x i8] c" wants \00" @.str18735 = 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" @.str18736 = private unnamed_addr constant [8 x i8] c" wants \00" @.str18737 = private unnamed_addr constant [14 x i8] c" and this is \00" @.str18738 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28840: index out of range: \00" @.str18739 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28840: index out of range: \00" @.str18740 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28853: index out of range: \00" @.str18741 = private unnamed_addr constant [2 x i8] c"?\00" @.str18742 = private unnamed_addr constant [5 x i8] c"long\00" @.str18743 = private unnamed_addr constant [4 x i8] c"int\00" @.str18744 = private unnamed_addr constant [6 x i8] c"float\00" @.str18745 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18746 = private unnamed_addr constant [4 x i8] c"Key\00" @.str18747 = private unnamed_addr constant [7 x i8] c"string\00" @.str18748 = private unnamed_addr constant [7 x i8] c"string\00" @.str18749 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18750 = private unnamed_addr constant [5 x i8] c"null\00" @.str18751 = private unnamed_addr constant [6 x i8] c"fnref\00" @.str18752 = private unnamed_addr constant [4 x i8] c"fn \00" @.str18753 = private unnamed_addr constant [8 x i8] c"ck_expr\00" @.str18754 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str18755 = private unnamed_addr constant [2 x i8] c"?\00" @.str18756 = private unnamed_addr constant [2 x i8] c"?\00" @.str18757 = private unnamed_addr constant [2 x i8] c"?\00" @.str18758 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28911: index out of range: \00" @.str18759 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28912: index out of range: \00" @.str18760 = private unnamed_addr constant [2 x i8] c"?\00" @.str18761 = private unnamed_addr constant [5 x i8] c"port\00" @.str18762 = private unnamed_addr constant [42 x i8] c" is a port: it is filled once with 'bind \00" @.str18763 = private unnamed_addr constant [7 x i8] c"ck_new\00" @.str18764 = private unnamed_addr constant [63 x i8] c" { ... }' where the program is put together, not made with new\00" @.str18765 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28948: index out of range: \00" @.str18766 = private unnamed_addr constant [7 x i8] c"field \00" @.str18767 = private unnamed_addr constant [5 x i8] c" of \00" @.str18768 = private unnamed_addr constant [6 x i8] c"field\00" @.str18769 = private unnamed_addr constant [15 x i8] c" has no field \00" @.str18770 = private unnamed_addr constant [2 x i8] c"?\00" @.str18771 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28966: index out of range: \00" @.str18772 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28966: index out of range: \00" @.str18773 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28967: index out of range: \00" @.str18774 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:28970: index out of range: \00" @.str18775 = private unnamed_addr constant [19 x i8] c"an element of a []\00" @.str18776 = private unnamed_addr constant [8 x i8] c"ck_list\00" @.str18777 = private unnamed_addr constant [5 x i8] c"null\00" @.str18778 = private unnamed_addr constant [2 x i8] c"?\00" @.str18779 = private unnamed_addr constant [3 x i8] c"[]\00" @.str18780 = private unnamed_addr constant [4 x i8] c"not\00" @.str18781 = private unnamed_addr constant [2 x i8] c"!\00" @.str18782 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18783 = private unnamed_addr constant [2 x i8] c"-\00" @.str18784 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18785 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18786 = private unnamed_addr constant [12 x i8] c"- on a bool\00" @.str18787 = private unnamed_addr constant [2 x i8] c"?\00" @.str18788 = private unnamed_addr constant [2 x i8] c"?\00" @.str18789 = private unnamed_addr constant [2 x i8] c"?\00" @.str18790 = private unnamed_addr constant [10 x i8] c"indexing \00" @.str18791 = private unnamed_addr constant [12 x i8] c"ck_index_of\00" @.str18792 = private unnamed_addr constant [6 x i8] c"index\00" @.str18793 = private unnamed_addr constant [35 x i8] c"an index wants an int and this is \00" @.str18794 = private unnamed_addr constant [2 x i8] c"?\00" @.str18795 = private unnamed_addr constant [7 x i8] c"string\00" @.str18796 = private unnamed_addr constant [6 x i8] c"words\00" @.str18797 = private unnamed_addr constant [4 x i8] c"int\00" @.str18798 = private unnamed_addr constant [7 x i8] c"floats\00" @.str18799 = private unnamed_addr constant [6 x i8] c"float\00" @.str18800 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str18801 = private unnamed_addr constant [7 x i8] c"double\00" @.str18802 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str18803 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18804 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str18805 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18806 = private unnamed_addr constant [2 x i8] c"?\00" @.str18807 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18808 = private unnamed_addr constant [5 x i8] c"cond\00" @.str18809 = private unnamed_addr constant [38 x i8] c"a condition wants a bool and this is \00" @.str18810 = private unnamed_addr constant [8 x i8] c"ck_cond\00" @.str18811 = private unnamed_addr constant [4 x i8] c"and\00" @.str18812 = private unnamed_addr constant [3 x i8] c"or\00" @.str18813 = private unnamed_addr constant [3 x i8] c"&&\00" @.str18814 = private unnamed_addr constant [3 x i8] c"||\00" @.str18815 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18816 = private unnamed_addr constant [3 x i8] c"==\00" @.str18817 = private unnamed_addr constant [3 x i8] c"!=\00" @.str18818 = private unnamed_addr constant [2 x i8] c"<\00" @.str18819 = private unnamed_addr constant [2 x i8] c">\00" @.str18820 = private unnamed_addr constant [3 x i8] c"<=\00" @.str18821 = private unnamed_addr constant [3 x i8] c">=\00" @.str18822 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18823 = private unnamed_addr constant [2 x i8] c"+\00" @.str18824 = private unnamed_addr constant [2 x i8] c"-\00" @.str18825 = private unnamed_addr constant [2 x i8] c"*\00" @.str18826 = private unnamed_addr constant [2 x i8] c"/\00" @.str18827 = private unnamed_addr constant [2 x i8] c"%\00" @.str18828 = private unnamed_addr constant [2 x i8] c"&\00" @.str18829 = private unnamed_addr constant [2 x i8] c"|\00" @.str18830 = private unnamed_addr constant [2 x i8] c"^\00" @.str18831 = private unnamed_addr constant [3 x i8] c"<<\00" @.str18832 = private unnamed_addr constant [3 x i8] c">>\00" @.str18833 = private unnamed_addr constant [5 x i8] c"long\00" @.str18834 = private unnamed_addr constant [5 x i8] c"long\00" @.str18835 = private unnamed_addr constant [5 x i8] c"long\00" @.str18836 = private unnamed_addr constant [4 x i8] c"int\00" @.str18837 = private unnamed_addr constant [2 x i8] c"?\00" @.str18838 = private unnamed_addr constant [5 x i8] c"null\00" @.str18839 = private unnamed_addr constant [5 x i8] c"null\00" @.str18840 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18841 = private unnamed_addr constant [7 x i8] c"string\00" @.str18842 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18843 = private unnamed_addr constant [7 x i8] c"string\00" @.str18844 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18845 = private unnamed_addr constant [4 x i8] c"key\00" @.str18846 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18847 = private unnamed_addr constant [4 x i8] c"key\00" @.str18848 = private unnamed_addr constant [8 x i8] c"compare\00" @.str18849 = private unnamed_addr constant [10 x i8] c" between \00" @.str18850 = private unnamed_addr constant [11 x i8] c"ck_compare\00" @.str18851 = private unnamed_addr constant [6 x i8] c" and \00" @.str18852 = private unnamed_addr constant [8 x i8] c"compare\00" @.str18853 = private unnamed_addr constant [10 x i8] c" between \00" @.str18854 = private unnamed_addr constant [6 x i8] c" and \00" @.str18855 = private unnamed_addr constant [19 x i8] c" can never be true\00" @.str18856 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18857 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18858 = private unnamed_addr constant [22 x i8] c" between a fixed and \00" @.str18859 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18860 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18861 = private unnamed_addr constant [10 x i8] c" between \00" @.str18862 = private unnamed_addr constant [13 x i8] c" and a fixed\00" @.str18863 = private unnamed_addr constant [7 x i8] c"string\00" @.str18864 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18865 = private unnamed_addr constant [4 x i8] c"key\00" @.str18866 = 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" @.str18867 = private unnamed_addr constant [9 x i8] c"ck_arith\00" @.str18868 = private unnamed_addr constant [2 x i8] c"?\00" @.str18869 = private unnamed_addr constant [7 x i8] c"string\00" @.str18870 = private unnamed_addr constant [2 x i8] c"+\00" @.str18871 = private unnamed_addr constant [7 x i8] c"string\00" @.str18872 = private unnamed_addr constant [5 x i8] c"text\00" @.str18873 = private unnamed_addr constant [5 x i8] c" of \00" @.str18874 = private unnamed_addr constant [6 x i8] c" and \00" @.str18875 = private unnamed_addr constant [54 x i8] c": text joins text only - write string(x) for a number\00" @.str18876 = private unnamed_addr constant [2 x i8] c"?\00" @.str18877 = private unnamed_addr constant [2 x i8] c"?\00" @.str18878 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18879 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18880 = private unnamed_addr constant [5 x i8] c"bool\00" @.str18881 = private unnamed_addr constant [11 x i8] c" on a bool\00" @.str18882 = private unnamed_addr constant [2 x i8] c"?\00" @.str18883 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18884 = private unnamed_addr constant [5 x i8] c" of \00" @.str18885 = private unnamed_addr constant [6 x i8] c" and \00" @.str18886 = private unnamed_addr constant [2 x i8] c"?\00" @.str18887 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18888 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18889 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18890 = private unnamed_addr constant [17 x i8] c" of a fixed and \00" @.str18891 = private unnamed_addr constant [14 x i8] c"ck_num_result\00" @.str18892 = private unnamed_addr constant [40 x i8] c": convert one with float(x) or fixed(x)\00" @.str18893 = private unnamed_addr constant [2 x i8] c"?\00" @.str18894 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18895 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18896 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18897 = private unnamed_addr constant [5 x i8] c" of \00" @.str18898 = private unnamed_addr constant [52 x i8] c" and a fixed: convert one with float(x) or fixed(x)\00" @.str18899 = private unnamed_addr constant [2 x i8] c"?\00" @.str18900 = private unnamed_addr constant [7 x i8] c"double\00" @.str18901 = private unnamed_addr constant [7 x i8] c"double\00" @.str18902 = private unnamed_addr constant [7 x i8] c"double\00" @.str18903 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18904 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18905 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18906 = private unnamed_addr constant [5 x i8] c"long\00" @.str18907 = private unnamed_addr constant [5 x i8] c"long\00" @.str18908 = private unnamed_addr constant [5 x i8] c"long\00" @.str18909 = private unnamed_addr constant [4 x i8] c"int\00" @.str18910 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29116: index out of range: \00" @.str18911 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29117: index out of range: \00" @.str18912 = private unnamed_addr constant [10 x i8] c"ck_params\00" @.str18913 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29118: index out of range: \00" @.str18914 = private unnamed_addr constant [11 x i8] c"ck_call_fn\00" @.str18915 = private unnamed_addr constant [5 x i8] c"void\00" @.str18916 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29139: index out of range: \00" @.str18917 = private unnamed_addr constant [14 x i8] c"ck_call_alias\00" @.str18918 = private unnamed_addr constant [5 x i8] c"void\00" @.str18919 = private unnamed_addr constant [12 x i8] c"ck_call_sig\00" @.str18920 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29155: index out of range: \00" @.str18921 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29162: index out of range: \00" @.str18922 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29165: index out of range: \00" @.str18923 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29168: index out of range: \00" @.str18924 = private unnamed_addr constant [10 x i8] c"argument \00" @.str18925 = private unnamed_addr constant [8 x i8] c"ck_args\00" @.str18926 = private unnamed_addr constant [5 x i8] c" of \00" @.str18927 = private unnamed_addr constant [6 x i8] c"arity\00" @.str18928 = private unnamed_addr constant [19 x i8] c" has no parameter \00" @.str18929 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29174: index out of range: \00" @.str18930 = private unnamed_addr constant [6 x i8] c"arity\00" @.str18931 = private unnamed_addr constant [14 x i8] c"this call to \00" @.str18932 = private unnamed_addr constant [13 x i8] c" leaves out \00" @.str18933 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29174: index out of range: \00" @.str18934 = private unnamed_addr constant [23 x i8] c", which has no default\00" @.str18935 = private unnamed_addr constant [6 x i8] c"arity\00" @.str18936 = private unnamed_addr constant [14 x i8] c"this call to \00" @.str18937 = private unnamed_addr constant [13 x i8] c" leaves out \00" @.str18938 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29179: index out of range: \00" @.str18939 = private unnamed_addr constant [23 x i8] c", which has no default\00" @.str18940 = private unnamed_addr constant [6 x i8] c"arity\00" @.str18941 = private unnamed_addr constant [8 x i8] c" takes \00" @.str18942 = private unnamed_addr constant [34 x i8] c" argument(s) and this call gives \00" @.str18943 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29183: index out of range: \00" @.str18944 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29184: index out of range: \00" @.str18945 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29185: index out of range: \00" @.str18946 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29185: index out of range: \00" @.str18947 = private unnamed_addr constant [10 x i8] c"argument \00" @.str18948 = private unnamed_addr constant [5 x i8] c" of \00" @.str18949 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29192: index out of range: \00" @.str18950 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29200: index out of range: \00" @.str18951 = private unnamed_addr constant [5 x i8] c"keep\00" @.str18952 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29206: index out of range: \00" @.str18953 = private unnamed_addr constant [7 x i8] c"intern\00" @.str18954 = private unnamed_addr constant [7 x i8] c"string\00" @.str18955 = private unnamed_addr constant [7 x i8] c"string\00" @.str18956 = private unnamed_addr constant [7 x i8] c"string\00" @.str18957 = private unnamed_addr constant [4 x i8] c"int\00" @.str18958 = private unnamed_addr constant [6 x i8] c"float\00" @.str18959 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str18960 = private unnamed_addr constant [5 x i8] c"long\00" @.str18961 = private unnamed_addr constant [7 x i8] c"double\00" @.str18962 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str18963 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str18964 = private unnamed_addr constant [11 x i8] c"ck_builtin\00" @.str18965 = private unnamed_addr constant [4 x i8] c"len\00" @.str18966 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str18967 = private unnamed_addr constant [4 x i8] c"int\00" @.str18968 = private unnamed_addr constant [5 x i8] c"view\00" @.str18969 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29225: index out of range: \00" @.str18970 = private unnamed_addr constant [4 x i8] c"int\00" @.str18971 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29226: index out of range: \00" @.str18972 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29226: index out of range: \00" @.str18973 = private unnamed_addr constant [20 x i8] c"the start of a view\00" @.str18974 = private unnamed_addr constant [4 x i8] c"int\00" @.str18975 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29227: index out of range: \00" @.str18976 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29227: index out of range: \00" @.str18977 = private unnamed_addr constant [21 x i8] c"the length of a view\00" @.str18978 = private unnamed_addr constant [5 x i8] c"kind\00" @.str18979 = private unnamed_addr constant [33 x i8] c"view takes a slice, and this is \00" @.str18980 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str18981 = private unnamed_addr constant [7 x i8] c"offset\00" @.str18982 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18983 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str18984 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str18985 = private unnamed_addr constant [6 x i8] c"words\00" @.str18986 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str18987 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str18988 = private unnamed_addr constant [7 x i8] c"[]byte\00" @.str18989 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str18990 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str18991 = private unnamed_addr constant [3 x i8] c"[]\00" @.str18992 = private unnamed_addr constant [7 x i8] c"floats\00" @.str18993 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str18994 = private unnamed_addr constant [3 x i8] c"[]\00" @.str18995 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str18996 = private unnamed_addr constant [6 x i8] c"float\00" @.str18997 = private unnamed_addr constant [6 x i8] c"print\00" @.str18998 = private unnamed_addr constant [5 x i8] c"void\00" @.str18999 = private unnamed_addr constant [5 x i8] c"push\00" @.str19000 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29264: index out of range: \00" @.str19001 = private unnamed_addr constant [5 x i8] c"push\00" @.str19002 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29265: index out of range: \00" @.str19003 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29266: index out of range: \00" @.str19004 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29267: index out of range: \00" @.str19005 = private unnamed_addr constant [11 x i8] c"push onto \00" @.str19006 = private unnamed_addr constant [5 x i8] c"void\00" @.str19007 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29277: index out of range: \00" @.str19008 = private unnamed_addr constant [16 x i8] c"runtime/native/\00" @.str19009 = private unnamed_addr constant [16 x i8] c"runtime/native/\00" @.str19010 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29281: index out of range: \00" @.str19011 = private unnamed_addr constant [16 x i8] c"ck_alias_shadow\00" @.str19012 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str19013 = private unnamed_addr constant [18 x i8] c" is the engine's \00" @.str19014 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29285: index out of range: \00" @.str19015 = private unnamed_addr constant [2 x i8] c".\00" @.str19016 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29285: index out of range: \00" @.str19017 = private unnamed_addr constant [29 x i8] c", which this program calls (\00" @.str19018 = private unnamed_addr constant [2 x i8] c":\00" @.str19019 = private unnamed_addr constant [78 x i8] c"), and every such call would reach this function instead; choose another name\00" @.str19020 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str19021 = private unnamed_addr constant [8 x i8] c"Memory.\00" @.str19022 = private unnamed_addr constant [8 x i8] c"ck_call\00" @.str19023 = private unnamed_addr constant [5 x i8] c"Math\00" @.str19024 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29298: index out of range: \00" @.str19025 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29301: index out of range: \00" @.str19026 = private unnamed_addr constant [2 x i8] c".\00" @.str19027 = private unnamed_addr constant [15 x i8] c", a C function\00" @.str19028 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29305: index out of range: \00" @.str19029 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29305: index out of range: \00" @.str19030 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29306: index out of range: \00" @.str19031 = private unnamed_addr constant [2 x i8] c".\00" @.str19032 = private unnamed_addr constant [2 x i8] c"?\00" @.str19033 = private unnamed_addr constant [2 x i8] c"_\00" @.str19034 = private unnamed_addr constant [2 x i8] c"?\00" @.str19035 = private unnamed_addr constant [2 x i8] c"?\00" @.str19036 = private unnamed_addr constant [2 x i8] c"?\00" @.str19037 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29337: index out of range: \00" @.str19038 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29337: index out of range: \00" @.str19039 = private unnamed_addr constant [2 x i8] c"?\00" @.str19040 = private unnamed_addr constant [3 x i8] c"()\00" @.str19041 = private unnamed_addr constant [14 x i8] c"ck_call_named\00" @.str19042 = private unnamed_addr constant [16 x i8] c"the C function \00" @.str19043 = private unnamed_addr constant [2 x i8] c"?\00" @.str19044 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29386: index out of range: \00" @.str19045 = private unnamed_addr constant [2 x i8] c"?\00" @.str19046 = private unnamed_addr constant [8 x i8] c"ck_math\00" @.str19047 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29393: index out of range: \00" @.str19048 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29396: index out of range: \00" @.str19049 = private unnamed_addr constant [2 x i8] c"?\00" @.str19050 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29397: index out of range: \00" @.str19051 = private unnamed_addr constant [5 x i8] c"sign\00" @.str19052 = private unnamed_addr constant [4 x i8] c"int\00" @.str19053 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29399: index out of range: \00" @.str19054 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29402: index out of range: \00" @.str19055 = private unnamed_addr constant [7 x i8] c"double\00" @.str19056 = private unnamed_addr constant [7 x i8] c"double\00" @.str19057 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29410: index out of range: \00" @.str19058 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29410: index out of range: \00" @.str19059 = private unnamed_addr constant [2 x i8] c"?\00" @.str19060 = private unnamed_addr constant [4 x i8] c"min\00" @.str19061 = private unnamed_addr constant [4 x i8] c"max\00" @.str19062 = private unnamed_addr constant [4 x i8] c"abs\00" @.str19063 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str19064 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29413: index out of range: \00" @.str19065 = private unnamed_addr constant [5 x i8] c"sign\00" @.str19066 = private unnamed_addr constant [6 x i8] c"floor\00" @.str19067 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str19068 = private unnamed_addr constant [6 x i8] c"round\00" @.str19069 = private unnamed_addr constant [4 x i8] c"int\00" @.str19070 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str19071 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str19072 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str19073 = private unnamed_addr constant [4 x i8] c"int\00" @.str19074 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str19075 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29425: index out of range: \00" @.str19076 = private unnamed_addr constant [7 x i8] c"field \00" @.str19077 = private unnamed_addr constant [8 x i8] c"ck_emit\00" @.str19078 = private unnamed_addr constant [5 x i8] c" of \00" @.str19079 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29439: index out of range: \00" @.str19080 = private unnamed_addr constant [4 x i8] c"key\00" @.str19081 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29440: index out of range: \00" @.str19082 = 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" @.str19083 = private unnamed_addr constant [7 x i8] c"string\00" @.str19084 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29458: index out of range: \00" @.str19085 = private unnamed_addr constant [2 x i8] c"?\00" @.str19086 = private unnamed_addr constant [6 x i8] c"state\00" @.str19087 = private unnamed_addr constant [6 x i8] c"state\00" @.str19088 = private unnamed_addr constant [34 x i8] c"an entry point takes states, and \00" @.str19089 = private unnamed_addr constant [7 x i8] c"ck_let\00" @.str19090 = private unnamed_addr constant [3 x i8] c": \00" @.str19091 = private unnamed_addr constant [12 x i8] c" is not one\00" @.str19092 = private unnamed_addr constant [16 x i8] c"this assignment\00" @.str19093 = private unnamed_addr constant [16 x i8] c"this assignment\00" @.str19094 = private unnamed_addr constant [2 x i8] c"=\00" @.str19095 = private unnamed_addr constant [16 x i8] c"this assignment\00" @.str19096 = private unnamed_addr constant [7 x i8] c"field \00" @.str19097 = private unnamed_addr constant [10 x i8] c"ck_assign\00" @.str19098 = private unnamed_addr constant [2 x i8] c"=\00" @.str19099 = private unnamed_addr constant [8 x i8] c"machine\00" @.str19100 = private unnamed_addr constant [3 x i8] c": \00" @.str19101 = private unnamed_addr constant [17 x i8] c"ck_machine_write\00" @.str19102 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29511: index out of range: \00" @.str19103 = private unnamed_addr constant [2 x i8] c".\00" @.str19104 = private unnamed_addr constant [17 x i8] c" is the machine \00" @.str19105 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29511: index out of range: \00" @.str19106 = private unnamed_addr constant [14 x i8] c"'s (@Machine(\00" @.str19107 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29511: index out of range: \00" @.str19108 = private unnamed_addr constant [2 x i8] c".\00" @.str19109 = private unnamed_addr constant [65 x i8] c")) - it changes only by a transition in its table; add a row to \00" @.str19110 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29511: index out of range: \00" @.str19111 = private unnamed_addr constant [35 x i8] c", or dispatch the action one names\00" @.str19112 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29517: index out of range: \00" @.str19113 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29521: index out of range: \00" @.str19114 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29526: index out of range: \00" @.str19115 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29526: index out of range: \00" @.str19116 = private unnamed_addr constant [2 x i8] c"?\00" @.str19117 = private unnamed_addr constant [4 x i8] c"int\00" @.str19118 = private unnamed_addr constant [5 x i8] c"void\00" @.str19119 = private unnamed_addr constant [11 x i8] c"the result\00" @.str19120 = private unnamed_addr constant [19 x i8] c"a machine's become\00" @.str19121 = private unnamed_addr constant [25 x i8] c"a machine block's become\00" @.str19122 = private unnamed_addr constant [2 x i8] c"?\00" @.str19123 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29598: index out of range: \00" @.str19124 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29599: index out of range: \00" @.str19125 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29602: index out of range: \00" @.str19126 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29616: index out of range: \00" @.str19127 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29616: index out of range: \00" @.str19128 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29616: index out of range: \00" @.str19129 = private unnamed_addr constant [6 x i8] c"arity\00" @.str19130 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29617: index out of range: \00" @.str19131 = private unnamed_addr constant [23 x i8] c" names two parameters \00" @.str19132 = private unnamed_addr constant [15 x i8] c"ck_param_twice\00" @.str19133 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29617: index out of range: \00" @.str19134 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29628: index out of range: \00" @.str19135 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29630: index out of range: \00" @.str19136 = private unnamed_addr constant [5 x i8] c"void\00" @.str19137 = private unnamed_addr constant [5 x i8] c"void\00" @.str19138 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29656: index out of range: \00" @.str19139 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29656: index out of range: \00" @.str19140 = private unnamed_addr constant [5 x i8] c"void\00" @.str19141 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29671: index out of range: \00" @.str19142 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str19143 = 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" @.str19144 = private unnamed_addr constant [19 x i8] c"ck_runtime_shadows\00" @.str19145 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29677: index out of range: \00" @.str19146 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str19147 = private unnamed_addr constant [44 x i8] c" is also a function of the engine runtime (\00" @.str19148 = private unnamed_addr constant [23 x i8] c"); choose another name\00" @.str19149 = private unnamed_addr constant [1 x i8] c"\00" @.str19150 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29687: index out of range: \00" @.str19151 = private unnamed_addr constant [1 x i8] c"\00" @.str19152 = private unnamed_addr constant [7 x i8] c"shadow\00" @.str19153 = private unnamed_addr constant [19 x i8] c" is the runtime's \00" @.str19154 = private unnamed_addr constant [3 x i8] c" (\00" @.str19155 = private unnamed_addr constant [33 x i8] c"); choose another name for this \00" @.str19156 = private unnamed_addr constant [5 x i8] c"enum\00" @.str19157 = private unnamed_addr constant [6 x i8] c"state\00" @.str19158 = private unnamed_addr constant [9 x i8] c"property\00" @.str19159 = private unnamed_addr constant [7 x i8] c"record\00" @.str19160 = private unnamed_addr constant [6 x i8] c"event\00" @.str19161 = private unnamed_addr constant [1 x i8] c"\00" @.str19162 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29708: index out of range: \00" @.str19163 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29709: index out of range: \00" @.str19164 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29725: index out of range: \00" @.str19165 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29730: index out of range: \00" @.str19166 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29742: index out of range: \00" @.str19167 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29770: index out of range: \00" @.str19168 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29782: index out of range: \00" @.str19169 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29783: index out of range: \00" @.str19170 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29790: index out of range: \00" @.str19171 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29791: index out of range: \00" @.str19172 = private unnamed_addr constant [16 x i8] c" type error(s)\0A\00" @.str19173 = private unnamed_addr constant [14 x i8] c"check_program\00" @.str19174 = private unnamed_addr constant [6 x i8] c"apply\00" @.str19175 = private unnamed_addr constant [7 x i8] c"assert\00" @.str19176 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str19177 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str19178 = private unnamed_addr constant [7 x i8] c"expect\00" @.str19179 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str19180 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str19181 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str19182 = private unnamed_addr constant [6 x i8] c"floor\00" @.str19183 = private unnamed_addr constant [7 x i8] c"intern\00" @.str19184 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str19185 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str19186 = private unnamed_addr constant [5 x i8] c"keep\00" @.str19187 = private unnamed_addr constant [4 x i8] c"key\00" @.str19188 = private unnamed_addr constant [4 x i8] c"len\00" @.str19189 = private unnamed_addr constant [5 x i8] c"load\00" @.str19190 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str19191 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str19192 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str19193 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str19194 = private unnamed_addr constant [6 x i8] c"owner\00" @.str19195 = private unnamed_addr constant [6 x i8] c"panic\00" @.str19196 = private unnamed_addr constant [6 x i8] c"print\00" @.str19197 = private unnamed_addr constant [5 x i8] c"push\00" @.str19198 = private unnamed_addr constant [5 x i8] c"quit\00" @.str19199 = private unnamed_addr constant [5 x i8] c"save\00" @.str19200 = private unnamed_addr constant [5 x i8] c"self\00" @.str19201 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str19202 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str19203 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str19204 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str19205 = private unnamed_addr constant [7 x i8] c"string\00" @.str19206 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str19207 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str19208 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str19209 = private unnamed_addr constant [5 x i8] c"view\00" @.str19210 = private unnamed_addr constant [6 x i8] c"words\00" @.str19211 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str19212 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str19213 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str19214 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str19215 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str19216 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str19217 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str19218 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str19219 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str19220 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str19221 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str19222 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str19223 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str19224 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str19225 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str19226 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str19227 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str19228 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str19229 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str19230 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str19231 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str19232 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29846: index out of range: \00" @.str19233 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29846: index out of range: \00" @.str19234 = private unnamed_addr constant [12 x i8] c"gen_collect\00" @.str19235 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29857: index out of range: \00" @.str19236 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29872: index out of range: \00" @.str19237 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29881: index out of range: \00" @.str19238 = private unnamed_addr constant [3 x i8] c"[]\00" @.str19239 = private unnamed_addr constant [10 x i8] c"gen_subst\00" @.str19240 = private unnamed_addr constant [4 x i8] c"fn(\00" @.str19241 = private unnamed_addr constant [2 x i8] c",\00" @.str19242 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29889: index out of range: \00" @.str19243 = private unnamed_addr constant [4 x i8] c")->\00" @.str19244 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29895: index out of range: \00" @.str19245 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29896: index out of range: \00" @.str19246 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29900: index out of range: \00" @.str19247 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29903: index out of range: \00" @.str19248 = private unnamed_addr constant [10 x i8] c"gen_clone\00" @.str19249 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29927: index out of range: \00" @.str19250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29935: index out of range: \00" @.str19251 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29936: index out of range: \00" @.str19252 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29938: index out of range: \00" @.str19253 = private unnamed_addr constant [11 x i8] c"gen_record\00" @.str19254 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29942: index out of range: \00" @.str19255 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29943: index out of range: \00" @.str19256 = private unnamed_addr constant [8 x i8] c"generic\00" @.str19257 = private unnamed_addr constant [8 x i8] c" takes \00" @.str19258 = private unnamed_addr constant [23 x i8] c" type argument(s) and \00" @.str19259 = private unnamed_addr constant [8 x i8] c" gives \00" @.str19260 = private unnamed_addr constant [5 x i8] c"null\00" @.str19261 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29958: index out of range: \00" @.str19262 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29958: index out of range: \00" @.str19263 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29970: index out of range: \00" @.str19264 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29970: index out of range: \00" @.str19265 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29978: index out of range: \00" @.str19266 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29978: index out of range: \00" @.str19267 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29979: index out of range: \00" @.str19268 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29980: index out of range: \00" @.str19269 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29983: index out of range: \00" @.str19270 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29983: index out of range: \00" @.str19271 = private unnamed_addr constant [2 x i8] c"?\00" @.str19272 = private unnamed_addr constant [3 x i8] c"[]\00" @.str19273 = private unnamed_addr constant [9 x i8] c"gen_show\00" @.str19274 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29994: index out of range: \00" @.str19275 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29995: index out of range: \00" @.str19276 = private unnamed_addr constant [2 x i8] c"<\00" @.str19277 = private unnamed_addr constant [3 x i8] c", \00" @.str19278 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:29999: index out of range: \00" @.str19279 = private unnamed_addr constant [2 x i8] c">\00" @.str19280 = private unnamed_addr constant [2 x i8] c"$\00" @.str19281 = private unnamed_addr constant [18 x i8] c"gen_instance_name\00" @.str19282 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30014: index out of range: \00" @.str19283 = private unnamed_addr constant [16 x i8] c"gen_fn_instance\00" @.str19284 = private unnamed_addr constant [14 x i8] c"gen_arg_nodes\00" @.str19285 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30040: index out of range: \00" @.str19286 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30043: index out of range: \00" @.str19287 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30045: index out of range: \00" @.str19288 = private unnamed_addr constant [9 x i8] c"gen_call\00" @.str19289 = private unnamed_addr constant [6 x i8] c"arity\00" @.str19290 = private unnamed_addr constant [8 x i8] c" takes \00" @.str19291 = private unnamed_addr constant [34 x i8] c" argument(s) and this call gives \00" @.str19292 = private unnamed_addr constant [2 x i8] c"?\00" @.str19293 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30071: index out of range: \00" @.str19294 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30071: index out of range: \00" @.str19295 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30073: index out of range: \00" @.str19296 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30073: index out of range: \00" @.str19297 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30073: index out of range: \00" @.str19298 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30079: index out of range: \00" @.str19299 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30079: index out of range: \00" @.str19300 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30079: index out of range: \00" @.str19301 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30079: index out of range: \00" @.str19302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30084: index out of range: \00" @.str19303 = private unnamed_addr constant [8 x i8] c"generic\00" @.str19304 = private unnamed_addr constant [18 x i8] c"cannot tell what \00" @.str19305 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30085: index out of range: \00" @.str19306 = private unnamed_addr constant [21 x i8] c" is in this call to \00" @.str19307 = 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" @.str19308 = private unnamed_addr constant [2 x i8] c"?\00" @.str19309 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30097: index out of range: \00" @.str19310 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30097: index out of range: \00" @.str19311 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30097: index out of range: \00" @.str19312 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30097: index out of range: \00" @.str19313 = private unnamed_addr constant [10 x i8] c"argument \00" @.str19314 = private unnamed_addr constant [5 x i8] c" of \00" @.str19315 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30108: index out of range: \00" @.str19316 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30113: index out of range: \00" @.str19317 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30113: index out of range: \00" @.str19318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30113: index out of range: \00" @.str19319 = private unnamed_addr constant [11 x i8] c"gen_finish\00" @.str19320 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30123: index out of range: \00" @.str19321 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30127: index out of range: \00" @.str19322 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30133: index out of range: \00" @.str19323 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30156: index out of range: \00" @.str19324 = private unnamed_addr constant [14 x i8] c"ck_ty_unknown\00" @.str19325 = private unnamed_addr constant [11 x i8] c"ck_ty_args\00" @.str19326 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str19327 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str19328 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str19329 = private unnamed_addr constant [4 x i8] c"Key\00" @.str19330 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30210: index out of range: \00" @.str19331 = private unnamed_addr constant [5 x i8] c"type\00" @.str19332 = private unnamed_addr constant [20 x i8] c": there is no type \00" @.str19333 = private unnamed_addr constant [10 x i8] c"ck_ty_say\00" @.str19334 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30225: index out of range: \00" @.str19335 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30229: index out of range: \00" @.str19336 = private unnamed_addr constant [14 x i8] c"'s parameter \00" @.str19337 = private unnamed_addr constant [11 x i8] c"ck_tynames\00" @.str19338 = private unnamed_addr constant [10 x i8] c"'s result\00" @.str19339 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30238: index out of range: \00" @.str19340 = private unnamed_addr constant [2 x i8] c".\00" @.str19341 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str19342 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str19343 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str19344 = private unnamed_addr constant [8 x i8] c"data_of\00" @.str19345 = private unnamed_addr constant [5 x i8] c"free\00" @.str19346 = private unnamed_addr constant [7 x i8] c"resize\00" @.str19347 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str19348 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str19349 = private unnamed_addr constant [7 x i8] c"unsafe\00" @.str19350 = private unnamed_addr constant [83 x i8] c" is raw memory: it belongs inside unsafe { }, and a game reaches it through an API\00" @.str19351 = private unnamed_addr constant [7 x i8] c"ck_raw\00" @.str19352 = private unnamed_addr constant [13 x i8] c"unsafe-block\00" @.str19353 = 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" @.str19354 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30288: index out of range: \00" @.str19355 = private unnamed_addr constant [9 x i8] c" store \00" @.str19356 = private unnamed_addr constant [2 x i8] c" \00" @.str19357 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19358 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19359 = private unnamed_addr constant [12 x i8] c"compound_op\00" @.str19360 = private unnamed_addr constant [2 x i8] c"0\00" @.str19361 = private unnamed_addr constant [4 x i8] c"int\00" @.str19362 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30314: index out of range: \00" @.str19363 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str19364 = private unnamed_addr constant [12 x i8] c"emit_assign\00" @.str19365 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str19366 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30316: index out of range: \00" @.str19367 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30316: index out of range: \00" @.str19368 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str19369 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str19370 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str19371 = private unnamed_addr constant [2 x i8] c"=\00" @.str19372 = private unnamed_addr constant [6 x i8] c"load \00" @.str19373 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19374 = private unnamed_addr constant [3 x i8] c"i8\00" @.str19375 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str19376 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str19377 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19378 = private unnamed_addr constant [8 x i8] c"emit_if\00" @.str19379 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19380 = private unnamed_addr constant [5 x i8] c"then\00" @.str19381 = private unnamed_addr constant [5 x i8] c"else\00" @.str19382 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str19383 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19384 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19385 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19386 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19387 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19388 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19389 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19390 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19391 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19392 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19393 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19394 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19395 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19396 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19397 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19398 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str19399 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str19400 = private unnamed_addr constant [5 x i8] c"wend\00" @.str19401 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19402 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19403 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19404 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19405 = private unnamed_addr constant [11 x i8] c"emit_while\00" @.str19406 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19407 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19408 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19409 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19410 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19411 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19412 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19413 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19414 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19415 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19416 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19417 = private unnamed_addr constant [4 x i8] c"int\00" @.str19418 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str19419 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str19420 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str19421 = private unnamed_addr constant [5 x i8] c"fend\00" @.str19422 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19423 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19424 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19425 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19426 = private unnamed_addr constant [9 x i8] c"emit_for\00" @.str19427 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str19428 = private unnamed_addr constant [3 x i8] c", \00" @.str19429 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19430 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19431 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19432 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19433 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19434 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19435 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19436 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19437 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19438 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str19439 = private unnamed_addr constant [4 x i8] c", 1\00" @.str19440 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19441 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19442 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19443 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19444 = private unnamed_addr constant [5 x i8] c"void\00" @.str19445 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" @.str19446 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str19447 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19448 = private unnamed_addr constant [12 x i8] c"emit_return\00" @.str19449 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19450 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30424: index out of range: \00" @.str19451 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30441: index out of range: \00" @.str19452 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30453: index out of range: \00" @.str19453 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30453: index out of range: \00" @.str19454 = private unnamed_addr constant [2 x i8] c"_\00" @.str19455 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30463: index out of range: \00" @.str19456 = private unnamed_addr constant [8 x i8] c"match: \00" @.str19457 = private unnamed_addr constant [18 x i8] c"emit_bind_payload\00" @.str19458 = private unnamed_addr constant [8 x i8] c" binds \00" @.str19459 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str19460 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30469: index out of range: \00" @.str19461 = private unnamed_addr constant [8 x i8] c"match: \00" @.str19462 = private unnamed_addr constant [10 x i8] c" payload \00" @.str19463 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str19464 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30470: index out of range: \00" @.str19465 = private unnamed_addr constant [3 x i8] c" \00" @.str19466 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str19467 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19468 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19469 = private unnamed_addr constant [6 x i8] c"load \00" @.str19470 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19471 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30476: index out of range: \00" @.str19472 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19473 = private unnamed_addr constant [18 x i8] c"emit_match_tagged\00" @.str19474 = private unnamed_addr constant [5 x i8] c"mend\00" @.str19475 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30492: index out of range: \00" @.str19476 = private unnamed_addr constant [2 x i8] c"0\00" @.str19477 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30500: index out of range: \00" @.str19478 = private unnamed_addr constant [8 x i8] c"match: \00" @.str19479 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str19480 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19481 = private unnamed_addr constant [3 x i8] c", \00" @.str19482 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str19483 = private unnamed_addr constant [3 x i8] c", \00" @.str19484 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str19485 = private unnamed_addr constant [5 x i8] c"marm\00" @.str19486 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19487 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19488 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19489 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19490 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19491 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19492 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19493 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19494 = private unnamed_addr constant [10 x i8] c"match on \00" @.str19495 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str19496 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30528: index out of range: \00" @.str19497 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str19498 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19499 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19500 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19501 = private unnamed_addr constant [5 x i8] c"mend\00" @.str19502 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30545: index out of range: \00" @.str19503 = private unnamed_addr constant [2 x i8] c"0\00" @.str19504 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30552: index out of range: \00" @.str19505 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19506 = private unnamed_addr constant [11 x i8] c"emit_match\00" @.str19507 = private unnamed_addr constant [3 x i8] c", \00" @.str19508 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str19509 = private unnamed_addr constant [3 x i8] c", \00" @.str19510 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str19511 = private unnamed_addr constant [5 x i8] c"marm\00" @.str19512 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19513 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19514 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19515 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19516 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19517 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19518 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19519 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19520 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19521 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19522 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19523 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str19524 = private unnamed_addr constant [10 x i8] c"emit_emit\00" @.str19525 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30584: index out of range: \00" @.str19526 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30587: index out of range: \00" @.str19527 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30587: index out of range: \00" @.str19528 = private unnamed_addr constant [2 x i8] c"0\00" @.str19529 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str19530 = private unnamed_addr constant [5 x i8] c"null\00" @.str19531 = private unnamed_addr constant [3 x i8] c" \00" @.str19532 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str19533 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19534 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19535 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19536 = private unnamed_addr constant [3 x i8] c" \00" @.str19537 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str19538 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19539 = private unnamed_addr constant [9 x i8] c" store \00" @.str19540 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30606: index out of range: \00" @.str19541 = private unnamed_addr constant [2 x i8] c" \00" @.str19542 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30606: index out of range: \00" @.str19543 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19545 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30607: index out of range: \00" @.str19546 = private unnamed_addr constant [2 x i8] c"0\00" @.str19547 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str19548 = private unnamed_addr constant [3 x i8] c"-1\00" @.str19549 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str19550 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str19551 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19552 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str19553 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19554 = private unnamed_addr constant [2 x i8] c"0\00" @.str19555 = private unnamed_addr constant [4 x i8] c"int\00" @.str19556 = private unnamed_addr constant [3 x i8] c", \00" @.str19557 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30622: index out of range: \00" @.str19558 = private unnamed_addr constant [2 x i8] c" \00" @.str19559 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30622: index out of range: \00" @.str19560 = private unnamed_addr constant [3 x i8] c" \00" @.str19561 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str19562 = private unnamed_addr constant [2 x i8] c"(\00" @.str19563 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19564 = private unnamed_addr constant [4 x i8] c"int\00" @.str19565 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str19566 = private unnamed_addr constant [2 x i8] c"(\00" @.str19567 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19568 = private unnamed_addr constant [2 x i8] c"0\00" @.str19569 = private unnamed_addr constant [4 x i8] c"int\00" @.str19570 = private unnamed_addr constant [10 x i8] c" %decl.s\00" @.str19571 = private unnamed_addr constant [49 x i8] c" = atomicrmw add ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str19572 = private unnamed_addr constant [10 x i8] c" %decl.e\00" @.str19573 = private unnamed_addr constant [49 x i8] c" = atomicrmw sub ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str19574 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19575 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30675: index out of range: \00" @.str19576 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19577 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19578 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30676: index out of range: \00" @.str19579 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19580 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str19581 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str19582 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19583 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str19584 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30697: index out of range: \00" @.str19585 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30697: index out of range: \00" @.str19586 = private unnamed_addr constant [10 x i8] c"loop_push\00" @.str19587 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30715: index out of range: \00" @.str19588 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30724: index out of range: \00" @.str19589 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30738: index out of range: \00" @.str19590 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str19591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30747: index out of range: \00" @.str19592 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str19593 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str19594 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str19595 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str19596 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str19597 = private unnamed_addr constant [32 x i8] c"@L_cap = internal global i32 0\0A\00" @.str19598 = private unnamed_addr constant [36 x i8] c"@L_snapcap = internal global i32 0\0A\00" @.str19599 = private unnamed_addr constant [37 x i8] c"@L_alive = internal global ptr null\0A\00" @.str19600 = private unnamed_addr constant [36 x i8] c"@L_kind = internal global ptr null\0A\00" @.str19601 = private unnamed_addr constant [40 x i8] c"@L_freelist = internal global ptr null\0A\00" @.str19602 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str19603 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str19604 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str19605 = private unnamed_addr constant [41 x i8] c"@L_owner_arr = internal global ptr null\0A\00" @.str19606 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30782: index out of range: \00" @.str19607 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str19608 = private unnamed_addr constant [17 x i8] c"emit_ecs_storage\00" @.str19609 = private unnamed_addr constant [29 x i8] c" = internal global ptr null\0A\00" @.str19610 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str19611 = private unnamed_addr constant [29 x i8] c" = internal global ptr null\0A\00" @.str19612 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str19613 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str19614 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str19615 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str19616 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str19617 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30797: index out of range: \00" @.str19618 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str19619 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str19620 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30807: index out of range: \00" @.str19621 = private unnamed_addr constant [3 x i8] c"%h\00" @.str19622 = private unnamed_addr constant [19 x i8] c"emit_ecs_allocator\00" @.str19623 = private unnamed_addr constant [3 x i8] c"H_\00" @.str19624 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30809: index out of range: \00" @.str19625 = private unnamed_addr constant [3 x i8] c" \00" @.str19626 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str19627 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19628 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str19629 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19630 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19631 = private unnamed_addr constant [40 x i8] c" %k = getelementptr inbounds i32, ptr \00" @.str19632 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19633 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str19634 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str19635 = private unnamed_addr constant [41 x i8] c" %ow = getelementptr inbounds i32, ptr \00" @.str19636 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19637 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str19638 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19639 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str19640 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str19641 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str19642 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str19643 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str19644 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str19645 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str19646 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str19647 = private unnamed_addr constant [41 x i8] c" %fp = getelementptr inbounds i32, ptr \00" @.str19648 = private unnamed_addr constant [12 x i8] c", i32 %fn1\0A\00" @.str19649 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str19650 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str19651 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str19652 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str19653 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str19654 = private unnamed_addr constant [31 x i8] c" call void @L_grow(i32 %ec1)\0A\00" @.str19655 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str19656 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str19657 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str19658 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str19659 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str19660 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str19661 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str19662 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19663 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str19664 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str19665 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str19666 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str19667 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str19668 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str19669 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str19670 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str19671 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str19672 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str19673 = private unnamed_addr constant [41 x i8] c" %fp = getelementptr inbounds i32, ptr \00" @.str19674 = private unnamed_addr constant [11 x i8] c", i32 %fn\0A\00" @.str19675 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str19676 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str19677 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str19678 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str19679 = private unnamed_addr constant [6 x i8] c"%ecsb\00" @.str19680 = private unnamed_addr constant [9 x i8] c"ecs_base\00" @.str19681 = private unnamed_addr constant [3 x i8] c" \00" @.str19682 = private unnamed_addr constant [19 x i8] c" = load ptr, ptr @\00" @.str19683 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19684 = private unnamed_addr constant [71 x i8] c"define void @L_grow(i32 %need) {\0Aentry:\0A %cap = load i32, ptr @L_cap\0A\00" @.str19685 = 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" @.str19686 = private unnamed_addr constant [59 x i8] c" %c0 = icmp eq i32 %cap, 0\0A %start = select i1 %c0, i32 \00" @.str19687 = private unnamed_addr constant [14 x i8] c"emit_ecs_grow\00" @.str19688 = private unnamed_addr constant [28 x i8] c", i32 %cap\0A br label %dbl\0A\00" @.str19689 = 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" @.str19690 = 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" @.str19691 = 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" @.str19692 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str19693 = private unnamed_addr constant [2 x i8] c"4\00" @.str19694 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19695 = private unnamed_addr constant [2 x i8] c"4\00" @.str19696 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str19697 = private unnamed_addr constant [2 x i8] c"4\00" @.str19698 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str19699 = private unnamed_addr constant [2 x i8] c"4\00" @.str19700 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30890: index out of range: \00" @.str19701 = private unnamed_addr constant [4 x i8] c"%gs\00" @.str19702 = private unnamed_addr constant [3 x i8] c" \00" @.str19703 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str19704 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30892: index out of range: \00" @.str19705 = private unnamed_addr constant [27 x i8] c", ptr null, i32 1) to i64\0A\00" @.str19706 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19707 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30893: index out of range: \00" @.str19708 = private unnamed_addr constant [3 x i8] c"H_\00" @.str19709 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30894: index out of range: \00" @.str19710 = private unnamed_addr constant [2 x i8] c"1\00" @.str19711 = 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" @.str19712 = private unnamed_addr constant [6 x i8] c" %gp\00" @.str19713 = private unnamed_addr constant [16 x i8] c"emit_grow_store\00" @.str19714 = private unnamed_addr constant [19 x i8] c" = load ptr, ptr @\00" @.str19715 = private unnamed_addr constant [7 x i8] c"\0A %gb\00" @.str19716 = private unnamed_addr constant [19 x i8] c" = mul i64 %nc64, \00" @.str19717 = private unnamed_addr constant [7 x i8] c"\0A %gr\00" @.str19718 = private unnamed_addr constant [15 x i8] c" = add i64 %gb\00" @.str19719 = private unnamed_addr constant [5 x i8] c", 8\0A\00" @.str19720 = private unnamed_addr constant [15 x i8] c"ecs store grow\00" @.str19721 = private unnamed_addr constant [6 x i8] c" %gn\00" @.str19722 = private unnamed_addr constant [32 x i8] c" = call ptr @lp_realloc(ptr %gp\00" @.str19723 = private unnamed_addr constant [10 x i8] c", i64 %gr\00" @.str19724 = private unnamed_addr constant [36 x i8] c")\0A store i32 0, ptr @lp_site\0A %go\00" @.str19725 = private unnamed_addr constant [20 x i8] c" = mul i64 %cap64, \00" @.str19726 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19727 = private unnamed_addr constant [6 x i8] c" %gt\00" @.str19728 = private unnamed_addr constant [29 x i8] c" = getelementptr i8, ptr %gn\00" @.str19729 = private unnamed_addr constant [10 x i8] c", i64 %go\00" @.str19730 = private unnamed_addr constant [7 x i8] c"\0A %gz\00" @.str19731 = private unnamed_addr constant [15 x i8] c" = sub i64 %gr\00" @.str19732 = private unnamed_addr constant [6 x i8] c", %go\00" @.str19733 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19734 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str19735 = private unnamed_addr constant [28 x i8] c" = call ptr @memset(ptr %gt\00" @.str19736 = private unnamed_addr constant [17 x i8] c", i32 0, i64 %gz\00" @.str19737 = private unnamed_addr constant [18 x i8] c")\0A store ptr %gn\00" @.str19738 = private unnamed_addr constant [8 x i8] c", ptr @\00" @.str19739 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19740 = 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" @.str19741 = 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" @.str19742 = 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" @.str19743 = private unnamed_addr constant [59 x i8] c" %dnf4 = mul i32 %dnf, 4\0A %desz = sext i32 %dnf4 to i64\0A\00" @.str19744 = private unnamed_addr constant [5 x i8] c"dynS\00" @.str19745 = private unnamed_addr constant [6 x i8] c"%desz\00" @.str19746 = private unnamed_addr constant [2 x i8] c"s\00" @.str19747 = private unnamed_addr constant [5 x i8] c"dynH\00" @.str19748 = private unnamed_addr constant [2 x i8] c"1\00" @.str19749 = private unnamed_addr constant [2 x i8] c"h\00" @.str19750 = private unnamed_addr constant [42 x i8] c" %di1 = add i32 %di, 1\0A br label %dynh\0A\00" @.str19751 = private unnamed_addr constant [5 x i8] c" %d\00" @.str19752 = private unnamed_addr constant [15 x i8] c"emit_grow_slot\00" @.str19753 = private unnamed_addr constant [45 x i8] c"p = getelementptr inbounds [32 x ptr], ptr @\00" @.str19754 = private unnamed_addr constant [22 x i8] c", i32 0, i32 %di\0A %d\00" @.str19755 = private unnamed_addr constant [21 x i8] c"o = load ptr, ptr %d\00" @.str19756 = private unnamed_addr constant [3 x i8] c"p\0A\00" @.str19757 = private unnamed_addr constant [19 x i8] c"ecs mod store grow\00" @.str19758 = private unnamed_addr constant [5 x i8] c" %d\00" @.str19759 = private unnamed_addr constant [20 x i8] c"b = mul i64 %nc64, \00" @.str19760 = private unnamed_addr constant [6 x i8] c"\0A %d\00" @.str19761 = private unnamed_addr constant [15 x i8] c"r = add i64 %d\00" @.str19762 = private unnamed_addr constant [10 x i8] c"b, 8\0A %d\00" @.str19763 = private unnamed_addr constant [32 x i8] c"n = call ptr @lp_realloc(ptr %d\00" @.str19764 = private unnamed_addr constant [10 x i8] c"o, i64 %d\00" @.str19765 = private unnamed_addr constant [32 x i8] c"r)\0A store i32 0, ptr @lp_site\0A\00" @.str19766 = private unnamed_addr constant [5 x i8] c" %d\00" @.str19767 = private unnamed_addr constant [21 x i8] c"f = mul i64 %cap64, \00" @.str19768 = private unnamed_addr constant [6 x i8] c"\0A %d\00" @.str19769 = private unnamed_addr constant [29 x i8] c"t = getelementptr i8, ptr %d\00" @.str19770 = private unnamed_addr constant [10 x i8] c"n, i64 %d\00" @.str19771 = private unnamed_addr constant [7 x i8] c"f\0A %d\00" @.str19772 = private unnamed_addr constant [15 x i8] c"z = sub i64 %d\00" @.str19773 = private unnamed_addr constant [6 x i8] c"r, %d\00" @.str19774 = private unnamed_addr constant [3 x i8] c"f\0A\00" @.str19775 = private unnamed_addr constant [5 x i8] c" %d\00" @.str19776 = private unnamed_addr constant [28 x i8] c"m = call ptr @memset(ptr %d\00" @.str19777 = private unnamed_addr constant [17 x i8] c"t, i32 0, i64 %d\00" @.str19778 = private unnamed_addr constant [18 x i8] c"z)\0A store ptr %d\00" @.str19779 = private unnamed_addr constant [10 x i8] c"n, ptr %d\00" @.str19780 = private unnamed_addr constant [3 x i8] c"p\0A\00" @.str19781 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30939: index out of range: \00" @.str19782 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30939: index out of range: \00" @.str19783 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19784 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19785 = private unnamed_addr constant [2 x i8] c"0\00" @.str19786 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30947: index out of range: \00" @.str19787 = private unnamed_addr constant [11 x i8] c"emit_query\00" @.str19788 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str19789 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str19790 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str19791 = private unnamed_addr constant [5 x i8] c"qend\00" @.str19792 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19793 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19794 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19795 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19796 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str19797 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str19798 = private unnamed_addr constant [3 x i8] c", \00" @.str19799 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19800 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19801 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19802 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19803 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19804 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19805 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str19806 = private unnamed_addr constant [3 x i8] c" \00" @.str19807 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str19808 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19809 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19810 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19811 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19812 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19813 = private unnamed_addr constant [3 x i8] c"qa\00" @.str19814 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19815 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19816 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19817 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19818 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19819 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:30972: index out of range: \00" @.str19820 = private unnamed_addr constant [2 x i8] c"0\00" @.str19821 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19822 = private unnamed_addr constant [3 x i8] c" \00" @.str19823 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str19824 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19825 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19826 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19827 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19828 = private unnamed_addr constant [3 x i8] c", \00" @.str19829 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str19830 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19831 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19832 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str19833 = private unnamed_addr constant [3 x i8] c", \00" @.str19834 = private unnamed_addr constant [3 x i8] c"H_\00" @.str19835 = private unnamed_addr constant [3 x i8] c" \00" @.str19836 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str19837 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19839 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str19840 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str19841 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19842 = private unnamed_addr constant [3 x i8] c"qt\00" @.str19843 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19844 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19845 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19846 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19847 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19848 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31000: index out of range: \00" @.str19849 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19850 = private unnamed_addr constant [3 x i8] c" \00" @.str19851 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19852 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19853 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19855 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str19856 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str19857 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19858 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19859 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31008: index out of range: \00" @.str19860 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19861 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19862 = private unnamed_addr constant [3 x i8] c"qw\00" @.str19863 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19864 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19865 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19866 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19867 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19868 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19869 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19870 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19871 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19872 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str19873 = private unnamed_addr constant [4 x i8] c", 1\00" @.str19874 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19875 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str19876 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19877 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19878 = private unnamed_addr constant [4 x i8] c"i32\00" @.str19879 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19880 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19881 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19882 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31046: index out of range: \00" @.str19883 = private unnamed_addr constant [20 x i8] c"emit_hook_with_self\00" @.str19884 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str19885 = private unnamed_addr constant [20 x i8] c"emit_init_component\00" @.str19886 = private unnamed_addr constant [3 x i8] c"H_\00" @.str19887 = private unnamed_addr constant [3 x i8] c" \00" @.str19888 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str19889 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19890 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19891 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str19892 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19893 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19894 = private unnamed_addr constant [3 x i8] c" \00" @.str19895 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19896 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19897 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19898 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19899 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31065: index out of range: \00" @.str19900 = private unnamed_addr constant [3 x i8] c" \00" @.str19901 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19902 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19903 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str19904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19905 = private unnamed_addr constant [9 x i8] c" store \00" @.str19906 = private unnamed_addr constant [2 x i8] c" \00" @.str19907 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19908 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19909 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31078: index out of range: \00" @.str19910 = private unnamed_addr constant [3 x i8] c" \00" @.str19911 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19912 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19913 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str19914 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19915 = private unnamed_addr constant [9 x i8] c" store \00" @.str19916 = private unnamed_addr constant [2 x i8] c" \00" @.str19917 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19918 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19919 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str19920 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str19921 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19922 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19923 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str19924 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str19925 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str19926 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19927 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19928 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31112: index out of range: \00" @.str19929 = private unnamed_addr constant [3 x i8] c"S_\00" @.str19930 = private unnamed_addr constant [16 x i8] c"emit_bind_props\00" @.str19931 = private unnamed_addr constant [3 x i8] c" \00" @.str19932 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str19933 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19934 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19935 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19936 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str19937 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str19938 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19939 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19940 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31127: index out of range: \00" @.str19941 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31127: index out of range: \00" @.str19942 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31136: index out of range: \00" @.str19943 = private unnamed_addr constant [14 x i8] c"merge_records\00" @.str19944 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31138: index out of range: \00" @.str19945 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str19946 = private unnamed_addr constant [12 x i8] c"spawn_model\00" @.str19947 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str19948 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str19949 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str19950 = private unnamed_addr constant [18 x i8] c"emit_worker_guard\00" @.str19951 = private unnamed_addr constant [4 x i8] c", 0\00" @.str19952 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str19953 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str19954 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str19955 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19956 = private unnamed_addr constant [10 x i8] c", label %\00" @.str19957 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19958 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19959 = private unnamed_addr constant [2 x i8] c":\00" @.str19960 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str19961 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str19962 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str19963 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str19964 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19965 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19966 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str19967 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str19968 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str19969 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str19970 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str19971 = private unnamed_addr constant [11 x i8] c"emit_spawn\00" @.str19972 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str19973 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19974 = private unnamed_addr constant [3 x i8] c" \00" @.str19975 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str19976 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19977 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19978 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str19979 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str19980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19981 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31196: index out of range: \00" @.str19982 = private unnamed_addr constant [7 x i8] c"model_\00" @.str19983 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str19984 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str19985 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str19986 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str19987 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31213: index out of range: \00" @.str19988 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31213: index out of range: \00" @.str19989 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str19990 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str19991 = private unnamed_addr constant [3 x i8] c" \00" @.str19992 = private unnamed_addr constant [36 x i8] c" = getelementptr inbounds i32, ptr \00" @.str19993 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str19994 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19995 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str19996 = private unnamed_addr constant [13 x i8] c"emit_despawn\00" @.str19997 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31229: index out of range: \00" @.str19998 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str19999 = private unnamed_addr constant [3 x i8] c", \00" @.str20000 = private unnamed_addr constant [3 x i8] c"dh\00" @.str20001 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str20002 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20003 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20004 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20005 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20006 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str20007 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str20008 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str20009 = private unnamed_addr constant [7 x i8] c"model_\00" @.str20010 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str20011 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20012 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str20013 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str20014 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20015 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20016 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20017 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str20018 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20019 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str20020 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20021 = private unnamed_addr constant [3 x i8] c"H_\00" @.str20022 = private unnamed_addr constant [12 x i8] c"emit_attach\00" @.str20023 = private unnamed_addr constant [3 x i8] c" \00" @.str20024 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str20025 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20026 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20027 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str20028 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str20029 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20030 = private unnamed_addr constant [7 x i8] c"attach\00" @.str20031 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str20032 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20033 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20034 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20036 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20037 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20038 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20039 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20040 = private unnamed_addr constant [3 x i8] c"H_\00" @.str20041 = private unnamed_addr constant [12 x i8] c"emit_detach\00" @.str20042 = private unnamed_addr constant [3 x i8] c" \00" @.str20043 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str20044 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20045 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20046 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str20047 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str20048 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20049 = private unnamed_addr constant [7 x i8] c"detach\00" @.str20050 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str20051 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20052 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20053 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20054 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20055 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20056 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str20057 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20058 = private unnamed_addr constant [3 x i8] c"S_\00" @.str20059 = private unnamed_addr constant [3 x i8] c" \00" @.str20060 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20061 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20062 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20063 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20064 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str20065 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str20066 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20067 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20068 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str20069 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str20070 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20071 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str20072 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20073 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20074 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20075 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20076 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31300: index out of range: \00" @.str20077 = private unnamed_addr constant [2 x i8] c"0\00" @.str20078 = private unnamed_addr constant [2 x i8] c"1\00" @.str20079 = private unnamed_addr constant [7 x i8] c"system\00" @.str20080 = private unnamed_addr constant [6 x i8] c"layer\00" @.str20081 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str20082 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str20083 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20084 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str20085 = private unnamed_addr constant [12 x i8] c"emit_toggle\00" @.str20086 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str20087 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str20088 = private unnamed_addr constant [6 x i8] c"_show\00" @.str20089 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20090 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20091 = private unnamed_addr constant [3 x i8] c"H_\00" @.str20092 = private unnamed_addr constant [3 x i8] c" \00" @.str20093 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str20094 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20095 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20096 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str20097 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20098 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20099 = private unnamed_addr constant [3 x i8] c"S_\00" @.str20100 = private unnamed_addr constant [3 x i8] c" \00" @.str20101 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20102 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20103 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20104 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20105 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str20106 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str20107 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20108 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20109 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str20110 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str20111 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str20112 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str20113 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20114 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str20115 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20116 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str20117 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str20118 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str20119 = private unnamed_addr constant [2 x i8] c"_\00" @.str20120 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str20121 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20122 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20123 = private unnamed_addr constant [5 x i8] c"void\00" @.str20124 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str20125 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str20126 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str20127 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str20128 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20129 = private unnamed_addr constant [1 x i8] c"\00" @.str20130 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str20131 = private unnamed_addr constant [14 x i8] c"emit_call_one\00" @.str20132 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str20133 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20134 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str20135 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str20136 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20137 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str20138 = private unnamed_addr constant [3 x i8] c", \00" @.str20139 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str20140 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str20141 = private unnamed_addr constant [4 x i8] c", 1\00" @.str20142 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str20143 = private unnamed_addr constant [3 x i8] c", \00" @.str20144 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str20145 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str20146 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20147 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20148 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20149 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20150 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str20151 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20152 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20153 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20154 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20155 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20156 = private unnamed_addr constant [23 x i8] c"emit_one_engine_system\00" @.str20157 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20158 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31416: index out of range: \00" @.str20159 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31416: index out of range: \00" @.str20160 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31416: index out of range: \00" @.str20161 = private unnamed_addr constant [7 x i8] c"Update\00" @.str20162 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str20163 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20164 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str20165 = private unnamed_addr constant [30 x i8] c"emit_engine_systems_for_phase\00" @.str20166 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20167 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str20168 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str20169 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20170 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str20171 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20172 = private unnamed_addr constant [7 x i8] c"Render\00" @.str20173 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str20174 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20175 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str20176 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20177 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str20178 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str20179 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str20180 = 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" @.str20181 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str20182 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str20183 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str20184 = 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" @.str20185 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31446: index out of range: \00" @.str20186 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31450: index out of range: \00" @.str20187 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str20188 = private unnamed_addr constant [2 x i8] c"c\00" @.str20189 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20190 = private unnamed_addr constant [3 x i8] c"H_\00" @.str20191 = private unnamed_addr constant [22 x i8] c"emit_countdown_system\00" @.str20192 = private unnamed_addr constant [5 x i8] c" %h\00" @.str20193 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str20194 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str20195 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str20196 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str20197 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20198 = private unnamed_addr constant [7 x i8] c" %has\00" @.str20199 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str20200 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str20201 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str20202 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str20203 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str20204 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20205 = private unnamed_addr constant [2 x i8] c"t\00" @.str20206 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20207 = private unnamed_addr constant [3 x i8] c"S_\00" @.str20208 = private unnamed_addr constant [5 x i8] c" %s\00" @.str20209 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20210 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20211 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str20212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31464: index out of range: \00" @.str20213 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str20214 = private unnamed_addr constant [2 x i8] c"_\00" @.str20215 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str20216 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20217 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str20218 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str20219 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20220 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str20221 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str20222 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20223 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str20224 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str20225 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str20226 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str20227 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str20228 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str20229 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str20230 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str20231 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str20232 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str20233 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20234 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str20235 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str20236 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20237 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str20238 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20239 = private unnamed_addr constant [2 x i8] c"c\00" @.str20240 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str20241 = 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" @.str20242 = private unnamed_addr constant [4 x i8] c"int\00" @.str20243 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str20244 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20245 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str20246 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str20247 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20248 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31506: index out of range: \00" @.str20249 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31506: index out of range: \00" @.str20250 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31515: index out of range: \00" @.str20251 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str20252 = private unnamed_addr constant [16 x i8] c"emit_prefab_fns\00" @.str20253 = private unnamed_addr constant [2 x i8] c")\00" @.str20254 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str20255 = private unnamed_addr constant [4 x i8] c", 0\00" @.str20256 = private unnamed_addr constant [3 x i8] c"pf\00" @.str20257 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str20258 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20259 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20260 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20261 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20262 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20263 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str20264 = private unnamed_addr constant [3 x i8] c"()\00" @.str20265 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str20266 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20267 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20268 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str20269 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str20270 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20271 = private unnamed_addr constant [6 x i8] c"Input\00" @.str20272 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str20273 = private unnamed_addr constant [7 x i8] c"Update\00" @.str20274 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str20275 = private unnamed_addr constant [7 x i8] c"Render\00" @.str20276 = private unnamed_addr constant [6 x i8] c"Start\00" @.str20277 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str20278 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str20279 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str20280 = private unnamed_addr constant [9 x i8] c"phase_id\00" @.str20281 = private unnamed_addr constant [2 x i8] c"'\00" @.str20282 = private unnamed_addr constant [6 x i8] c"Start\00" @.str20283 = private unnamed_addr constant [6 x i8] c"Input\00" @.str20284 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str20285 = private unnamed_addr constant [7 x i8] c"Update\00" @.str20286 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str20287 = private unnamed_addr constant [7 x i8] c"Render\00" @.str20288 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str20289 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str20290 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str20291 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str20292 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str20293 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str20294 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str20295 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str20296 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str20297 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str20298 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str20299 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str20300 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str20301 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str20302 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str20303 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str20304 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str20305 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str20306 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str20307 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str20308 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str20309 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str20310 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str20311 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str20312 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31608: index out of range: \00" @.str20313 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str20314 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31608: index out of range: \00" @.str20315 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20316 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str20317 = 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" @.str20318 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str20319 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str20320 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str20321 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str20322 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str20323 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str20324 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str20325 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str20326 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20327 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str20328 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str20329 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str20330 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str20331 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str20332 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str20333 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str20334 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str20335 = 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" @.str20336 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str20337 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str20338 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str20339 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str20340 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str20341 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str20342 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str20343 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20344 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20345 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str20346 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20347 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20348 = private unnamed_addr constant [3 x i8] c" \00" @.str20349 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str20350 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str20351 = private unnamed_addr constant [4 x i8] c", %\00" @.str20352 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str20353 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str20354 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str20355 = private unnamed_addr constant [27 x i8] c"emit_dyn_systems_for_phase\00" @.str20356 = private unnamed_addr constant [3 x i8] c", \00" @.str20357 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20358 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20359 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20360 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20361 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20362 = private unnamed_addr constant [3 x i8] c" \00" @.str20363 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str20364 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str20365 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20366 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str20367 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str20368 = private unnamed_addr constant [3 x i8] c", \00" @.str20369 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20370 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20371 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20372 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20373 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20374 = private unnamed_addr constant [3 x i8] c" \00" @.str20375 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str20376 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str20377 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20378 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str20379 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20380 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20381 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20382 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20383 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str20384 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str20385 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str20386 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20387 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20388 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31668: index out of range: \00" @.str20389 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31675: index out of range: \00" @.str20390 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str20391 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31680: index out of range: \00" @.str20392 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str20393 = private unnamed_addr constant [21 x i8] c"emit_calls_for_phase\00" @.str20394 = private unnamed_addr constant [3 x i8] c", \00" @.str20395 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str20396 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str20397 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20398 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20399 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20400 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20401 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20402 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20403 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20404 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20405 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str20406 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20407 = private unnamed_addr constant [14 x i8] c"drain_actions\00" @.str20408 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20409 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31702: index out of range: \00" @.str20410 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str20411 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31707: index out of range: \00" @.str20412 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str20413 = private unnamed_addr constant [23 x i8] c"emit_scene_menu_render\00" @.str20414 = private unnamed_addr constant [3 x i8] c", \00" @.str20415 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str20416 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str20417 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20418 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20419 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20420 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20421 = private unnamed_addr constant [15 x i8] c":\0A call void \00" @.str20422 = private unnamed_addr constant [13 x i8] c"rt_ui_render\00" @.str20423 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20424 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20425 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20426 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20427 = private unnamed_addr constant [7 x i8] c"scene \00" @.str20428 = private unnamed_addr constant [14 x i8] c"emit_scene_fn\00" @.str20429 = private unnamed_addr constant [5 x i8] c"void\00" @.str20430 = private unnamed_addr constant [6 x i8] c"enter\00" @.str20431 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str20432 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20433 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str20434 = private unnamed_addr constant [9 x i8] c"(i32 0)\0A\00" @.str20435 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20436 = private unnamed_addr constant [11 x i8] c"rt_ui_open\00" @.str20437 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str20438 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str20439 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20440 = private unnamed_addr constant [5 x i8] c"exit\00" @.str20441 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20442 = private unnamed_addr constant [12 x i8] c"rt_ui_close\00" @.str20443 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20444 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str20445 = private unnamed_addr constant [2 x i8] c"_\00" @.str20446 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20447 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str20448 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str20449 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str20450 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str20451 = private unnamed_addr constant [2 x i8] c"_\00" @.str20452 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str20453 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20454 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31752: index out of range: \00" @.str20455 = private unnamed_addr constant [6 x i8] c"enter\00" @.str20456 = private unnamed_addr constant [5 x i8] c"exit\00" @.str20457 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str20458 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str20459 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31770: index out of range: \00" @.str20460 = private unnamed_addr constant [6 x i8] c" %is\00" @.str20461 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str20462 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20463 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str20464 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str20465 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str20466 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20467 = private unnamed_addr constant [6 x i8] c"leave\00" @.str20468 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str20469 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str20470 = private unnamed_addr constant [5 x i8] c"next\00" @.str20471 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20472 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str20473 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31788: index out of range: \00" @.str20474 = private unnamed_addr constant [5 x i8] c"void\00" @.str20475 = private unnamed_addr constant [4 x i8] c"i32\00" @.str20476 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str20477 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20478 = private unnamed_addr constant [4 x i8] c"int\00" @.str20479 = private unnamed_addr constant [3 x i8] c"%e\00" @.str20480 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str20481 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str20482 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str20483 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str20484 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20485 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str20486 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str20487 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str20488 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str20489 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str20490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31830: index out of range: \00" @.str20491 = private unnamed_addr constant [5 x i8] c" %c\00" @.str20492 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str20493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20494 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str20495 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str20496 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str20497 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20498 = private unnamed_addr constant [4 x i8] c"hit\00" @.str20499 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str20500 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str20501 = private unnamed_addr constant [7 x i8] c"model_\00" @.str20502 = private unnamed_addr constant [22 x i8] c"emit_world_despawn_fn\00" @.str20503 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str20504 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20505 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str20506 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str20507 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20508 = private unnamed_addr constant [5 x i8] c"next\00" @.str20509 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20510 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str20511 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str20512 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str20513 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str20514 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str20515 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str20516 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str20517 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str20518 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str20519 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str20520 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str20521 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str20522 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str20523 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str20524 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str20525 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str20526 = private unnamed_addr constant [10 x i8] c", i32 %i\0A\00" @.str20527 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str20528 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31871: index out of range: \00" @.str20529 = private unnamed_addr constant [5 x i8] c" %c\00" @.str20530 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str20531 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20532 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str20533 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str20534 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str20535 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20536 = private unnamed_addr constant [4 x i8] c"hit\00" @.str20537 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str20538 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str20539 = private unnamed_addr constant [7 x i8] c"model_\00" @.str20540 = private unnamed_addr constant [20 x i8] c"emit_despawn_all_fn\00" @.str20541 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str20542 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str20543 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str20544 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str20545 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20546 = private unnamed_addr constant [5 x i8] c"next\00" @.str20547 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20548 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str20549 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str20550 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str20551 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str20552 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31913: index out of range: \00" @.str20553 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str20554 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str20555 = private unnamed_addr constant [3 x i8] c", \00" @.str20556 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31924: index out of range: \00" @.str20557 = private unnamed_addr constant [3 x i8] c", \00" @.str20558 = private unnamed_addr constant [4 x i8] c"i32\00" @.str20559 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str20560 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str20561 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str20562 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str20563 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str20564 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str20565 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str20566 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str20567 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str20568 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str20569 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str20570 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str20571 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20572 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str20573 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20574 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str20575 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str20576 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str20577 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str20578 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str20579 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str20580 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str20581 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str20582 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str20583 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str20584 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str20585 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str20586 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str20587 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str20588 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str20589 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20590 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str20591 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20592 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str20593 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str20594 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str20595 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str20596 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str20597 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str20598 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str20599 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str20600 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str20601 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str20602 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str20603 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str20604 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str20605 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str20606 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str20607 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20608 = 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" @.str20609 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str20610 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str20611 = private unnamed_addr constant [35 x i8] c" %slot = getelementptr inbounds [\00" @.str20612 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str20613 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str20614 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str20615 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str20616 = private unnamed_addr constant [5 x i8] c"void\00" @.str20617 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str20618 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str20619 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20620 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str20621 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str20622 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str20623 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str20624 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str20625 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str20626 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str20627 = private unnamed_addr constant [15 x i8] c"emit_event_fns\00" @.str20628 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:31991: index out of range: \00" @.str20629 = private unnamed_addr constant [3 x i8] c" \00" @.str20630 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str20631 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20632 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str20633 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20634 = private unnamed_addr constant [9 x i8] c" store \00" @.str20635 = private unnamed_addr constant [4 x i8] c" %p\00" @.str20636 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20638 = private unnamed_addr constant [9 x i8] c" store \00" @.str20639 = private unnamed_addr constant [4 x i8] c" %p\00" @.str20640 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20641 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20642 = private unnamed_addr constant [3 x i8] c" \00" @.str20643 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str20644 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20645 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str20646 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20647 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str20648 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20649 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32010: index out of range: \00" @.str20650 = private unnamed_addr constant [7 x i8] c"evnext\00" @.str20651 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32016: index out of range: \00" @.str20652 = private unnamed_addr constant [5 x i8] c"@On(\00" @.str20653 = private unnamed_addr constant [2 x i8] c")\00" @.str20654 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32019: index out of range: \00" @.str20655 = private unnamed_addr constant [4 x i8] c"ret\00" @.str20656 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20657 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20658 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20659 = private unnamed_addr constant [4 x i8] c"i32\00" @.str20660 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str20661 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20662 = private unnamed_addr constant [4 x i8] c"evl\00" @.str20663 = private unnamed_addr constant [4 x i8] c"evb\00" @.str20664 = private unnamed_addr constant [4 x i8] c"evd\00" @.str20665 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20666 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20667 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20668 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str20669 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str20670 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str20671 = private unnamed_addr constant [3 x i8] c", \00" @.str20672 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20673 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20674 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20675 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20676 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20677 = private unnamed_addr constant [3 x i8] c" \00" @.str20678 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str20679 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str20680 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str20681 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20682 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str20683 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str20684 = private unnamed_addr constant [7 x i8] c", null\00" @.str20685 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str20686 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str20687 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str20688 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20689 = private unnamed_addr constant [10 x i8] c", label %\00" @.str20690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20691 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20692 = private unnamed_addr constant [13 x i8] c" call void \00" @.str20693 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str20694 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20695 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20696 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20697 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20698 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str20699 = private unnamed_addr constant [4 x i8] c", 1\00" @.str20700 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str20701 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20702 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20703 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str20704 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20705 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20706 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str20707 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str20708 = 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" @.str20709 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str20710 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str20711 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20712 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str20713 = private unnamed_addr constant [5 x i8] c"void\00" @.str20714 = private unnamed_addr constant [4 x i8] c"i32\00" @.str20715 = private unnamed_addr constant [8 x i8] c"define \00" @.str20716 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str20717 = private unnamed_addr constant [2 x i8] c"(\00" @.str20718 = private unnamed_addr constant [3 x i8] c", \00" @.str20719 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32066: index out of range: \00" @.str20720 = private unnamed_addr constant [4 x i8] c" %p\00" @.str20721 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str20722 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20723 = 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" @.str20724 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32083: index out of range: \00" @.str20725 = private unnamed_addr constant [3 x i8] c"sw\00" @.str20726 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20727 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str20728 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str20729 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str20730 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str20731 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20732 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str20733 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str20734 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str20735 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20736 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str20737 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str20738 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str20739 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20740 = private unnamed_addr constant [4 x i8] c"swb\00" @.str20741 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20742 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str20743 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str20744 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str20745 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str20746 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20747 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str20748 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str20749 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20750 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str20751 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str20752 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str20753 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str20754 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str20755 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str20756 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20757 = private unnamed_addr constant [4 x i8] c"swh\00" @.str20758 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20759 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str20760 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str20761 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str20762 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str20763 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20764 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str20765 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str20766 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20767 = private unnamed_addr constant [4 x i8] c"swx\00" @.str20768 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20769 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str20770 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str20771 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str20772 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str20773 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20774 = private unnamed_addr constant [4 x i8] c"swd\00" @.str20775 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str20776 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str20777 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20778 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str20779 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str20780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32132: index out of range: \00" @.str20781 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str20782 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str20783 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str20784 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str20785 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str20786 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str20787 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32145: index out of range: \00" @.str20788 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32146: index out of range: \00" @.str20789 = private unnamed_addr constant [5 x i8] c" %c\00" @.str20790 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str20791 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20792 = private unnamed_addr constant [5 x i8] c" %e\00" @.str20793 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str20794 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str20795 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str20796 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str20797 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str20798 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20799 = private unnamed_addr constant [2 x i8] c"h\00" @.str20800 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str20801 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20802 = private unnamed_addr constant [2 x i8] c"n\00" @.str20803 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20804 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str20805 = 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" @.str20806 = 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" @.str20807 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str20808 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str20809 = 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" @.str20810 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str20811 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str20812 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32168: index out of range: \00" @.str20813 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32169: index out of range: \00" @.str20814 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str20815 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str20816 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20817 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str20818 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str20819 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str20820 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20821 = private unnamed_addr constant [3 x i8] c"pk\00" @.str20822 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20823 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32175: index out of range: \00" @.str20824 = private unnamed_addr constant [2 x i8] c"_\00" @.str20825 = private unnamed_addr constant [17 x i8] c"emit_world_table\00" @.str20826 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str20827 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str20828 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str20829 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str20830 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str20831 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str20832 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str20833 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str20834 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str20835 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20836 = private unnamed_addr constant [3 x i8] c"fh\00" @.str20837 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str20838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20839 = private unnamed_addr constant [3 x i8] c"fn\00" @.str20840 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20841 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str20842 = private unnamed_addr constant [3 x i8] c"pn\00" @.str20843 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20844 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str20845 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str20846 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32200: index out of range: \00" @.str20847 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32201: index out of range: \00" @.str20848 = private unnamed_addr constant [5 x i8] c" %m\00" @.str20849 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str20850 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20851 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str20852 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str20853 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str20854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20855 = private unnamed_addr constant [2 x i8] c"g\00" @.str20856 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20857 = private unnamed_addr constant [3 x i8] c"S_\00" @.str20858 = private unnamed_addr constant [5 x i8] c" %s\00" @.str20859 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20860 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20861 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str20862 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32209: index out of range: \00" @.str20863 = private unnamed_addr constant [2 x i8] c"_\00" @.str20864 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str20865 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str20866 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20867 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str20868 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str20869 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str20870 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20871 = private unnamed_addr constant [3 x i8] c"gf\00" @.str20872 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20873 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str20874 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20875 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str20876 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str20877 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20878 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str20879 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str20880 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str20881 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20882 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str20883 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str20884 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str20885 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20886 = private unnamed_addr constant [3 x i8] c"i8\00" @.str20887 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str20888 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str20889 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20890 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str20891 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str20892 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str20893 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20894 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str20895 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str20896 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20897 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str20898 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str20899 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str20900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20901 = private unnamed_addr constant [3 x i8] c"gk\00" @.str20902 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20903 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str20904 = private unnamed_addr constant [3 x i8] c"gn\00" @.str20905 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20906 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str20907 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20908 = 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" @.str20909 = 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" @.str20910 = 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" @.str20911 = 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" @.str20912 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str20913 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str20914 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32244: index out of range: \00" @.str20915 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32245: index out of range: \00" @.str20916 = private unnamed_addr constant [5 x i8] c" %m\00" @.str20917 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str20918 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20919 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str20920 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str20921 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str20922 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20923 = private unnamed_addr constant [2 x i8] c"g\00" @.str20924 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20925 = private unnamed_addr constant [3 x i8] c"S_\00" @.str20926 = private unnamed_addr constant [5 x i8] c" %s\00" @.str20927 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20928 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str20929 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str20930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32253: index out of range: \00" @.str20931 = private unnamed_addr constant [2 x i8] c"_\00" @.str20932 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str20933 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str20934 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20935 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str20936 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str20937 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str20938 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20939 = private unnamed_addr constant [3 x i8] c"sf\00" @.str20940 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20941 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str20942 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str20943 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str20944 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str20945 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20946 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str20947 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str20948 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str20949 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str20950 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str20951 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str20952 = private unnamed_addr constant [3 x i8] c"i8\00" @.str20953 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str20954 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str20955 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str20956 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str20957 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str20958 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str20959 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str20960 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str20961 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str20962 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str20963 = private unnamed_addr constant [3 x i8] c"sk\00" @.str20964 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20965 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str20966 = private unnamed_addr constant [3 x i8] c"gn\00" @.str20967 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20968 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str20969 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20970 = 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" @.str20971 = 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" @.str20972 = 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" @.str20973 = 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" @.str20974 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str20975 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str20976 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32288: index out of range: \00" @.str20977 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32289: index out of range: \00" @.str20978 = private unnamed_addr constant [5 x i8] c" %m\00" @.str20979 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str20980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20981 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str20982 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str20983 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str20984 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20985 = private unnamed_addr constant [2 x i8] c"g\00" @.str20986 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str20987 = private unnamed_addr constant [3 x i8] c"H_\00" @.str20988 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str20989 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str20990 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str20991 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str20992 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str20993 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20994 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str20995 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str20996 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str20997 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str20998 = private unnamed_addr constant [3 x i8] c"gn\00" @.str20999 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21000 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str21001 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21002 = 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" @.str21003 = 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" @.str21004 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str21005 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str21006 = 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" @.str21007 = 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" @.str21008 = private unnamed_addr constant [14 x i8] c"ecs mod store\00" @.str21009 = 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" @.str21010 = 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" @.str21011 = private unnamed_addr constant [14 x i8] c"ecs mod flags\00" @.str21012 = 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" @.str21013 = 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" @.str21014 = 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" @.str21015 = 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" @.str21016 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str21017 = 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" @.str21018 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str21019 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str21020 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str21021 = 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" @.str21022 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str21023 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str21024 = 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" @.str21025 = 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" @.str21026 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str21027 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str21028 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str21029 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str21030 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str21031 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str21032 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32342: index out of range: \00" @.str21033 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32343: index out of range: \00" @.str21034 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str21035 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str21036 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21037 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str21038 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str21039 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str21040 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str21041 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str21042 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str21043 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21044 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str21045 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str21046 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32347: index out of range: \00" @.str21047 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21048 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str21049 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21050 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str21051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32361: index out of range: \00" @.str21052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32362: index out of range: \00" @.str21053 = private unnamed_addr constant [4 x i8] c"int\00" @.str21054 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str21055 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21056 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str21057 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str21058 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str21059 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str21060 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32383: index out of range: \00" @.str21061 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32384: index out of range: \00" @.str21062 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str21063 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str21064 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21065 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str21066 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str21067 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str21068 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21069 = private unnamed_addr constant [3 x i8] c"sh\00" @.str21070 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str21071 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str21072 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str21073 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21074 = private unnamed_addr constant [3 x i8] c"sn\00" @.str21075 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21076 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str21077 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str21078 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str21079 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str21080 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str21081 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str21082 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str21083 = private unnamed_addr constant [41 x i8] c" %ap = getelementptr inbounds i32, ptr \00" @.str21084 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str21085 = 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" @.str21086 = 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" @.str21087 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str21088 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str21089 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str21090 = private unnamed_addr constant [1 x i8] c"\00" @.str21091 = private unnamed_addr constant [4 x i8] c"int\00" @.str21092 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32426: index out of range: \00" @.str21093 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str21094 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str21095 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str21096 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str21097 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32437: index out of range: \00" @.str21098 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32438: index out of range: \00" @.str21099 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str21100 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str21101 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21102 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str21103 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str21104 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str21105 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21106 = private unnamed_addr constant [3 x i8] c"ph\00" @.str21107 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str21108 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21109 = private unnamed_addr constant [3 x i8] c"pn\00" @.str21110 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21111 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str21112 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str21113 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str21114 = 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" @.str21115 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str21116 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str21117 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str21118 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32456: index out of range: \00" @.str21119 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32457: index out of range: \00" @.str21120 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str21121 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str21122 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21123 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str21124 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str21125 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str21126 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21127 = private unnamed_addr constant [4 x i8] c"fch\00" @.str21128 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str21129 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21130 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str21131 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21132 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str21133 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str21134 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str21135 = 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" @.str21136 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str21137 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str21138 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32475: index out of range: \00" @.str21139 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32476: index out of range: \00" @.str21140 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str21141 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str21142 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21143 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str21144 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str21145 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str21146 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21147 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str21148 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21149 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32482: index out of range: \00" @.str21150 = private unnamed_addr constant [2 x i8] c"_\00" @.str21151 = private unnamed_addr constant [24 x i8] c"emit_world_reflect_enum\00" @.str21152 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str21153 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str21154 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21155 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str21156 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str21157 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str21158 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21159 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str21160 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str21161 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21162 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str21163 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21164 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str21165 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21166 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str21167 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21168 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str21169 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str21170 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str21171 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32501: index out of range: \00" @.str21172 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32502: index out of range: \00" @.str21173 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str21174 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str21175 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21176 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str21177 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str21178 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str21179 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21180 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str21181 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21182 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32508: index out of range: \00" @.str21183 = private unnamed_addr constant [2 x i8] c"_\00" @.str21184 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str21185 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str21186 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21187 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str21188 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str21189 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str21190 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21191 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str21192 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str21193 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21194 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str21195 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21196 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str21197 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21198 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str21199 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21200 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str21201 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str21202 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str21203 = private unnamed_addr constant [6 x i8] c"Input\00" @.str21204 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str21205 = private unnamed_addr constant [7 x i8] c"Update\00" @.str21206 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str21207 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str21208 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str21209 = private unnamed_addr constant [7 x i8] c"Render\00" @.str21210 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str21211 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str21212 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32548: index out of range: \00" @.str21213 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32548: index out of range: \00" @.str21214 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str21215 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str21216 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str21217 = private unnamed_addr constant [31 x i8] c" call void @L_init_runtime()\0A\00" @.str21218 = private unnamed_addr constant [28 x i8] c" call void @L_grow(i32 1)\0A\00" @.str21219 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str21220 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21221 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str21222 = private unnamed_addr constant [15 x i8] c"emit_game_main\00" @.str21223 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21224 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str21225 = private unnamed_addr constant [6 x i8] c"Start\00" @.str21226 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21227 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str21228 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32572: index out of range: \00" @.str21229 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str21230 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32572: index out of range: \00" @.str21231 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21232 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str21233 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str21234 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str21235 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str21236 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str21237 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str21238 = private unnamed_addr constant [4 x i8] c", 0\00" @.str21239 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str21240 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str21241 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str21242 = private unnamed_addr constant [3 x i8] c"()\00" @.str21243 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str21244 = private unnamed_addr constant [4 x i8] c", 0\00" @.str21245 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str21246 = private unnamed_addr constant [3 x i8] c", \00" @.str21247 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21248 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str21249 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21250 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str21251 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str21252 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str21253 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str21254 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str21255 = private unnamed_addr constant [3 x i8] c"()\00" @.str21256 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21257 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str21258 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str21259 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str21260 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str21261 = private unnamed_addr constant [3 x i8] c"()\00" @.str21262 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21263 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str21264 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str21265 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str21266 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21267 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str21268 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21269 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21270 = private unnamed_addr constant [6 x i8] c"Input\00" @.str21271 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str21272 = private unnamed_addr constant [7 x i8] c"Update\00" @.str21273 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str21274 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str21275 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21276 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str21277 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21278 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21279 = private unnamed_addr constant [7 x i8] c"Render\00" @.str21280 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str21281 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str21282 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21283 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str21284 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21285 = private unnamed_addr constant [29 x i8] c" call void @lp_mem_frame()\0A\00" @.str21286 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str21287 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str21288 = private unnamed_addr constant [4 x i8] c", 1\00" @.str21289 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21290 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str21291 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str21292 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str21293 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str21294 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str21295 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str21296 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str21297 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str21298 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21299 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str21300 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21301 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str21302 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32668: index out of range: \00" @.str21303 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32669: index out of range: \00" @.str21304 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str21305 = private unnamed_addr constant [13 x i8] c"machine_addr\00" @.str21306 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str21307 = private unnamed_addr constant [20 x i8] c"machine_state_value\00" @.str21308 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str21309 = private unnamed_addr constant [1 x i8] c"\00" @.str21310 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str21311 = private unnamed_addr constant [13 x i8] c"emit_machine\00" @.str21312 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str21313 = private unnamed_addr constant [7 x i8] c"rt_reg\00" @.str21314 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21315 = private unnamed_addr constant [2 x i8] c")\00" @.str21316 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32704: index out of range: \00" @.str21317 = private unnamed_addr constant [6 x i8] c"smend\00" @.str21318 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32709: index out of range: \00" @.str21319 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str21320 = private unnamed_addr constant [3 x i8] c", \00" @.str21321 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str21322 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str21323 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21324 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21325 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21326 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21327 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21328 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str21329 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21330 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21331 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str21332 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21333 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21334 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32731: index out of range: \00" @.str21335 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32734: index out of range: \00" @.str21336 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32734: index out of range: \00" @.str21337 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21338 = private unnamed_addr constant [12 x i8] c"emit_become\00" @.str21339 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21340 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21341 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21342 = private unnamed_addr constant [11 x i8] c"rt_set_reg\00" @.str21343 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21344 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str21345 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21346 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str21347 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str21348 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21349 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str21350 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21351 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str21352 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str21353 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21354 = private unnamed_addr constant [5 x i8] c"file\00" @.str21355 = private unnamed_addr constant [4 x i8] c"%io\00" @.str21356 = private unnamed_addr constant [8 x i8] c"emit_io\00" @.str21357 = private unnamed_addr constant [3 x i8] c" \00" @.str21358 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str21359 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str21360 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str21361 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str21362 = private unnamed_addr constant [5 x i8] c"size\00" @.str21363 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str21364 = private unnamed_addr constant [3 x i8] c" \00" @.str21365 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str21366 = private unnamed_addr constant [3 x i8] c", \00" @.str21367 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21368 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str21369 = private unnamed_addr constant [3 x i8] c" \00" @.str21370 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str21371 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21372 = private unnamed_addr constant [5 x i8] c"save\00" @.str21373 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str21374 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21375 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str21376 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21377 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str21378 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21379 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str21380 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21381 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str21382 = private unnamed_addr constant [3 x i8] c" \00" @.str21383 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str21384 = private unnamed_addr constant [3 x i8] c", \00" @.str21385 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21386 = private unnamed_addr constant [2 x i8] c"0\00" @.str21387 = private unnamed_addr constant [6 x i8] c"fread\00" @.str21388 = private unnamed_addr constant [5 x i8] c"load\00" @.str21389 = private unnamed_addr constant [70 x i8] c" %sncap0 = load i32, ptr @L_cap\0A store i32 %sncap0, ptr @L_snapcap\0A\00" @.str21390 = private unnamed_addr constant [11 x i8] c"@L_snapcap\00" @.str21391 = private unnamed_addr constant [2 x i8] c"4\00" @.str21392 = private unnamed_addr constant [37 x i8] c" %sncap = load i32, ptr @L_snapcap\0A\00" @.str21393 = private unnamed_addr constant [33 x i8] c" call void @L_grow(i32 %sncap)\0A\00" @.str21394 = private unnamed_addr constant [37 x i8] c" %sncap64 = sext i32 %sncap to i64\0A\00" @.str21395 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str21396 = private unnamed_addr constant [2 x i8] c"4\00" @.str21397 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str21398 = private unnamed_addr constant [2 x i8] c"4\00" @.str21399 = private unnamed_addr constant [33 x i8] c" %nalive = mul i64 %sncap64, 4\0A\00" @.str21400 = private unnamed_addr constant [8 x i8] c"L_alive\00" @.str21401 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str21402 = private unnamed_addr constant [11 x i8] c"L_freelist\00" @.str21403 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str21404 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str21405 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str21406 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str21407 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str21408 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32823: index out of range: \00" @.str21409 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str21410 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32823: index out of range: \00" @.str21411 = private unnamed_addr constant [21 x i8] c"emit_snapshot_blocks\00" @.str21412 = private unnamed_addr constant [2 x i8] c"4\00" @.str21413 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32827: index out of range: \00" @.str21414 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32828: index out of range: \00" @.str21415 = private unnamed_addr constant [7 x i8] c"%csz1_\00" @.str21416 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str21417 = private unnamed_addr constant [3 x i8] c" \00" @.str21418 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str21419 = private unnamed_addr constant [27 x i8] c", ptr null, i32 1) to i64\0A\00" @.str21420 = private unnamed_addr constant [3 x i8] c" \00" @.str21421 = private unnamed_addr constant [22 x i8] c" = mul i64 %sncap64, \00" @.str21422 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21423 = private unnamed_addr constant [3 x i8] c"S_\00" @.str21424 = private unnamed_addr constant [3 x i8] c"H_\00" @.str21425 = private unnamed_addr constant [9 x i8] c"%sncap64\00" @.str21426 = private unnamed_addr constant [5 x i8] c"%snb\00" @.str21427 = private unnamed_addr constant [10 x i8] c"snap_base\00" @.str21428 = private unnamed_addr constant [3 x i8] c" \00" @.str21429 = private unnamed_addr constant [19 x i8] c" = load ptr, ptr @\00" @.str21430 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21431 = private unnamed_addr constant [5 x i8] c"file\00" @.str21432 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str21433 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str21434 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str21435 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str21436 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str21437 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str21438 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str21439 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str21440 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str21441 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str21442 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21443 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str21444 = private unnamed_addr constant [14 x i8] c"emit_snapshot\00" @.str21445 = private unnamed_addr constant [10 x i8] c"(ptr %f)\0A\00" @.str21446 = 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" @.str21447 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str21448 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str21449 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str21450 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str21451 = private unnamed_addr constant [6 x i8] c"fread\00" @.str21452 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21453 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str21454 = private unnamed_addr constant [10 x i8] c"(ptr %f)\0A\00" @.str21455 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str21456 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str21457 = private unnamed_addr constant [5 x i8] c"save\00" @.str21458 = private unnamed_addr constant [1 x i8] c"\00" @.str21459 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str21460 = private unnamed_addr constant [3 x i8] c" \00" @.str21461 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str21462 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str21463 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str21464 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str21465 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str21466 = private unnamed_addr constant [5 x i8] c"load\00" @.str21467 = private unnamed_addr constant [1 x i8] c"\00" @.str21468 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str21469 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str21470 = private unnamed_addr constant [5 x i8] c"size\00" @.str21471 = private unnamed_addr constant [1 x i8] c"\00" @.str21472 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str21473 = private unnamed_addr constant [3 x i8] c" \00" @.str21474 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str21475 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str21476 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str21477 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str21478 = private unnamed_addr constant [5 x i8] c"file\00" @.str21479 = private unnamed_addr constant [3 x i8] c"i8\00" @.str21480 = private unnamed_addr constant [3 x i8] c"i8\00" @.str21481 = private unnamed_addr constant [2 x i8] c"1\00" @.str21482 = private unnamed_addr constant [2 x i8] c"4\00" @.str21483 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32930: index out of range: \00" @.str21484 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32931: index out of range: \00" @.str21485 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32934: index out of range: \00" @.str21486 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32934: index out of range: \00" @.str21487 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32946: index out of range: \00" @.str21488 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32946: index out of range: \00" @.str21489 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32953: index out of range: \00" @.str21490 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32953: index out of range: \00" @.str21491 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32961: index out of range: \00" @.str21492 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32961: index out of range: \00" @.str21493 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str21494 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21495 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32983: index out of range: \00" @.str21496 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32984: index out of range: \00" @.str21497 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32987: index out of range: \00" @.str21498 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32988: index out of range: \00" @.str21499 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32994: index out of range: \00" @.str21500 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32996: index out of range: \00" @.str21501 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str21502 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str21503 = private unnamed_addr constant [10 x i8] c"net_check\00" @.str21504 = private unnamed_addr constant [2 x i8] c".\00" @.str21505 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:32996: index out of range: \00" @.str21506 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str21507 = private unnamed_addr constant [7 x i8] c"model \00" @.str21508 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str21509 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str21510 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str21511 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str21512 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33020: index out of range: \00" @.str21513 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33021: index out of range: \00" @.str21514 = private unnamed_addr constant [3 x i8] c"S_\00" @.str21515 = private unnamed_addr constant [19 x i8] c"emit_net_serialize\00" @.str21516 = private unnamed_addr constant [3 x i8] c" \00" @.str21517 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str21518 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21519 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str21520 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33028: index out of range: \00" @.str21521 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33029: index out of range: \00" @.str21522 = private unnamed_addr constant [3 x i8] c" \00" @.str21523 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str21524 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21525 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str21526 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21527 = private unnamed_addr constant [3 x i8] c" \00" @.str21528 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str21529 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21530 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str21531 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21532 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str21533 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21534 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33033: index out of range: \00" @.str21535 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str21536 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str21537 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str21538 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str21539 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33054: index out of range: \00" @.str21540 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33055: index out of range: \00" @.str21541 = private unnamed_addr constant [3 x i8] c"S_\00" @.str21542 = private unnamed_addr constant [15 x i8] c"emit_net_apply\00" @.str21543 = private unnamed_addr constant [3 x i8] c" \00" @.str21544 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str21545 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21546 = private unnamed_addr constant [10 x i8] c", i32 %e\0A\00" @.str21547 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33062: index out of range: \00" @.str21548 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33063: index out of range: \00" @.str21549 = private unnamed_addr constant [3 x i8] c" \00" @.str21550 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str21551 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21552 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str21553 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21554 = private unnamed_addr constant [3 x i8] c" \00" @.str21555 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str21556 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21557 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str21558 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21559 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str21560 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21561 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33067: index out of range: \00" @.str21562 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str21563 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str21564 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str21565 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str21566 = private unnamed_addr constant [35 x i8] c", i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str21567 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33091: index out of range: \00" @.str21568 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33091: index out of range: \00" @.str21569 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33092: index out of range: \00" @.str21570 = private unnamed_addr constant [5 x i8] c" %c\00" @.str21571 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str21572 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21573 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str21574 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str21575 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str21576 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21577 = private unnamed_addr constant [2 x i8] c"h\00" @.str21578 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str21579 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str21580 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str21581 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21582 = private unnamed_addr constant [2 x i8] c"n\00" @.str21583 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21584 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str21585 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str21586 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str21587 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str21588 = private unnamed_addr constant [35 x i8] c", i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str21589 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33108: index out of range: \00" @.str21590 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33108: index out of range: \00" @.str21591 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33109: index out of range: \00" @.str21592 = private unnamed_addr constant [5 x i8] c" %c\00" @.str21593 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str21594 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21595 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str21596 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str21597 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str21598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21599 = private unnamed_addr constant [2 x i8] c"h\00" @.str21600 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str21601 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str21602 = private unnamed_addr constant [2 x i8] c"n\00" @.str21603 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21604 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str21605 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str21606 = private unnamed_addr constant [7 x i8] c"L_kind\00" @.str21607 = private unnamed_addr constant [41 x i8] c" %kp = getelementptr inbounds i32, ptr \00" @.str21608 = private unnamed_addr constant [35 x i8] c", i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str21609 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33127: index out of range: \00" @.str21610 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33127: index out of range: \00" @.str21611 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33128: index out of range: \00" @.str21612 = private unnamed_addr constant [5 x i8] c" %c\00" @.str21613 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str21614 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21615 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str21616 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str21617 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str21618 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21619 = private unnamed_addr constant [2 x i8] c"h\00" @.str21620 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str21621 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33131: index out of range: \00" @.str21622 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21623 = private unnamed_addr constant [2 x i8] c"n\00" @.str21624 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21625 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str21626 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str21627 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str21628 = private unnamed_addr constant [40 x i8] c" %p = getelementptr inbounds i32, ptr \00" @.str21629 = private unnamed_addr constant [50 x i8] c", i32 %e\0A %v = load i32, ptr %p\0A ret i32 %v\0A}\0A\0A\00" @.str21630 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str21631 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str21632 = private unnamed_addr constant [40 x i8] c" %p = getelementptr inbounds i32, ptr \00" @.str21633 = private unnamed_addr constant [48 x i8] c", i32 %e\0A store i32 %id, ptr %p\0A ret void\0A}\0A\0A\00" @.str21634 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str21635 = private unnamed_addr constant [12 x i8] c"L_owner_arr\00" @.str21636 = private unnamed_addr constant [40 x i8] c" %p = getelementptr inbounds i32, ptr \00" @.str21637 = private unnamed_addr constant [34 x i8] c", i32 %e\0A %o = load i32, ptr %p\0A\00" @.str21638 = 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" @.str21639 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str21640 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str21641 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str21642 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str21643 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str21644 = 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" @.str21645 = 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" @.str21646 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str21647 = 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" @.str21648 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str21649 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str21650 = 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" @.str21651 = 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" @.str21652 = 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" @.str21653 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str21654 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str21655 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str21656 = 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" @.str21657 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str21658 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str21659 = 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" @.str21660 = 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" @.str21661 = 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" @.str21662 = 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" @.str21663 = 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" @.str21664 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str21665 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33207: index out of range: \00" @.str21666 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33213: index out of range: \00" @.str21667 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str21668 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str21669 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str21670 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str21671 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str21672 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str21673 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str21674 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str21675 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str21676 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str21677 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str21678 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33232: index out of range: \00" @.str21679 = private unnamed_addr constant [5 x i8] c" %c\00" @.str21680 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str21681 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21682 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str21683 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str21684 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str21685 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21686 = private unnamed_addr constant [2 x i8] c"h\00" @.str21687 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21688 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33243: index out of range: \00" @.str21689 = private unnamed_addr constant [2 x i8] c"_\00" @.str21690 = private unnamed_addr constant [14 x i8] c"emit_net_pump\00" @.str21691 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str21692 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str21693 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21694 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str21695 = private unnamed_addr constant [9 x i8] c" = load \00" @.str21696 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str21697 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21698 = private unnamed_addr constant [3 x i8] c", \00" @.str21699 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str21700 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33249: index out of range: \00" @.str21701 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str21702 = private unnamed_addr constant [2 x i8] c"(\00" @.str21703 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21704 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str21705 = private unnamed_addr constant [2 x i8] c"x\00" @.str21706 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21707 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str21708 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str21709 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33268: index out of range: \00" @.str21710 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33268: index out of range: \00" @.str21711 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33269: index out of range: \00" @.str21712 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33270: index out of range: \00" @.str21713 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str21714 = private unnamed_addr constant [6 x i8] c"panel\00" @.str21715 = private unnamed_addr constant [4 x i8] c"col\00" @.str21716 = private unnamed_addr constant [4 x i8] c"row\00" @.str21717 = private unnamed_addr constant [6 x i8] c"label\00" @.str21718 = private unnamed_addr constant [7 x i8] c"button\00" @.str21719 = private unnamed_addr constant [6 x i8] c"image\00" @.str21720 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str21721 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33301: index out of range: \00" @.str21722 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33301: index out of range: \00" @.str21723 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33307: index out of range: \00" @.str21724 = private unnamed_addr constant [24 x i8] c"ui_props_with_inherited\00" @.str21725 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33310: index out of range: \00" @.str21726 = private unnamed_addr constant [5 x i8] c"font\00" @.str21727 = private unnamed_addr constant [5 x i8] c"size\00" @.str21728 = private unnamed_addr constant [3 x i8] c"fg\00" @.str21729 = private unnamed_addr constant [6 x i8] c"align\00" @.str21730 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33315: index out of range: \00" @.str21731 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33316: index out of range: \00" @.str21732 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33318: index out of range: \00" @.str21733 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33318: index out of range: \00" @.str21734 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33319: index out of range: \00" @.str21735 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33320: index out of range: \00" @.str21736 = private unnamed_addr constant [11 x i8] c"ui_flatten\00" @.str21737 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33331: index out of range: \00" @.str21738 = private unnamed_addr constant [15 x i8] c"ui_flatten_all\00" @.str21739 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33337: index out of range: \00" @.str21740 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33337: index out of range: \00" @.str21741 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33337: index out of range: \00" @.str21742 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33343: index out of range: \00" @.str21743 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33343: index out of range: \00" @.str21744 = private unnamed_addr constant [12 x i8] c"ui_index_of\00" @.str21745 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33354: index out of range: \00" @.str21746 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33354: index out of range: \00" @.str21747 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33354: index out of range: \00" @.str21748 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33354: index out of range: \00" @.str21749 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33359: index out of range: \00" @.str21750 = private unnamed_addr constant [3 x i8] c"id\00" @.str21751 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21752 = private unnamed_addr constant [10 x i8] c"rt_ui_set\00" @.str21753 = private unnamed_addr constant [10 x i8] c"ll_ui_set\00" @.str21754 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21755 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str21756 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str21757 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21758 = private unnamed_addr constant [2 x i8] c"w\00" @.str21759 = private unnamed_addr constant [2 x i8] c"h\00" @.str21760 = private unnamed_addr constant [2 x i8] c"x\00" @.str21761 = private unnamed_addr constant [2 x i8] c"y\00" @.str21762 = private unnamed_addr constant [4 x i8] c"pad\00" @.str21763 = private unnamed_addr constant [4 x i8] c"gap\00" @.str21764 = private unnamed_addr constant [3 x i8] c"bg\00" @.str21765 = private unnamed_addr constant [3 x i8] c"fg\00" @.str21766 = private unnamed_addr constant [7 x i8] c"border\00" @.str21767 = private unnamed_addr constant [5 x i8] c"grow\00" @.str21768 = private unnamed_addr constant [5 x i8] c"font\00" @.str21769 = private unnamed_addr constant [5 x i8] c"size\00" @.str21770 = private unnamed_addr constant [6 x i8] c"inset\00" @.str21771 = private unnamed_addr constant [6 x i8] c"focus\00" @.str21772 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21773 = private unnamed_addr constant [12 x i8] c"rt_ui_reset\00" @.str21774 = private unnamed_addr constant [14 x i8] c"emit_ui_build\00" @.str21775 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21776 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21777 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33390: index out of range: \00" @.str21778 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33393: index out of range: \00" @.str21779 = private unnamed_addr constant [2 x i8] c"1\00" @.str21780 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33398: index out of range: \00" @.str21781 = private unnamed_addr constant [3 x i8] c"id\00" @.str21782 = private unnamed_addr constant [5 x i8] c"goto\00" @.str21783 = private unnamed_addr constant [5 x i8] c"text\00" @.str21784 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21785 = private unnamed_addr constant [18 x i8] c"rt_ui_static_text\00" @.str21786 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str21787 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21788 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21789 = private unnamed_addr constant [5 x i8] c"skin\00" @.str21790 = private unnamed_addr constant [6 x i8] c"image\00" @.str21791 = private unnamed_addr constant [10 x i8] c"call i32 \00" @.str21792 = private unnamed_addr constant [14 x i8] c"rt_image_load\00" @.str21793 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str21794 = private unnamed_addr constant [2 x i8] c")\00" @.str21795 = private unnamed_addr constant [5 x i8] c"skin\00" @.str21796 = private unnamed_addr constant [6 x i8] c"align\00" @.str21797 = private unnamed_addr constant [7 x i8] c"center\00" @.str21798 = private unnamed_addr constant [4 x i8] c"end\00" @.str21799 = private unnamed_addr constant [2 x i8] c"1\00" @.str21800 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str21801 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str21802 = private unnamed_addr constant [3 x i8] c", \00" @.str21803 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33442: index out of range: \00" @.str21804 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str21805 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33442: index out of range: \00" @.str21806 = private unnamed_addr constant [5 x i8] c"void\00" @.str21807 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str21808 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21809 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33462: index out of range: \00" @.str21810 = private unnamed_addr constant [9 x i8] c" store \00" @.str21811 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str21812 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21813 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21814 = private unnamed_addr constant [59 x i8] c" %decl.in = atomicrmw add ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str21815 = private unnamed_addr constant [40 x i8] c" %decl.keep = load i32, ptr @lp_fdecl\0A\00" @.str21816 = private unnamed_addr constant [5 x i8] c"void\00" @.str21817 = private unnamed_addr constant [11 x i8] c"function '\00" @.str21818 = private unnamed_addr constant [8 x i8] c"emit_fn\00" @.str21819 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" @.str21820 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str21821 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str21822 = private unnamed_addr constant [39 x i8] c" store i32 %decl.keep, ptr @lp_fdecl\0A\00" @.str21823 = private unnamed_addr constant [60 x i8] c" %decl.out = atomicrmw sub ptr @lp_fdecl, i32 1 monotonic\0A\00" @.str21824 = private unnamed_addr constant [5 x i8] c"void\00" @.str21825 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str21826 = private unnamed_addr constant [6 x i8] c"load \00" @.str21827 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str21828 = private unnamed_addr constant [7 x i8] c" ret \00" @.str21829 = private unnamed_addr constant [2 x i8] c" \00" @.str21830 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21831 = private unnamed_addr constant [8 x i8] c"define \00" @.str21832 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str21833 = private unnamed_addr constant [2 x i8] c"(\00" @.str21834 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str21835 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str21836 = private unnamed_addr constant [1 x i8] c"\00" @.str21837 = private unnamed_addr constant [6 x i8] c"entry\00" @.str21838 = private unnamed_addr constant [4 x i8] c"int\00" @.str21839 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str21840 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str21841 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str21842 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str21843 = private unnamed_addr constant [31 x i8] c" call void @L_init_runtime()\0A\00" @.str21844 = private unnamed_addr constant [28 x i8] c" call void @L_grow(i32 1)\0A\00" @.str21845 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str21846 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21847 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str21848 = private unnamed_addr constant [10 x i8] c"emit_main\00" @.str21849 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21850 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str21851 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str21852 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str21853 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str21854 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str21855 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21856 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str21857 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str21858 = private unnamed_addr constant [6 x i8] c"test \00" @.str21859 = private unnamed_addr constant [13 x i8] c"emit_test_fn\00" @.str21860 = private unnamed_addr constant [5 x i8] c"void\00" @.str21861 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str21862 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str21863 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str21864 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str21865 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str21866 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str21867 = 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" @.str21868 = 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" @.str21869 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33553: index out of range: \00" @.str21870 = 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" @.str21871 = 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" @.str21872 = 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" @.str21873 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str21874 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str21875 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str21876 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str21877 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" @.str21878 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" @.str21879 = private unnamed_addr constant [6 x i8] c"tfilt\00" @.str21880 = private unnamed_addr constant [7 x i8] c"tbegin\00" @.str21881 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" @.str21882 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21883 = private unnamed_addr constant [17 x i8] c"emit_test_runner\00" @.str21884 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21885 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21886 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21887 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21888 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" @.str21889 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str21890 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str21891 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" @.str21892 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str21893 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21894 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21895 = private unnamed_addr constant [6 x i8] c"tlist\00" @.str21896 = private unnamed_addr constant [6 x i8] c"trun0\00" @.str21897 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str21898 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str21899 = private unnamed_addr constant [7 x i8] c", null\00" @.str21900 = private unnamed_addr constant [6 x i8] c"tlcmp\00" @.str21901 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21902 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21903 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21905 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21906 = private unnamed_addr constant [7 x i8] c"--list\00" @.str21907 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str21908 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21909 = private unnamed_addr constant [2 x i8] c")\00" @.str21910 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str21911 = private unnamed_addr constant [4 x i8] c", 0\00" @.str21912 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21913 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21914 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21915 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21916 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21917 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33589: index out of range: \00" @.str21918 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str21919 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21920 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str21921 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21922 = private unnamed_addr constant [31 x i8] c" call void @L_init_runtime()\0A\00" @.str21923 = private unnamed_addr constant [28 x i8] c" call void @L_grow(i32 1)\0A\00" @.str21924 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str21925 = private unnamed_addr constant [13 x i8] c" call void \00" @.str21926 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str21927 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21928 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str21929 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str21930 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33601: index out of range: \00" @.str21931 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str21932 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33602: index out of range: \00" @.str21933 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33603: index out of range: \00" @.str21934 = private unnamed_addr constant [5 x i8] c"tcmp\00" @.str21935 = private unnamed_addr constant [5 x i8] c"trun\00" @.str21936 = private unnamed_addr constant [6 x i8] c"tskip\00" @.str21937 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str21938 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str21939 = private unnamed_addr constant [7 x i8] c", null\00" @.str21940 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21941 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21942 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21943 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21944 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21945 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str21946 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str21947 = private unnamed_addr constant [2 x i8] c")\00" @.str21948 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str21949 = private unnamed_addr constant [4 x i8] c", 0\00" @.str21950 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21951 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21952 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21953 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21954 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21955 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str21956 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str21957 = private unnamed_addr constant [4 x i8] c", 1\00" @.str21958 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21959 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" @.str21960 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str21961 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str21962 = private unnamed_addr constant [31 x i8] c" call void @L_reset_states()\0A\00" @.str21963 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str21964 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str21965 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str21966 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str21967 = private unnamed_addr constant [4 x i8] c", 0\00" @.str21968 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str21969 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str21970 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str21971 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str21972 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21973 = private unnamed_addr constant [10 x i8] c", label %\00" @.str21974 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21975 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21976 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str21977 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21978 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str21979 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21980 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21981 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str21982 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str21983 = private unnamed_addr constant [4 x i8] c", 1\00" @.str21984 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str21985 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str21986 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str21987 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str21988 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str21989 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21990 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21991 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str21992 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str21993 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str21994 = private unnamed_addr constant [6 x i8] c"tnone\00" @.str21995 = private unnamed_addr constant [5 x i8] c"tsum\00" @.str21996 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str21997 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str21998 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str21999 = private unnamed_addr constant [7 x i8] c", null\00" @.str22000 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str22001 = private unnamed_addr constant [4 x i8] c", 0\00" @.str22002 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str22003 = private unnamed_addr constant [3 x i8] c", \00" @.str22004 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str22005 = private unnamed_addr constant [10 x i8] c", label %\00" @.str22006 = private unnamed_addr constant [10 x i8] c", label %\00" @.str22007 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str22008 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str22009 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" @.str22010 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str22011 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" @.str22012 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str22013 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str22014 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str22015 = private unnamed_addr constant [3 x i8] c", \00" @.str22016 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str22017 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str22018 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str22019 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str22020 = private unnamed_addr constant [4 x i8] c", 0\00" @.str22021 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str22022 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str22023 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str22024 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str22025 = private unnamed_addr constant [20 x i8] c"check_duplicate_fns\00" @.str22026 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33669: index out of range: \00" @.str22027 = private unnamed_addr constant [11 x i8] c"function '\00" @.str22028 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str22029 = private unnamed_addr constant [2 x i8] c":\00" @.str22030 = private unnamed_addr constant [2 x i8] c")\00" @.str22031 = private unnamed_addr constant [1 x i8] c"\00" @.str22032 = private unnamed_addr constant [1 x i8] c"\00" @.str22033 = private unnamed_addr constant [1 x i8] c"\00" @.str22034 = private unnamed_addr constant [1 x i8] c"\00" @.str22035 = private unnamed_addr constant [1 x i8] c"\00" @.str22036 = private unnamed_addr constant [1 x i8] c"\00" @.str22037 = private unnamed_addr constant [3 x i8] c": \00" @.str22038 = private unnamed_addr constant [10 x i8] c"dup_whose\00" @.str22039 = 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" @.str22040 = private unnamed_addr constant [22 x i8] c"check_duplicate_decls\00" @.str22041 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33706: index out of range: \00" @.str22042 = private unnamed_addr constant [2 x i8] c":\00" @.str22043 = private unnamed_addr constant [2 x i8] c"'\00" @.str22044 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str22045 = private unnamed_addr constant [2 x i8] c":\00" @.str22046 = private unnamed_addr constant [2 x i8] c")\00" @.str22047 = private unnamed_addr constant [13 x i8] c"emit_program\00" @.str22048 = private unnamed_addr constant [10 x i8] c"new []Val\00" @.str22049 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33754: index out of range: \00" @.str22050 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33756: index out of range: \00" @.str22051 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33774: index out of range: \00" @.str22052 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33774: index out of range: \00" @.str22053 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33779: index out of range: \00" @.str22054 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33779: index out of range: \00" @.str22055 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str22056 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str22057 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str22058 = 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" @.str22059 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str22060 = 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" @.str22061 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str22062 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str22063 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str22064 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str22065 = private unnamed_addr constant [3 x i8] c", \00" @.str22066 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str22067 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:33837: index out of range: \00" @.str22068 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str22069 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str22070 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str22071 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str22072 = private unnamed_addr constant [17 x i8] c"emit_cov_runtime\00" @.str22073 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str22074 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str22075 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str22076 = private unnamed_addr constant [2 x i8] c"w\00" @.str22077 = 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" @.str22078 = 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" @.str22079 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str22080 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str22081 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str22082 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str22083 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str22084 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str22085 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str22086 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str22087 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str22088 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str22089 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str22090 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str22091 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str22092 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str22093 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str22094 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str22095 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str22096 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str22097 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str22098 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str22099 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str22100 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str22101 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str22102 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str22103 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str22104 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str22105 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str22106 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str22107 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str22108 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str22109 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str22110 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str22111 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str22112 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str22113 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str22114 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str22115 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str22116 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str22117 = 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" @.str22118 = private unnamed_addr constant [9 x i8] c"ir_flush\00" @.str22119 = private unnamed_addr constant [3 x i8] c"wb\00" @.str22120 = private unnamed_addr constant [3 x i8] c"rb\00" @.str22121 = private unnamed_addr constant [12 x i8] c"split_there\00" @.str22122 = private unnamed_addr constant [12 x i8] c"LUDIC_SPLIT\00" @.str22123 = private unnamed_addr constant [2 x i8] c"1\00" @.str22124 = private unnamed_addr constant [2 x i8] c"0\00" @.str22125 = private unnamed_addr constant [11 x i8] c"LUDIC_LLVM\00" @.str22126 = private unnamed_addr constant [27 x i8] c"/opt/homebrew/opt/llvm/bin\00" @.str22127 = private unnamed_addr constant [12 x i8] c"/llvm-split\00" @.str22128 = private unnamed_addr constant [10 x i8] c"split_dir\00" @.str22129 = private unnamed_addr constant [7 x i8] c"/clang\00" @.str22130 = private unnamed_addr constant [11 x i8] c"LUDIC_JOBS\00" @.str22131 = private unnamed_addr constant [7 x i8] c".cores\00" @.str22132 = private unnamed_addr constant [11 x i8] c"split_jobs\00" @.str22133 = 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" @.str22134 = private unnamed_addr constant [39 x i8] c"echo $(sysctl -n hw.ncpu) $(vm_stat | \00" @.str22135 = private unnamed_addr constant [33 x i8] c" p=$(sysctl -n hw.pagesize)) > \22\00" @.str22136 = private unnamed_addr constant [14 x i8] c"\22 2>/dev/null\00" @.str22137 = private unnamed_addr constant [3 x i8] c"rb\00" @.str22138 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22139 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22140 = private unnamed_addr constant [6 x i8] c".part\00" @.str22141 = private unnamed_addr constant [14 x i8] c"split_compile\00" @.str22142 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22143 = private unnamed_addr constant [17 x i8] c"/llvm-split\22 -j \00" @.str22144 = private unnamed_addr constant [6 x i8] c" -o \22\00" @.str22145 = private unnamed_addr constant [4 x i8] c"\22 \22\00" @.str22146 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22147 = private unnamed_addr constant [1 x i8] c"\00" @.str22148 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22149 = private unnamed_addr constant [17 x i8] c"/clang\22 -x ir -O\00" @.str22150 = private unnamed_addr constant [74 x i8] c" -mmacosx-version-min=11.0 -Wno-override-module -Wno-missing-sysroot -c \22\00" @.str22151 = private unnamed_addr constant [7 x i8] c"\22 -o \22\00" @.str22152 = private unnamed_addr constant [7 x i8] c".o\22 & \00" @.str22153 = private unnamed_addr constant [13 x i8] c"/bin/sh -c '\00" @.str22154 = private unnamed_addr constant [6 x i8] c"wait'\00" @.str22155 = private unnamed_addr constant [1 x i8] c"\00" @.str22156 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22157 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22158 = private unnamed_addr constant [3 x i8] c".o\00" @.str22159 = private unnamed_addr constant [3 x i8] c" \22\00" @.str22160 = private unnamed_addr constant [4 x i8] c".o\22\00" @.str22161 = private unnamed_addr constant [8 x i8] c"rm -f \22\00" @.str22162 = private unnamed_addr constant [12 x i8] c"split_clean\00" @.str22163 = private unnamed_addr constant [10 x i8] c"\22.part*.o\00" @.str22164 = private unnamed_addr constant [10 x i8] c"base_name\00" @.str22165 = private unnamed_addr constant [12 x i8] c"strip_ludic\00" @.str22166 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str22167 = private unnamed_addr constant [2 x i8] c"/\00" @.str22168 = private unnamed_addr constant [13 x i8] c"ensure_slash\00" @.str22169 = private unnamed_addr constant [1 x i8] c"\00" @.str22170 = private unnamed_addr constant [6 x i8] c"error\00" @.str22171 = private unnamed_addr constant [6 x i8] c"chomp\00" @.str22172 = private unnamed_addr constant [8 x i8] c"has_sub\00" @.str22173 = private unnamed_addr constant [9 x i8] c"win_path\00" @.str22174 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str22175 = private unnamed_addr constant [9 x i8] c"make_dir\00" @.str22176 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str22177 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22178 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str22179 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str22180 = private unnamed_addr constant [12 x i8] c"remove_file\00" @.str22181 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str22182 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str22183 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str22184 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str22185 = private unnamed_addr constant [3 x i8] c"rb\00" @.str22186 = private unnamed_addr constant [8 x i8] c"find_cc\00" @.str22187 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22188 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22189 = private unnamed_addr constant [6 x i8] c"clang\00" @.str22190 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str22191 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str22192 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str22193 = private unnamed_addr constant [13 x i8] c"show_version\00" @.str22194 = private unnamed_addr constant [15 x i8] c"L_init_globals\00" @.str22195 = private unnamed_addr constant [1 x i8] c"\00" @.str22196 = private unnamed_addr constant [1 x i8] c"\00" @.str22197 = private unnamed_addr constant [2 x i8] c",\00" @.str22198 = private unnamed_addr constant [1 x i8] c"\00" @.str22199 = private unnamed_addr constant [2 x i8] c",\00" @.str22200 = private unnamed_addr constant [12 x i8] c"assets/maps\00" @.str22201 = private unnamed_addr constant [1 x i8] c"\00" @.str22202 = private unnamed_addr constant [1 x i8] c"\00" @.str22203 = private unnamed_addr constant [13 x i8] c"new [][]Node\00" @.str22204 = private unnamed_addr constant [13 x i8] c"new [][]bool\00" @.str22205 = private unnamed_addr constant [3 x i8] c"en\00" @.str22206 = private unnamed_addr constant [1 x i8] c"\00" @.str22207 = private unnamed_addr constant [1 x i8] c"\00" @.str22208 = private unnamed_addr constant [1 x i8] c"\00" @.str22209 = private unnamed_addr constant [1 x i8] c"\00" @.str22210 = private unnamed_addr constant [2 x i8] c"?\00" @.str22211 = private unnamed_addr constant [4 x i8] c"ret\00" @.str22212 = private unnamed_addr constant [2 x i8] c"?\00" @.str22213 = private unnamed_addr constant [1 x i8] c"\00" @.str22214 = private unnamed_addr constant [5 x i8] c"void\00" @.str22215 = private unnamed_addr constant [6 x i8] c"entry\00" @.str22216 = private unnamed_addr constant [10 x i8] c"--version\00" @.str22217 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str22218 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str22219 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str22220 = private unnamed_addr constant [9 x i8] c"--unsafe\00" @.str22221 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str22222 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str22223 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str22224 = private unnamed_addr constant [6 x i8] c"--run\00" @.str22225 = private unnamed_addr constant [8 x i8] c"--check\00" @.str22226 = private unnamed_addr constant [10 x i8] c"--no-maps\00" @.str22227 = private unnamed_addr constant [10 x i8] c"--release\00" @.str22228 = private unnamed_addr constant [19 x i8] c"--diagnostics=json\00" @.str22229 = private unnamed_addr constant [19 x i8] c"--diagnostics=text\00" @.str22230 = private unnamed_addr constant [14 x i8] c"--emit-syntax\00" @.str22231 = private unnamed_addr constant [13 x i8] c"--stdin-file\00" @.str22232 = private unnamed_addr constant [14 x i8] c"--emit-schema\00" @.str22233 = private unnamed_addr constant [10 x i8] c"--globals\00" @.str22234 = private unnamed_addr constant [16 x i8] c"--migrate-state\00" @.str22235 = private unnamed_addr constant [16 x i8] c"--migrate-prune\00" @.str22236 = private unnamed_addr constant [18 x i8] c"--migrate-tighten\00" @.str22237 = private unnamed_addr constant [18 x i8] c"--migrate-runtime\00" @.str22238 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str22239 = private unnamed_addr constant [9 x i8] c"--target\00" @.str22240 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str22241 = private unnamed_addr constant [8 x i8] c"--title\00" @.str22242 = private unnamed_addr constant [14 x i8] c"--natives-out\00" @.str22243 = private unnamed_addr constant [7 x i8] c"--link\00" @.str22244 = private unnamed_addr constant [3 x i8] c"-o\00" @.str22245 = private unnamed_addr constant [16 x i8] c"--escape-report\00" @.str22246 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str22247 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str22248 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str22249 = private unnamed_addr constant [8 x i8] c"windows\00" @.str22250 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str22251 = private unnamed_addr constant [11 x i8] c"LUDIC_DEPS\00" @.str22252 = private unnamed_addr constant [1 x i8] c"\00" @.str22253 = private unnamed_addr constant [1 x i8] c"\00" @.str22254 = private unnamed_addr constant [10 x i8] c"/dev/null\00" @.str22255 = private unnamed_addr constant [3 x i8] c"wb\00" @.str22256 = private unnamed_addr constant [22 x i8] c"ludicc: cannot write \00" @.str22257 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str22258 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str22259 = private unnamed_addr constant [2 x i8] c".\00" @.str22260 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str22261 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str22262 = private unnamed_addr constant [5 x i8] c".exe\00" @.str22263 = private unnamed_addr constant [5 x i8] c".exe\00" @.str22264 = private unnamed_addr constant [4 x i8] c".ll\00" @.str22265 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str22266 = private unnamed_addr constant [10 x i8] c"LUDIC_OPT\00" @.str22267 = private unnamed_addr constant [2 x i8] c"2\00" @.str22268 = private unnamed_addr constant [4 x i8] c" -O\00" @.str22269 = private unnamed_addr constant [23 x i8] c" -Wno-override-module \00" @.str22270 = private unnamed_addr constant [4 x i8] c" -O\00" @.str22271 = private unnamed_addr constant [22 x i8] c" -Wno-override-module\00" @.str22272 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str22273 = private unnamed_addr constant [2 x i8] c" \00" @.str22274 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str22275 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str22276 = private unnamed_addr constant [2 x i8] c" \00" @.str22277 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str22278 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str22279 = private unnamed_addr constant [2 x i8] c" \00" @.str22280 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str22281 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str22282 = private unnamed_addr constant [2 x i8] c" \00" @.str22283 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str22284 = private unnamed_addr constant [2 x i8] c" \00" @.str22285 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str22286 = private unnamed_addr constant [2 x i8] c" \00" @.str22287 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str22288 = private unnamed_addr constant [2 x i8] c" \00" @.str22289 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" @.str22290 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" @.str22291 = private unnamed_addr constant [2 x i8] c" \00" @.str22292 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" @.str22293 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" @.str22294 = private unnamed_addr constant [2 x i8] c" \00" @.str22295 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" @.str22296 = private unnamed_addr constant [2 x i8] c" \00" @.str22297 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" @.str22298 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str22299 = private unnamed_addr constant [2 x i8] c" \00" @.str22300 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str22301 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str22302 = private unnamed_addr constant [2 x i8] c" \00" @.str22303 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str22304 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str22305 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str22306 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str22307 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str22308 = private unnamed_addr constant [2 x i8] c" \00" @.str22309 = private unnamed_addr constant [2 x i8] c" \00" @.str22310 = private unnamed_addr constant [2 x i8] c" \00" @.str22311 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str22312 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str22313 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str22314 = private unnamed_addr constant [2 x i8] c" \00" @.str22315 = private unnamed_addr constant [2 x i8] c" \00" @.str22316 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str22317 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str22318 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str22319 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str22320 = private unnamed_addr constant [2 x i8] c" \00" @.str22321 = private unnamed_addr constant [2 x i8] c" \00" @.str22322 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,QuartzCore\00" @.str22323 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str22324 = private unnamed_addr constant [3 x i8] c" \22\00" @.str22325 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:34409: index out of range: \00" @.str22326 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22327 = private unnamed_addr constant [5 x i8] c" -o \00" @.str22328 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22329 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22330 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str22331 = private unnamed_addr constant [1 x i8] c"\00" @.str22332 = private unnamed_addr constant [55 x i8] c"build/cfree/selfhost.ludic:34424: index out of range: \00" @.str22333 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str22334 = private unnamed_addr constant [3 x i8] c"wb\00" @.str22335 = private unnamed_addr constant [2 x i8] c"\22\00" @.str22336 = 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 } declare i32 @remove(ptr) declare i32 @access(ptr, i32) declare i32 @mkdir(ptr, i32) declare i32 @rename(ptr, ptr) declare ptr @opendir(ptr) declare ptr @readdir(ptr) declare i32 @closedir(ptr) define ptr @lp_fs_dup(ptr %s, i32 %n) { entry: %nz = zext i32 %n to i64 %t = add i64 %nz, 1 %m = call ptr @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 } @.str22337 = private unnamed_addr constant [4 x i8] c"png\00" @.str22338 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str22339 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str22340 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str22341 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str22342 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str22343 = private unnamed_addr constant [4 x i8] c"gif\00" @.str22344 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str22345 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str22346 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str22347 = private unnamed_addr constant [5 x i8] c"webp\00" @.str22348 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str22349 = private unnamed_addr constant [4 x i8] c"svg\00" @.str22350 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str22351 = private unnamed_addr constant [4 x i8] c"txt\00" @.str22352 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str22353 = private unnamed_addr constant [3 x i8] c"md\00" @.str22354 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str22355 = private unnamed_addr constant [4 x i8] c"csv\00" @.str22356 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str22357 = private unnamed_addr constant [5 x i8] c"html\00" @.str22358 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str22359 = private unnamed_addr constant [4 x i8] c"htm\00" @.str22360 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str22361 = private unnamed_addr constant [4 x i8] c"css\00" @.str22362 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str22363 = private unnamed_addr constant [3 x i8] c"js\00" @.str22364 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str22365 = private unnamed_addr constant [5 x i8] c"json\00" @.str22366 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str22367 = private unnamed_addr constant [4 x i8] c"xml\00" @.str22368 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str22369 = private unnamed_addr constant [4 x i8] c"zip\00" @.str22370 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str22371 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str22372 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str22373 = private unnamed_addr constant [4 x i8] c"wav\00" @.str22374 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str22375 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str22376 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str22377 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str22378 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str22379 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str22380 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str22381 = private unnamed_addr constant [4 x i8] c"otf\00" @.str22382 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str22383 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str22384 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str22385 = 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 @.str22337, ptr @.str22338 }, { ptr, ptr } { ptr @.str22339, ptr @.str22340 }, { ptr, ptr } { ptr @.str22341, ptr @.str22342 }, { ptr, ptr } { ptr @.str22343, ptr @.str22344 }, { ptr, ptr } { ptr @.str22345, ptr @.str22346 }, { ptr, ptr } { ptr @.str22347, ptr @.str22348 }, { ptr, ptr } { ptr @.str22349, ptr @.str22350 }, { ptr, ptr } { ptr @.str22351, ptr @.str22352 }, { ptr, ptr } { ptr @.str22353, ptr @.str22354 }, { ptr, ptr } { ptr @.str22355, ptr @.str22356 }, { ptr, ptr } { ptr @.str22357, ptr @.str22358 }, { ptr, ptr } { ptr @.str22359, ptr @.str22360 }, { ptr, ptr } { ptr @.str22361, ptr @.str22362 }, { ptr, ptr } { ptr @.str22363, ptr @.str22364 }, { ptr, ptr } { ptr @.str22365, ptr @.str22366 }, { ptr, ptr } { ptr @.str22367, ptr @.str22368 }, { ptr, ptr } { ptr @.str22369, ptr @.str22370 }, { ptr, ptr } { ptr @.str22371, ptr @.str22372 }, { ptr, ptr } { ptr @.str22373, ptr @.str22374 }, { ptr, ptr } { ptr @.str22375, ptr @.str22376 }, { ptr, ptr } { ptr @.str22377, ptr @.str22378 }, { ptr, ptr } { ptr @.str22379, ptr @.str22380 }, { ptr, ptr } { ptr @.str22381, ptr @.str22382 }, { ptr, ptr } { ptr @.str22383, ptr @.str22384 }] 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 @.str22385) 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" declare i32 @open(ptr, i32, ...) declare i32 @close(i32) declare i64 @lseek(i32, i64, i32) declare ptr @mmap(ptr, i64, i32, i32, i32, i64) declare ptr @fmemopen(ptr, i64, ptr) declare i32 @munmap(ptr, i64) declare i32 @chdir(ptr) declare i32 @_NSGetExecutablePath(ptr, ptr) @.pak_rb = private unnamed_addr constant [3 x i8] c"rb\00" @.pak_idx = private unnamed_addr constant [12 x i8] c"packs.index\00" @.pak_res = private unnamed_addr constant [13 x i8] c"../Resources\00" @.pak_appsup= private unnamed_addr constant [28 x i8] c"Library/Application Support\00" @.pak_home = private unnamed_addr constant [5 x i8] c"HOME\00" @L_pak_base = internal global [8 x ptr] zeroinitializer @L_pak_n = internal global i32 0 @L_pak_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 @munmap(ptr %base, i64 %len) 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_home) %nh = icmp eq ptr %h, null br i1 %nh, label %out, label %go go: %a = call ptr @lp_path_join(ptr %h, ptr @.pak_appsup) %b = call ptr @lp_path_join(ptr %a, ptr %name) %mk = call i32 @mkdir(ptr %b, i32 493) %cd = call i32 @chdir(ptr %b) br label %out out: ret void } @.pak_appdata = private unnamed_addr constant [8 x i8] c"APPDATA\00" define void @lp_pak_boot() { entry: %buf = alloca [1024 x i8] %szp = alloca i32 store i32 1024, ptr %szp %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) %bad = icmp ne i32 %rc, 0 br i1 %bad, label %out, label %go go: %dir = call ptr @lp_path_dir(ptr %buf) %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res) %n1 = call i32 @lp_pak_boot_dir(ptr %res) %any = icmp sgt i32 %n1, 0 br i1 %any, label %splash, label %try2 try2: %n2 = call i32 @lp_pak_boot_dir(ptr %dir) br label %splash splash: br label %out out: ret void } @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }] 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 } declare i32 @atexit(ptr) declare extern_weak void @malloc_zone_statistics(ptr, ptr) @lp_ardef = global i8 0 @lp_site = global i32 0 @lp_want = global i8 0 @lp_ar_on = global i8 0 @lp_ar_tried = global i8 0 @lp_ar_lo = global i64 0 @lp_ar_hi = global i64 0 @lp_ar_cur = global i64 0 @lp_ar_end = global i64 0 @lp_ar_which = global i64 0 @lp_ar_half = global i64 0 @lp_ar_main = global ptr null @lp_ar_hw0 = global i64 0 @lp_ar_hw1 = global i64 0 @lp_ar_check = global i8 0 @lp_fdecl = global i32 0 @lp_dlive = global i64 0 @lp_mdlive = global i64 0 @lp_sdlive = global i64 0 @lp_dwin = global i64 600 @lp_drise = global i64 6 @lp_dunb = global i64 0 @lp_ft = global i8 0 @lp_fm = global i8 0 @lp_fj = global i8 0 @lp_fl = global i32 0 @lp_tab = global ptr null @lp_tabmask = global i64 0 @lp_tabn = global i64 0 @lp_tabmax = global i64 0 @lp_live = global i64 0 @lp_pre = global i64 0 @lp_made = global i64 0 @lp_freed = global i64 0 @lp_over = global i64 0 @lp_overrep = global i8 0 @lp_frame = global i64 0 @lp_flat = global i64 0 @lp_playf = global i64 0 @lp_warm_max = global i64 -1 @lp_fauto = global i8 1 @lp_autoplay = global i64 -1 @lp_mlive = global i64 0 @lp_mpre = global i64 0 @lp_mmade = global i64 0 @lp_mfreed = global i64 0 @lp_slive = global i64 0 @lp_spre = global i64 0 @lp_touch = global [512 x i32] zeroinitializer @lp_ntouch = global i32 0 @lp_fkept = global i64 0 @lp_fbad = global i64 0 @lp_fjudged = global i64 0 @lp_scan_at = global i64 -2 @lp_visit_set = global ptr null @lp_vmask = global i64 0 @lp_wl = global ptr null @lp_wln = global i64 0 @lp_wlcap = global i64 0 @lp_scan_bytes = global i64 0 @lp_capn = global i64 0 @lp_zset = global i64 0 @lp_jset = global i64 0 @lp_vset = global i64 0 @lp_census = global ptr null declare extern_weak i64 @malloc_size(ptr) declare i32 @dprintf(i32, ptr, ...) declare i32 @_Unwind_Backtrace(ptr, ptr) declare i64 @_Unwind_GetIP(ptr) declare i32 @dladdr(ptr, ptr) declare ptr @dlsym(ptr, ptr) declare ptr @pthread_self() @.lpf_env = private unnamed_addr constant [16 x i8] c"R3D_ALLOC_FENCE\00" @.lpf_warm = private unnamed_addr constant [15 x i8] c"R3D_ALLOC_WARM\00" @.lpf_play = private unnamed_addr constant [15 x i8] c"R3D_ALLOC_PLAY\00" @.lpf_tab = private unnamed_addr constant [16 x i8] c"R3D_ALLOC_TABLE\00" @.lpf_dev = private unnamed_addr constant [8 x i8] c"R3D_DEV\00" @.lpf_off = private unnamed_addr constant [4 x i8] c"off\00" @.lpf_count = private unnamed_addr constant [6 x i8] c"count\00" @.lpf_warn = private unnamed_addr constant [5 x i8] c"warn\00" @.lpf_fail = private unnamed_addr constant [5 x i8] c"fail\00" @.lpf_hdr = private unnamed_addr constant [62 x i8] c"alloc-fence: frame %lld kept %+lld B (%lld made, %lld freed)\0A\00" @.lpf_row = private unnamed_addr constant [26 x i8] c" %+lld B %s %s:%d %s\0A\00" @.lpf_more = private unnamed_addr constant [21 x i8] c" ... and %lld more\0A\00" @.lpf_full = private unnamed_addr constant [71 x i8] c"alloc-fence: %s is full - it stops keeping and makes a copy each time\0A\00" @.lpf_arena = private unnamed_addr constant [10 x i8] c"R3D_ARENA\00" @.lpf_arenamb = private unnamed_addr constant [13 x i8] c"R3D_ARENA_MB\00" @.lpf_archeck = private unnamed_addr constant [16 x i8] c"R3D_ARENA_CHECK\00" @.lpf_car = private unnamed_addr constant [61 x i8] c"arena %lld %lld (each frame arena's high-water mark, bytes)\0A\00" @.lpf_capover = private unnamed_addr constant [54 x i8] c"alloc-fence: %s grew past its @max(%d) (it holds %d)\0A\00" @.lpf_capfail = private unnamed_addr constant [78 x i8] c"alloc-fence: failing the run (R3D_ALLOC_FENCE=fail): a capacity is a promise\0A\00" @.lpf_ccap = private unnamed_addr constant [56 x i8] c"overflows %lld (a list past its @max, or a table full)\0A\00" @.lpf_scan = private unnamed_addr constant [15 x i8] c"R3D_ALLOC_SCAN\00" @.lpf_scantop = private unnamed_addr constant [19 x i8] c"R3D_ALLOC_SCAN_TOP\00" @.lpf_scanfile = private unnamed_addr constant [20 x i8] c"R3D_ALLOC_SCAN_FILE\00" @.lpf_sfrow = private unnamed_addr constant [18 x i8] c"%lld %s %s:%d %s\0A\00" @.lpf_a = private unnamed_addr constant [2 x i8] c"a\00" @.lpf_exitscan = private unnamed_addr constant [15 x i8] c"R3D_ALLOC_EXIT\00" @.lpf_shdr = private unnamed_addr constant [116 x i8] c"alloc-scan: frame %lld - %lld bytes in %lld blocks made since tracking began are reachable from no global or state\0A\00" @.lpf_srow = private unnamed_addr constant [25 x i8] c" %lld B %s %s:%d %s\0A\00" @.lpf_cown = private unnamed_addr constant [49 x i8] c"owner %s holds %lld (%+lld since judging began)\0A\00" @.lpf_failing = private unnamed_addr constant [53 x i8] c"alloc-fence: failing the run (R3D_ALLOC_FENCE=fail)\0A\00" @.lpf_census = private unnamed_addr constant [17 x i8] c"R3D_ALLOC_CENSUS\00" @.lpf_warmmax = private unnamed_addr constant [19 x i8] c"R3D_ALLOC_WARM_MAX\00" @.lpf_auto = private unnamed_addr constant [15 x i8] c"R3D_ALLOC_AUTO\00" @.lpf_w = private unnamed_addr constant [2 x i8] c"w\00" @.lpf_chdr = private unnamed_addr constant [76 x i8] c"alloc-census frames %lld bad %lld kept %lld made %lld freed %lld over %lld\0A\00" @.lpf_cnat = private unnamed_addr constant [116 x i8] c"native %lld (the heap outside Ludic's blocks and the counted libraries, since judging began: drivers, Metal, libc)\0A\00" @.lpf_cdecl = private unnamed_addr constant [58 x i8] c"declared %lld (kept under @alloc_ok since judging began)\0A\00" @.lpf_cjolt = private unnamed_addr constant [68 x i8] c"jolt %lld peak %lld (since judging began, and its high-water mark)\0A\00" @.lpf_cvk = private unnamed_addr constant [83 x i8] c"vulkan %lld peak %lld (host memory through VkAllocationCallbacks, R3D_ALLOC_VK=1)\0A\00" @.lpf_jb = private unnamed_addr constant [15 x i8] c"jph_heap_bytes\00" @.lpf_jp = private unnamed_addr constant [14 x i8] c"jph_heap_peak\00" @.lpf_vb = private unnamed_addr constant [13 x i8] c"lvk_ac_bytes\00" @.lpf_vp = private unnamed_addr constant [12 x i8] c"lvk_ac_peak\00" @.lpf_crow = private unnamed_addr constant [23 x i8] c"site %lld %s %s:%d %s\0A\00" @.lpf_from = private unnamed_addr constant [15 x i8] c" from %s\0A\00" @.lpf_cfrom = private unnamed_addr constant [11 x i8] c" from %s\0A\00" @.lpf_lp = private unnamed_addr constant [4 x i8] c"lp_\00" @.lpf_dwin = private unnamed_addr constant [15 x i8] c"R3D_ALLOC_DWIN\00" @.lpf_rewarm = private unnamed_addr constant [17 x i8] c"R3D_ALLOC_REWARM\00" @.lpf_drise = private unnamed_addr constant [16 x i8] c"R3D_ALLOC_DRISE\00" @.lpf_dunb = private unnamed_addr constant [159 x i8] c"alloc-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)\0A\00" @.lpf_cdunb = private unnamed_addr constant [107 x i8] c"unbounded %lld (declared sites whose bytes kept rising: R3D_ALLOC_DRISE windows of R3D_ALLOC_DWIN frames)\0A\00" @.lpf_cdrow = private unnamed_addr constant [24 x i8] c"dsite %lld %s %s:%d %s\0A\00" ; the four entry points. Off: one load of the fence and the scratch request, one branch, then libc. ; @lp_want is raised by the emitter around an allocation of a LOCAL site (25.3): it goes to the ; frame's scratch arena, and lp_free hands an arena block back to nobody define internal ptr @lp_heap(i64 %n) { entry: %t = load i8, ptr @lp_ft %on = icmp ne i8 %t, 0 br i1 %on, label %slow, label %fast fast: %p = tail call ptr @malloc(i64 %n) ret ptr %p slow: %q = call ptr @malloc(i64 %n) call void @lp_fadd(ptr %q, i64 %n) ret ptr %q } define ptr @lp_malloc(i64 %n) { entry: %t = load i8, ptr @lp_ft %w = load i8, ptr @lp_want %o = or i8 %t, %w %on = icmp ne i8 %o, 0 br i1 %on, label %slow, label %fast fast: %p = tail call ptr @malloc(i64 %n) ret ptr %p slow: %wq = icmp ne i8 %w, 0 br i1 %wq, label %scratch, label %heap scratch: store i8 0, ptr @lp_want %s = call ptr @lp_scratch(i64 %n) ret ptr %s heap: %q = call ptr @malloc(i64 %n) call void @lp_fadd(ptr %q, i64 %n) ret ptr %q } define ptr @lp_calloc(i64 %n, i64 %s) { entry: %t = load i8, ptr @lp_ft %w = load i8, ptr @lp_want %o = or i8 %t, %w %on = icmp ne i8 %o, 0 br i1 %on, label %slow, label %fast fast: %p = tail call ptr @calloc(i64 %n, i64 %s) ret ptr %p slow: %b = mul i64 %n, %s %wq = icmp ne i8 %w, 0 br i1 %wq, label %scratch, label %heap scratch: store i8 0, ptr @lp_want %z = call ptr @lp_scratch(i64 %b) call ptr @memset(ptr %z, i32 0, i64 %b) ret ptr %z heap: %q = call ptr @calloc(i64 %n, i64 %s) call void @lp_fadd(ptr %q, i64 %b) ret ptr %q } define ptr @lp_realloc(ptr %o, i64 %n) { entry: %t = load i8, ptr @lp_ft %w = load i8, ptr @lp_want %x = ptrtoint ptr %o to i64 %lo = load i64, ptr @lp_ar_lo %hi = load i64, ptr @lp_ar_hi %ge = icmp uge i64 %x, %lo %lt = icmp ult i64 %x, %hi %inar = and i1 %ge, %lt %o1 = or i8 %t, %w %some = icmp ne i8 %o1, 0 %on = or i1 %some, %inar br i1 %on, label %slow, label %fast fast: %p = tail call ptr @realloc(ptr %o, i64 %n) ret ptr %p slow: %in = call i1 @lp_in_arena(ptr %o) %wq = icmp ne i8 %w, 0 %move = or i1 %in, %wq br i1 %move, label %scratch, label %heap scratch: store i8 0, ptr @lp_want %q = call ptr @lp_scratch(i64 %n) %none = icmp eq ptr %o, null br i1 %none, label %done, label %copy copy: br i1 %in, label %oldar, label %oldheap oldar: %hp = getelementptr i8, ptr %o, i64 -16 %osz = load i64, ptr %hp br label %cp oldheap: %has = icmp ne ptr @malloc_size, null br i1 %has, label %msz, label %cp msz: %hsz = call i64 @malloc_size(ptr %o) br label %cp cp: %old = phi i64 [ %osz, %oldar ], [ 0, %oldheap ], [ %hsz, %msz ] %less = icmp ult i64 %old, %n %c = select i1 %less, i64 %old, i64 %n call ptr @memcpy(ptr %q, ptr %o, i64 %c) br i1 %in, label %done, label %givebk givebk: call void @lp_free(ptr %o) br label %done done: ret ptr %q heap: %tq = icmp ne i8 %t, 0 br i1 %tq, label %tracked, label %plain plain: %r = tail call ptr @realloc(ptr %o, i64 %n) ret ptr %r tracked: call void @lp_fdel(ptr %o) %r2 = call ptr @realloc(ptr %o, i64 %n) call void @lp_fadd(ptr %r2, i64 %n) ret ptr %r2 } 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: %x = ptrtoint ptr %o to i64 %lo = load i64, ptr @lp_ar_lo %hi = load i64, ptr @lp_ar_hi %ge = icmp uge i64 %x, %lo %lt = icmp ult i64 %x, %hi %in = and i1 %ge, %lt br i1 %in, label %keep, label %heap keep: ret void heap: %t = load i8, ptr @lp_ft %tq = icmp ne i8 %t, 0 br i1 %tq, label %tracked, label %plain plain: tail call void @free(ptr %o) ret void tracked: call void @lp_fdel(ptr %o) call void @free(ptr %o) ret void } define internal i1 @lp_in_arena(ptr %o) { entry: %x = ptrtoint ptr %o to i64 %lo = load i64, ptr @lp_ar_lo %hi = load i64, ptr @lp_ar_hi %a = icmp uge i64 %x, %lo %b = icmp ult i64 %x, %hi %in = and i1 %a, %b ret i1 %in } ; a block from the frame's arena: a 16-byte header (its size) and 16-aligned; the heap when no ; frame is running, off the main thread, or past the arena's end define internal ptr @lp_scratch(i64 %n) { entry: %on = load i8, ptr @lp_ar_on %onq = icmp ne i8 %on, 0 br i1 %onq, label %thread, label %start start: ; the arena starts at its first use, so boot's temporaries are scratch too: dead once the Start ; handlers return, and their half is started again two frame marks on call void @lp_ar_frame() %on2 = load i8, ptr @lp_ar_on %on2q = icmp ne i8 %on2, 0 br i1 %on2q, label %thread, label %heap thread: %me = call ptr @pthread_self() %main = load ptr, ptr @lp_ar_main %mainq = icmp eq ptr %me, %main br i1 %mainq, label %bump, label %heap bump: %cur = load i64, ptr @lp_ar_cur %n16 = add i64 %n, 31 %need = and i64 %n16, -16 %np = add i64 %cur, %need %end = load i64, ptr @lp_ar_end %fits = icmp ule i64 %np, %end br i1 %fits, label %take, label %heap take: store i64 %np, ptr @lp_ar_cur %hp = inttoptr i64 %cur to ptr store i64 %n, ptr %hp %bp = getelementptr i8, ptr %hp, i64 16 ret ptr %bp heap: %h = call ptr @lp_heap(i64 %n) ret ptr %h } ; the frame's mark for the arenas: the first reserves them (two halves, R3D_ARENA_MB each, 256 by ; default; R3D_ARENA=0 keeps everything on the heap), then each flips to the other half - which ; held the frame before last - and starts it again (R3D_ARENA_CHECK=1 fills it with 0xDD first) define internal void @lp_ar_frame() { entry: %def = load i8, ptr @lp_ardef %defq = icmp ne i8 %def, 0 br i1 %defq, label %chk, label %out chk: %on = load i8, ptr @lp_ar_on %onq = icmp ne i8 %on, 0 br i1 %onq, label %flip, label %maybe maybe: %tried = load i8, ptr @lp_ar_tried %tq = icmp ne i8 %tried, 0 br i1 %tq, label %out, label %reserve reserve: store i8 1, ptr @lp_ar_tried %want = call i64 @lp_fenv(ptr @.lpf_arena, i64 1) %wz = icmp eq i64 %want, 0 br i1 %wz, label %out, label %size size: %mb = call i64 @lp_fenv(ptr @.lpf_arenamb, i64 256) %half = shl i64 %mb, 20 store i64 %half, ptr @lp_ar_half %both = shl i64 %half, 1 %m = call ptr @mmap(ptr null, i64 %both, i32 3, i32 4098, i32 -1, i64 0) %mi = ptrtoint ptr %m to i64 %bad = icmp eq i64 %mi, -1 br i1 %bad, label %out, label %armed armed: store i64 %mi, ptr @lp_ar_lo %hi = add i64 %mi, %both store i64 %hi, ptr @lp_ar_hi store i64 %mi, ptr @lp_ar_cur %e0 = add i64 %mi, %half store i64 %e0, ptr @lp_ar_end store i64 0, ptr @lp_ar_which %me = call ptr @pthread_self() store ptr %me, ptr @lp_ar_main %ck = call i64 @lp_fenv(ptr @.lpf_archeck, i64 0) %ck8 = trunc i64 %ck to i8 store i8 %ck8, ptr @lp_ar_check store i8 1, ptr @lp_ar_on br label %out flip: %w = load i64, ptr @lp_ar_which %lo = load i64, ptr @lp_ar_lo %hf = load i64, ptr @lp_ar_half %off = mul i64 %w, %hf %start = add i64 %lo, %off %cur = load i64, ptr @lp_ar_cur %used = sub i64 %cur, %start %w0 = icmp eq i64 %w, 0 %hwq = select i1 %w0, ptr @lp_ar_hw0, ptr @lp_ar_hw1 %hwv = load i64, ptr %hwq %more = icmp ugt i64 %used, %hwv %hwn = select i1 %more, i64 %used, i64 %hwv store i64 %hwn, ptr %hwq %nw = xor i64 %w, 1 store i64 %nw, ptr @lp_ar_which %noff = mul i64 %nw, %hf %nstart = add i64 %lo, %noff store i64 %nstart, ptr @lp_ar_cur %nend = add i64 %nstart, %hf store i64 %nend, ptr @lp_ar_end %cq = load i8, ptr @lp_ar_check %cqq = icmp ne i8 %cq, 0 br i1 %cqq, label %poison, label %out poison: %n0 = icmp eq i64 %nw, 0 %nhq = select i1 %n0, ptr @lp_ar_hw0, ptr @lp_ar_hw1 %nhv = load i64, ptr %nhq %np = inttoptr i64 %nstart to ptr call ptr @memset(ptr %np, i32 221, i64 %nhv) br label %out out: ret void } define internal void @lp_flock() { entry: br label %spin spin: %o = atomicrmw xchg ptr @lp_fl, i32 1 acquire %b = icmp eq i32 %o, 0 br i1 %b, label %done, label %spin done: ret void } define internal void @lp_funlock() { entry: store atomic i32 0, ptr @lp_fl release, align 4 ret void } define internal i64 @lp_fhash(i64 %k) { entry: %a = lshr i64 %k, 4 %b = mul i64 %a, -7046029254386353131 %c = lshr i64 %b, 29 %d = xor i64 %b, %c ret i64 %d } define internal void @lp_ftouch(i64 %s) { entry: %sp = getelementptr inbounds i64, ptr @lp_site_stamp, i64 %s %st = load i64, ptr %sp %f = load i64, ptr @lp_frame %f1 = add i64 %f, 1 %seen = icmp eq i64 %st, %f1 br i1 %seen, label %out, label %mark mark: store i64 %f1, ptr %sp %n = load i32, ptr @lp_ntouch %room = icmp ult i32 %n, 512 %n1 = add i32 %n, 1 store i32 %n1, ptr @lp_ntouch br i1 %room, label %put, label %out put: %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %n %s32 = trunc i64 %s to i32 store i32 %s32, ptr %tp br label %out out: ret void } define internal void @lp_fsite_dadd(i64 %s, i64 %n) { entry: %sp = getelementptr inbounds i64, ptr @lp_site_dlive, i64 %s %v = load i64, ptr %sp %v1 = add i64 %v, %n store i64 %v1, ptr %sp %dl = load i64, ptr @lp_dlive %dl1 = add i64 %dl, %n store i64 %dl1, ptr @lp_dlive ret void } define internal void @lp_fsite_add(i64 %s, i64 %n) { entry: %sp = getelementptr inbounds i64, ptr @lp_site_live, i64 %s %v = load i64, ptr %sp %v1 = add i64 %v, %n store i64 %v1, ptr %sp %lv = load i64, ptr @lp_live %lv1 = add i64 %lv, %n store i64 %lv1, ptr @lp_live call void @lp_ftouch(i64 %s) ret void } ; the last six return addresses above an allocation of site s, from the unwinder (the emitted ; functions keep no frame-pointer chain), taken only once judging has begun: what is made then is ; what a report names, and it is rare define internal i32 @lp_funw(ptr %ctx, ptr %st) { entry: %n = load i64, ptr %st %full = icmp uge i64 %n, 6 br i1 %full, label %stop, label %take take: %ip = call i64 @_Unwind_GetIP(ptr %ctx) %bp = getelementptr inbounds i64, ptr %st, i64 1 %base = load i64, ptr %bp %slot = add i64 %base, %n %dst = getelementptr inbounds i64, ptr @lp_site_ra, i64 %slot store i64 %ip, ptr %dst %n1 = add i64 %n, 1 store i64 %n1, ptr %st ret i32 0 stop: ret i32 5 } define internal void @lp_fcallers(i64 %s) noinline { entry: %j = load i8, ptr @lp_fj %judging = icmp ne i8 %j, 0 br i1 %judging, label %walk, label %out walk: %st = alloca [2 x i64], align 8 store i64 0, ptr %st %bp = getelementptr inbounds i64, ptr %st, i64 1 %base = mul i64 %s, 6 store i64 %base, ptr %bp %z = getelementptr inbounds i64, ptr @lp_site_ra, i64 %base call ptr @memset(ptr %z, i32 0, i64 48) call i32 @_Unwind_Backtrace(ptr @lp_funw, ptr %st) br label %out out: ret void } ; the Ludic functions a site was last reached from: its callers' names, those of the fence and of ; the site's own function left out define internal void @lp_fsite_from(ptr %fp, i32 %s, ptr %own) { entry: %info = alloca [4 x ptr], align 8 %s64 = sext i32 %s to i64 %base = mul i64 %s64, 6 br label %loop loop: %i = phi i64 [ 0, %entry ], [ %i1, %next ] %shown = phi i32 [ 0, %entry ], [ %shown1, %next ] %more = icmp ult i64 %i, 6 %room = icmp ult i32 %shown, 3 %go = and i1 %more, %room br i1 %go, label %body, label %out body: %slot = add i64 %base, %i %rp = getelementptr inbounds ptr, ptr @lp_site_ra, i64 %slot %ra0 = load ptr, ptr %rp %ra = getelementptr i8, ptr %ra0, i64 -1 %nul = icmp eq ptr %ra0, null br i1 %nul, label %skip, label %look look: %ok = call i32 @dladdr(ptr %ra, ptr %info) %okq = icmp ne i32 %ok, 0 br i1 %okq, label %named, label %skip named: %snp = getelementptr inbounds [4 x ptr], ptr %info, i32 0, i32 2 %sn = load ptr, ptr %snp %snnul = icmp eq ptr %sn, null br i1 %snnul, label %skip, label %filter filter: %c1 = call i32 @strncmp(ptr %sn, ptr @.lpf_lp, i64 3) %islp = icmp eq i32 %c1, 0 %own3 = getelementptr inbounds i8, ptr %sn, i64 3 %c2 = call i32 @strcmp(ptr %own3, ptr %own) %isown = icmp eq i32 %c2, 0 %drop = or i1 %islp, %isown br i1 %drop, label %skip, label %print print: %tofile = icmp ne ptr %fp, null br i1 %tofile, label %pf, label %pe pf: call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cfrom, ptr %sn) br label %counted pe: call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_from, ptr %sn) br label %counted counted: br label %next skip: br label %next next: %add = phi i32 [ 1, %counted ], [ 0, %skip ] %shown1 = add i32 %shown, %add %i1 = add i64 %i, 1 br label %loop out: ret void } define internal void @lp_fadd(ptr %p, i64 %asked) { entry: %isnull = icmp eq ptr %p, null br i1 %isnull, label %out, label %size size: %hasms = icmp ne ptr @malloc_size, null br i1 %hasms, label %real, label %go real: %ms = call i64 @malloc_size(ptr %p) br label %go go: %n = phi i64 [ %asked, %size ], [ %ms, %real ] call void @lp_flock() %cnt = load i64, ptr @lp_tabn %max = load i64, ptr @lp_tabmax %full = icmp sge i64 %cnt, %max br i1 %full, label %over, label %ins over: %ov = load i64, ptr @lp_over %ov1 = add i64 %ov, 1 store i64 %ov1, ptr @lp_over br label %unlock ins: %s0 = load i32, ptr @lp_site %sn = load i32, ptr @lp_site_n %sok = icmp ult i32 %s0, %sn %s = select i1 %sok, i32 %s0, i32 0 %s64 = zext i32 %s to i64 %k = ptrtoint ptr %p to i64 %h = call i64 @lp_fhash(i64 %k) %mask = load i64, ptr @lp_tabmask %tab = load ptr, ptr @lp_tab br label %probe probe: %i = phi i64 [ %h, %ins ], [ %i1, %next ] %im = and i64 %i, %mask %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %im %ek = load i64, ptr %e %empty = icmp eq i64 %ek, 0 br i1 %empty, label %put, label %chk chk: %same = icmp eq i64 %ek, %k br i1 %same, label %dup, label %next next: %i1 = add i64 %im, 1 br label %probe dup: %dv = getelementptr inbounds i64, ptr %e, i64 1 %dold = load i64, ptr %dv %dn = and i64 %dold, 549755813887 %ds = lshr i64 %dold, 40 %dneg = sub i64 0, %dn %dwd = and i64 %dold, 549755813888 %dwas = icmp ne i64 %dwd, 0 br i1 %dwas, label %ddecl, label %dund ddecl: call void @lp_fsite_dadd(i64 %ds, i64 %dneg) br label %dcount dund: call void @lp_fsite_add(i64 %ds, i64 %dneg) br label %dcount dcount: %dtn = load i64, ptr @lp_tabn %dtn1 = sub i64 %dtn, 1 store i64 %dtn1, ptr @lp_tabn %dfr = load i64, ptr @lp_freed %dfr1 = add i64 %dfr, 1 store i64 %dfr1, ptr @lp_freed br label %put put: store i64 %k, ptr %e %ev = getelementptr inbounds i64, ptr %e, i64 1 %sh = shl i64 %s64, 40 %v0 = or i64 %sh, %n %dc = load i32, ptr @lp_fdecl %isdecl = icmp sgt i32 %dc, 0 %dbit = select i1 %isdecl, i64 549755813888, i64 0 %v = or i64 %v0, %dbit store i64 %v, ptr %ev %dl = load i64, ptr @lp_dlive %dadd = select i1 %isdecl, i64 %n, i64 0 %dl1 = add i64 %dl, %dadd store i64 %dl1, ptr @lp_dlive %tn = load i64, ptr @lp_tabn %tn1 = add i64 %tn, 1 store i64 %tn1, ptr @lp_tabn %md = load i64, ptr @lp_made %md1 = add i64 %md, 1 store i64 %md1, ptr @lp_made br i1 %isdecl, label %pdecl, label %pund pdecl: call void @lp_fsite_dadd(i64 %s64, i64 %n) br label %unlock pund: call void @lp_fsite_add(i64 %s64, i64 %n) call void @lp_fcallers(i64 %s64) br label %unlock unlock: call void @lp_funlock() br label %out out: ret void } define internal void @lp_fdel(ptr %p) { entry: %isnull = icmp eq ptr %p, null br i1 %isnull, label %out, label %go go: call void @lp_flock() %k = ptrtoint ptr %p to i64 %h = call i64 @lp_fhash(i64 %k) %mask = load i64, ptr @lp_tabmask %tab = load ptr, ptr @lp_tab br label %probe probe: %i = phi i64 [ %h, %go ], [ %i1, %next ] %im = and i64 %i, %mask %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %im %ek = load i64, ptr %e %empty = icmp eq i64 %ek, 0 br i1 %empty, label %miss, label %cmp cmp: %hit = icmp eq i64 %ek, %k br i1 %hit, label %found, label %next next: %i1 = add i64 %im, 1 br label %probe miss: %has = icmp ne ptr @malloc_size, null br i1 %has, label %msz, label %unlock msz: %ms = call i64 @malloc_size(ptr %p) %pr = load i64, ptr @lp_pre %pr1 = add i64 %pr, %ms store i64 %pr1, ptr @lp_pre br label %unlock found: %ev = getelementptr inbounds i64, ptr %e, i64 1 %v = load i64, ptr %ev %n = and i64 %v, 549755813887 %s = lshr i64 %v, 40 %neg = sub i64 0, %n %wd = and i64 %v, 549755813888 %wasdecl = icmp ne i64 %wd, 0 br i1 %wasdecl, label %fdecl, label %fund fdecl: call void @lp_fsite_dadd(i64 %s, i64 %neg) br label %fcount fund: call void @lp_fsite_add(i64 %s, i64 %neg) br label %fcount fcount: %fr = load i64, ptr @lp_freed %fr1 = add i64 %fr, 1 store i64 %fr1, ptr @lp_freed %tn = load i64, ptr @lp_tabn %tn1 = sub i64 %tn, 1 store i64 %tn1, ptr @lp_tabn br label %sh sh: %hole = phi i64 [ %im, %fcount ], [ %hole, %sh_skip ], [ %j, %sh_move ] %jp = phi i64 [ %im, %fcount ], [ %j, %sh_skip ], [ %j, %sh_move ] %j0 = add i64 %jp, 1 %j = and i64 %j0, %mask %ej = getelementptr inbounds [2 x i64], ptr %tab, i64 %j %kj = load i64, ptr %ej %endq = icmp eq i64 %kj, 0 br i1 %endq, label %sh_end, label %sh_test sh_test: %hj = call i64 @lp_fhash(i64 %kj) %home = and i64 %hj, %mask %jgt = icmp ugt i64 %j, %hole %a1 = icmp ugt i64 %home, %hole %a2 = icmp ule i64 %home, %j %in1 = and i1 %a1, %a2 %in2 = or i1 %a1, %a2 %in = select i1 %jgt, i1 %in1, i1 %in2 br i1 %in, label %sh_skip, label %sh_move sh_skip: br label %sh sh_move: %eh = getelementptr inbounds [2 x i64], ptr %tab, i64 %hole store i64 %kj, ptr %eh %ejv = getelementptr inbounds i64, ptr %ej, i64 1 %vj = load i64, ptr %ejv %ehv = getelementptr inbounds i64, ptr %eh, i64 1 store i64 %vj, ptr %ehv br label %sh sh_end: %ehe = getelementptr inbounds [2 x i64], ptr %tab, i64 %hole store i64 0, ptr %ehe br label %unlock unlock: call void @lp_funlock() br label %out out: ret void } define internal i64 @lp_fenv(ptr %name, i64 %dflt) { entry: %e = call ptr @getenv(ptr %name) %has = icmp ne ptr %e, null br i1 %has, label %read, label %none read: %v = call i32 @atoi(ptr %e) %v64 = sext i32 %v to i64 ret i64 %v64 none: ret i64 %dflt } define internal void @lp_finit() { entry: %m0 = load i8, ptr @lp_fm %done = icmp ne i8 %m0, 0 br i1 %done, label %out, label %go go: %e = call ptr @getenv(ptr @.lpf_env) %has = icmp ne ptr %e, null br i1 %has, label %parse, label %dflt parse: %c1 = call i32 @strcmp(ptr %e, ptr @.lpf_off) %is1 = icmp eq i32 %c1, 0 %c2 = call i32 @strcmp(ptr %e, ptr @.lpf_count) %is2 = icmp eq i32 %c2, 0 %c3 = call i32 @strcmp(ptr %e, ptr @.lpf_warn) %is3 = icmp eq i32 %c3, 0 %ma = select i1 %is3, i8 3, i8 4 %mb = select i1 %is2, i8 2, i8 %ma %mc = select i1 %is1, i8 1, i8 %mb br label %set dflt: %d = load i8, ptr @lp_fdef %dz = icmp eq i8 %d, 0 br i1 %dz, label %dev, label %set dev: %dv = call ptr @getenv(ptr @.lpf_dev) %hd = icmp ne ptr %dv, null %md = select i1 %hd, i8 4, i8 1 br label %set set: %mode = phi i8 [ %mc, %parse ], [ %d, %dflt ], [ %md, %dev ] store i8 %mode, ptr @lp_fm %wd = load i64, ptr @lp_warm %w = call i64 @lp_fenv(ptr @.lpf_warm, i64 %wd) store i64 %w, ptr @lp_warm %wx5 = mul i64 %w, 5 %wm = call i64 @lp_fenv(ptr @.lpf_warmmax, i64 %wx5) store i64 %wm, ptr @lp_warm_max %dwv = call i64 @lp_fenv(ptr @.lpf_dwin, i64 600) store i64 %dwv, ptr @lp_dwin %drv = call i64 @lp_fenv(ptr @.lpf_drise, i64 6) store i64 %drv, ptr @lp_drise %au = call i64 @lp_fenv(ptr @.lpf_auto, i64 1) %au8 = trunc i64 %au to i8 store i8 %au8, ptr @lp_fauto %pl = call i64 @lp_fenv(ptr @.lpf_play, i64 -1) store i64 %pl, ptr @lp_autoplay %want = call i64 @lp_fenv(ptr @.lpf_tab, i64 4194304) br label %cap cap: %c = phi i64 [ 1024, %set ], [ %c2x, %grow ] %big = icmp sge i64 %c, %want br i1 %big, label %capped, label %grow grow: %c2x = shl i64 %c, 1 br label %cap capped: %mask = sub i64 %c, 1 store i64 %mask, ptr @lp_tabmask %q = lshr i64 %c, 2 %max = mul i64 %q, 3 store i64 %max, ptr @lp_tabmax br label %out out: ret void } define internal void @lp_fsnap() { entry: %lv = load i64, ptr @lp_live store i64 %lv, ptr @lp_mlive %dlm = load i64, ptr @lp_dlive store i64 %dlm, ptr @lp_mdlive %pr = load i64, ptr @lp_pre store i64 %pr, ptr @lp_mpre %md = load i64, ptr @lp_made store i64 %md, ptr @lp_mmade %fr = load i64, ptr @lp_freed store i64 %fr, ptr @lp_mfreed store i32 0, ptr @lp_ntouch ret void } define internal void @lp_fsnap_all() { entry: %n = load i32, ptr @lp_site_n %n64 = zext i32 %n to i64 %b = shl i64 %n64, 3 call ptr @memcpy(ptr @lp_site_mark, ptr @lp_site_live, i64 %b) call void @lp_fsnap() ret void } define void @lp_mem_play() { entry: call void @lp_finit() %m = load i8, ptr @lp_fm %off = icmp ule i8 %m, 1 br i1 %off, label %out, label %chk chk: %f = load i64, ptr @lp_frame %t = load i8, ptr @lp_ft %on = icmp ne i8 %t, 0 br i1 %on, label %rewarm, label %start rewarm: ; a screen opened: warm again, but the cap keeps its first deadline - growth that never stops must ; not keep the fence from judging - and past it a rewarm has R3D_ALLOC_REWARM frames of grace call void @lp_flock() store i8 0, ptr @lp_fj store i64 0, ptr @lp_flat %rw = call i64 @lp_fenv(ptr @.lpf_rewarm, i64 120) %wmx = load i64, ptr @lp_warm_max %pf0 = load i64, ptr @lp_playf %fr = add i64 %f, %rw %pfg = sub i64 %fr, %wmx %later = icmp sgt i64 %pfg, %pf0 %pf1 = select i1 %later, i64 %pfg, i64 %pf0 store i64 %pf1, ptr @lp_playf call void @lp_funlock() br label %out start: %tab = load ptr, ptr @lp_tab %none = icmp eq ptr %tab, null br i1 %none, label %make, label %arm make: %mask = load i64, ptr @lp_tabmask %c = add i64 %mask, 1 %p = call ptr @calloc(i64 %c, i64 16) store ptr %p, ptr @lp_tab br label %arm arm: store i64 %f, ptr @lp_playf store i64 0, ptr @lp_flat %cp0 = call ptr @getenv(ptr @.lpf_census) %cpd = load ptr, ptr @lp_census_def %hasenv = icmp ne ptr %cp0, null %cp = select i1 %hasenv, ptr %cp0, ptr %cpd store ptr %cp, ptr @lp_census %hascp = icmp ne ptr %cp, null br i1 %hascp, label %reg, label %go reg: call i32 @atexit(ptr @lp_fcensus) br label %go go: %ex = call i64 @lp_fenv(ptr @.lpf_exitscan, i64 0) %exq = icmp ne i64 %ex, 0 br i1 %exq, label %regx, label %go2 regx: call i32 @atexit(ptr @lp_fexitscan) br label %go2 go2: call void @lp_fsnap_all() store i8 1, ptr @lp_ft br label %out out: ret void } define void @lp_mem_settled() { entry: %t = load i8, ptr @lp_ft %on = icmp ne i8 %t, 0 br i1 %on, label %chk, label %out chk: %j = load i8, ptr @lp_fj %already = icmp ne i8 %j, 0 br i1 %already, label %out, label %go go: call void @lp_flock() call void @lp_fsnap_all() call void @lp_fsettle_locked() call void @lp_funlock() br label %out out: ret void } define i64 @lp_mem_kept() { entry: %j = load i8, ptr @lp_fj %on = icmp ne i8 %j, 0 br i1 %on, label %read, label %none none: ret i64 0 read: call void @lp_flock() %lv = load i64, ptr @lp_live %sl = load i64, ptr @lp_slive %pr = load i64, ptr @lp_pre %sp = load i64, ptr @lp_spre %a0 = sub i64 %lv, %sl %dlk = load i64, ptr @lp_dlive %sdl = load i64, ptr @lp_sdlive %ddk = sub i64 %dlk, %sdl %a = sub i64 %a0, %ddk %b = sub i64 %pr, %sp %k = sub i64 %a, %b call void @lp_funlock() ret i64 %k } define i64 @lp_mem_bad_frames() { entry: %b = load i64, ptr @lp_fbad ret i64 %b } define internal i64 @lp_fdelta(i32 %s, ptr %cur, ptr %base) { entry: %sp = getelementptr inbounds i64, ptr %cur, i32 %s %v = load i64, ptr %sp %mp = getelementptr inbounds i64, ptr %base, i32 %s %m = load i64, ptr %mp %d = sub i64 %v, %m ret i64 %d } define internal i32 @lp_fsite_at(i32 %i, i1 %all) { entry: br i1 %all, label %every, label %touched every: ret i32 %i touched: %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %i %s = load i32, ptr %tp ret i32 %s } define internal { i64, i32 } @lp_fpick(ptr %cur, ptr %base, i1 %all, i32 %cnt, i64 %pb, i32 %ps) { entry: br label %loop loop: %i = phi i32 [ 0, %entry ], [ %i1, %body ] %bb0 = phi i64 [ 0, %entry ], [ %bb1, %body ] %bs0 = phi i32 [ -1, %entry ], [ %bs1, %body ] %go = icmp ult i32 %i, %cnt br i1 %go, label %body, label %done body: %s = call i32 @lp_fsite_at(i32 %i, i1 %all) %d = call i64 @lp_fdelta(i32 %s, ptr %cur, ptr %base) %pos = icmp sgt i64 %d, 0 %lt = icmp slt i64 %d, %pb %eqb = icmp eq i64 %d, %pb %gts = icmp sgt i32 %s, %ps %tie = and i1 %eqb, %gts %below = or i1 %lt, %tie %gtb = icmp sgt i64 %d, %bb0 %eqbb = icmp eq i64 %d, %bb0 %lts = icmp slt i32 %s, %bs0 %tie2 = and i1 %eqbb, %lts %better = or i1 %gtb, %tie2 %c1 = and i1 %pos, %below %take = and i1 %c1, %better %bb1 = select i1 %take, i64 %d, i64 %bb0 %bs1 = select i1 %take, i32 %s, i32 %bs0 %i1 = add i32 %i, 1 br label %loop done: %r0 = insertvalue { i64, i32 } undef, i64 %bb0, 0 %r1 = insertvalue { i64, i32 } %r0, i32 %bs0, 1 ret { i64, i32 } %r1 } define internal void @lp_fsite_row(ptr %fp, i32 %fd, i64 %bytes, i32 %s, ptr %cfmt) { entry: %fnp = getelementptr inbounds ptr, ptr @lp_site_fn, i32 %s %fn = load ptr, ptr %fnp %flp = getelementptr inbounds ptr, ptr @lp_site_file, i32 %s %fl = load ptr, ptr %flp %lnp = getelementptr inbounds i32, ptr @lp_site_line, i32 %s %ln = load i32, ptr %lnp %kdp = getelementptr inbounds ptr, ptr @lp_site_kind, i32 %s %kd = load ptr, ptr %kdp %tofile = icmp ne ptr %fp, null br i1 %tofile, label %file, label %err file: call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr %cfmt, i64 %bytes, ptr %fn, ptr %fl, i32 %ln, ptr %kd) br label %from err: call i32 (i32, ptr, ...) @dprintf(i32 %fd, ptr @.lpf_row, i64 %bytes, ptr %fn, ptr %fl, i32 %ln, ptr %kd) br label %from from: call void @lp_fsite_from(ptr %fp, i32 %s, ptr %fn) ret void } ; the largest `rows` sites by what they hold over `base`, largest first define internal void @lp_franked(ptr %fp, ptr %cur, ptr %base, ptr %cfmt, i1 %all, i32 %cnt, i32 %rows) { entry: br label %pass pass: %row = phi i32 [ 0, %entry ], [ %row1, %show ] %pb = phi i64 [ 9223372036854775807, %entry ], [ %bb, %show ] %ps = phi i32 [ -1, %entry ], [ %bs, %show ] %more = icmp ult i32 %row, %rows br i1 %more, label %scan, label %tail scan: %r = call { i64, i32 } @lp_fpick(ptr %cur, ptr %base, i1 %all, i32 %cnt, i64 %pb, i32 %ps) %bb = extractvalue { i64, i32 } %r, 0 %bs = extractvalue { i64, i32 } %r, 1 %found = icmp sge i32 %bs, 0 br i1 %found, label %show, label %tail show: call void @lp_fsite_row(ptr %fp, i32 2, i64 %bb, i32 %bs, ptr %cfmt) %row1 = add i32 %row, 1 br label %pass tail: ret void } define internal void @lp_freport(i64 %f, i64 %kept) { entry: %md = load i64, ptr @lp_made %mm = load i64, ptr @lp_mmade %made = sub i64 %md, %mm %fr = load i64, ptr @lp_freed %mf = load i64, ptr @lp_mfreed %freed = sub i64 %fr, %mf call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_hdr, i64 %f, i64 %kept, i64 %made, i64 %freed) %nt = load i32, ptr @lp_ntouch %all = icmp ugt i32 %nt, 512 %sn = load i32, ptr @lp_site_n %cnt = select i1 %all, i32 %sn, i32 %nt call void @lp_franked(ptr null, ptr @lp_site_live, ptr @lp_site_mark, ptr @.lpf_crow, i1 %all, i32 %cnt, i32 12) ret void } ; R3D_ALLOC_CENSUS=, written at exit: the run's totals since play settled, and every site ; that holds more than it did then, largest first define void @lp_fcensus() { entry: %path = load ptr, ptr @lp_census %none = icmp eq ptr %path, null br i1 %none, label %out, label %open open: %zn = call i64 @lp_fzone() %jn = call i64 @lp_fnat(ptr @.lpf_jb) %jpk = call i64 @lp_fnat(ptr @.lpf_jp) %vn = call i64 @lp_fnat(ptr @.lpf_vb) %vpk = call i64 @lp_fnat(ptr @.lpf_vp) %fp = call ptr @fopen(ptr %path, ptr @.lpf_w) %bad = icmp eq ptr %fp, null br i1 %bad, label %out, label %write write: store i8 0, ptr @lp_ft %j = load i64, ptr @lp_fjudged %b = load i64, ptr @lp_fbad %k = call i64 @lp_mem_kept() %md = load i64, ptr @lp_made %fr = load i64, ptr @lp_freed %ov = load i64, ptr @lp_over call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_chdr, i64 %j, i64 %b, i64 %k, i64 %md, i64 %fr, i64 %ov) %jq = icmp ne i64 %j, 0 %zs = load i64, ptr @lp_zset %zd = sub i64 %zn, %zs %js = load i64, ptr @lp_jset %jd = sub i64 %jn, %js %vs = load i64, ptr @lp_vset %vd = sub i64 %vn, %vs %dnw = load i64, ptr @lp_dlive %dst = load i64, ptr @lp_sdlive %dgr = sub i64 %dnw, %dst %nat0 = sub i64 %zd, %k %nat = sub i64 %nat0, %dgr %nat2 = sub i64 %nat, %jd %nat3 = sub i64 %nat2, %vd %nat1 = select i1 %jq, i64 %nat3, i64 0 call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cnat, i64 %nat1) %dnow = load i64, ptr @lp_dlive %dset = load i64, ptr @lp_sdlive %ddc = sub i64 %dnow, %dset %ddc1 = select i1 %jq, i64 %ddc, i64 0 call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cdecl, i64 %ddc1) %capn = load i64, ptr @lp_capn call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_ccap, i64 %capn) %ah0 = load i64, ptr @lp_ar_hw0 %ah1 = load i64, ptr @lp_ar_hw1 call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_car, i64 %ah0, i64 %ah1) %jd1 = select i1 %jq, i64 %jd, i64 0 call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cjolt, i64 %jd1, i64 %jpk) %vd1 = select i1 %jq, i64 %vd, i64 0 call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cvk, i64 %vd1, i64 %vpk) %sn = load i32, ptr @lp_site_n %dun = load i64, ptr @lp_dunb call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cdunb, i64 %dun) call void @lp_franked(ptr %fp, ptr @lp_site_live, ptr @lp_site_base, ptr @.lpf_crow, i1 1, i32 %sn, i32 40) call void @lp_franked(ptr %fp, ptr @lp_site_dlive, ptr @lp_site_dbase, ptr @.lpf_cdrow, i1 1, i32 %sn, i32 40) call void @lp_fowners(ptr %fp) call i32 @fclose(ptr %fp) br label %out out: ret void } define internal void @lp_fmark_touched() { entry: %nt = load i32, ptr @lp_ntouch %all = icmp ugt i32 %nt, 512 br i1 %all, label %every, label %some every: call void @lp_fsnap_all() ret void some: br label %loop loop: %i = phi i32 [ 0, %some ], [ %i1, %body ] %go = icmp ult i32 %i, %nt br i1 %go, label %body, label %done body: %tp = getelementptr inbounds [512 x i32], ptr @lp_touch, i32 0, i32 %i %s = load i32, ptr %tp %sp = getelementptr inbounds i64, ptr @lp_site_live, i32 %s %v = load i64, ptr %sp %mp = getelementptr inbounds i64, ptr @lp_site_mark, i32 %s store i64 %v, ptr %mp %i1 = add i32 %i, 1 br label %loop done: call void @lp_fsnap() ret void } ; malloc's live bytes over every zone (0 where there is no malloc_zone_statistics) define internal i64 @lp_fzone() { entry: %has = icmp ne ptr @malloc_zone_statistics, null br i1 %has, label %read, label %none none: ret i64 0 read: %st = alloca [4 x i64], align 8 call void @malloc_zone_statistics(ptr null, ptr %st) %p = getelementptr [4 x i64], ptr %st, i32 0, i32 1 %n = load i64, ptr %p ret i64 %n } ; a counted native library's number, found by name (ludic.physics' jph_heap_*, the Vulkan runtime's ; lvk_ac_*): 0 when the program does not carry it, and nothing is declared that the package declares define internal i64 @lp_fnat(ptr %name) { entry: %rtld_default = inttoptr i64 -2 to ptr %f = call ptr @dlsym(ptr %rtld_default, ptr %name) %none = icmp eq ptr %f, null br i1 %none, label %zero, label %call zero: ret i64 0 call: %v = call i64 %f() ret i64 %v } ; 25.5a: a list declared @max(n) grew past n, or a package's table filled (Mem.over): said under ; warn, and under fail the run ends with exit 87 - silent when the fence is off define void @lp_cap_over(ptr %name, i32 %cap, i32 %len) { entry: call void @lp_finit() %m = load i8, ptr @lp_fm %off = icmp ule i8 %m, 1 br i1 %off, label %out, label %count count: %c = load i64, ptr @lp_capn %c1 = add i64 %c, 1 store i64 %c1, ptr @lp_capn %say = icmp uge i8 %m, 3 br i1 %say, label %which, label %out which: %isfull = icmp eq i32 %cap, 0 br i1 %isfull, label %full, label %over full: call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_full, ptr %name) br label %judge over: call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_capover, ptr %name, i32 %cap, i32 %len) br label %judge judge: %fail = icmp eq i8 %m, 4 br i1 %fail, label %die, label %out die: call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_capfail) call void @exit(i32 87) unreachable out: ret void } ; 25.5b: a leak by reachability. From every global (the states among them) each word that is the ; start of a heap block (malloc_size says so) is followed, conservatively, through every block; a ; tracked block nothing reaches is a leak whatever a frame's totals say. R3D_ALLOC_SCAN= ; runs it at that frame's mark (when no function is running), Mem.scan() whenever asked define internal i1 @lp_vput(i64 %k) { entry: %mask = load i64, ptr @lp_vmask %tab = load ptr, ptr @lp_visit_set %h = call i64 @lp_fhash(i64 %k) br label %probe probe: %i = phi i64 [ %h, %entry ], [ %i1, %next ] %im = and i64 %i, %mask %e = getelementptr inbounds i64, ptr %tab, i64 %im %ek = load i64, ptr %e %empty = icmp eq i64 %ek, 0 br i1 %empty, label %put, label %cmp cmp: %same = icmp eq i64 %ek, %k br i1 %same, label %was, label %next next: %i1 = add i64 %im, 1 br label %probe put: store i64 %k, ptr %e ret i1 1 was: ret i1 0 } define internal i1 @lp_vhas(i64 %k) { entry: %mask = load i64, ptr @lp_vmask %tab = load ptr, ptr @lp_visit_set %h = call i64 @lp_fhash(i64 %k) br label %probe probe: %i = phi i64 [ %h, %entry ], [ %i1, %next ] %im = and i64 %i, %mask %e = getelementptr inbounds i64, ptr %tab, i64 %im %ek = load i64, ptr %e %empty = icmp eq i64 %ek, 0 br i1 %empty, label %no, label %cmp cmp: %same = icmp eq i64 %ek, %k br i1 %same, label %yes, label %next next: %i1 = add i64 %im, 1 br label %probe yes: ret i1 1 no: ret i1 0 } ; a candidate is followed only if it could be a heap block's start: 16-aligned (malloc's), inside the ; user address space (above the first 4 GB, below 2^47 - a word with high bits is data, and some ; zones fault looking one up), and not in the frame arena; only then does malloc_size look at it define internal void @lp_visit(i64 %w) { entry: %al = and i64 %w, 15 %mis = icmp ne i64 %al, 0 %low = icmp ult i64 %w, 4294967296 %high = icmp uge i64 %w, 140737488355328 %s1 = or i1 %mis, %low %s2 = or i1 %s1, %high br i1 %s2, label %out, label %arena arena: %wp = inttoptr i64 %w to ptr %inar = call i1 @lp_in_arena(ptr %wp) br i1 %inar, label %out, label %size size: %p = inttoptr i64 %w to ptr %sz = call i64 @malloc_size(ptr %p) %nz = icmp eq i64 %sz, 0 br i1 %nz, label %out, label %mark mark: %new = call i1 @lp_vput(i64 %w) br i1 %new, label %queue, label %out queue: %n = load i64, ptr @lp_wln %cap = load i64, ptr @lp_wlcap %full = icmp uge i64 %n, %cap br i1 %full, label %grow, label %push grow: %nc0 = shl i64 %cap, 1 %small = icmp ult i64 %nc0, 65536 %nc = select i1 %small, i64 65536, i64 %nc0 %old = load ptr, ptr @lp_wl %bytes = shl i64 %nc, 3 %nw = call ptr @realloc(ptr %old, i64 %bytes) store ptr %nw, ptr @lp_wl store i64 %nc, ptr @lp_wlcap br label %push push: %wl = load ptr, ptr @lp_wl %slot = getelementptr inbounds i64, ptr %wl, i64 %n store i64 %w, ptr %slot %n1 = add i64 %n, 1 store i64 %n1, ptr @lp_wln br label %out out: ret void } ; R3D_ALLOC_EXIT=1: the same scan as the program quits - what nothing holds any more is what leaked define internal void @lp_fexitscan() { entry: call i64 @lp_mem_scan() ret void } define i64 @lp_mem_scan() { entry: %t = load i8, ptr @lp_ft %on = icmp ne i8 %t, 0 %hasms = icmp ne ptr @malloc_size, null %go = and i1 %on, %hasms br i1 %go, label %prep, label %none none: ret i64 0 prep: call void @lp_flock() %vs = load ptr, ptr @lp_visit_set %vnone = icmp eq ptr %vs, null br i1 %vnone, label %make, label %clear make: %v = call ptr @calloc(i64 8388608, i64 8) store ptr %v, ptr @lp_visit_set store i64 8388607, ptr @lp_vmask br label %roots clear: call ptr @memset(ptr %vs, i32 0, i64 67108864) br label %roots roots: store i64 0, ptr @lp_wln %nr = load i32, ptr @lp_nroots br label %rl rl: %ri = phi i32 [ 0, %roots ], [ %ri1, %rb ] %rgo = icmp ult i32 %ri, %nr br i1 %rgo, label %rb, label %walk rb: %rp = getelementptr inbounds ptr, ptr @lp_roots, i32 %ri %g = load ptr, ptr %rp %gv = load i64, ptr %g call void @lp_visit(i64 %gv) %ri1 = add i32 %ri, 1 br label %rl walk: %n = load i64, ptr @lp_wln %done = icmp eq i64 %n, 0 br i1 %done, label %sweep, label %pop pop: %n1 = sub i64 %n, 1 store i64 %n1, ptr @lp_wln %wl = load ptr, ptr @lp_wl %sp = getelementptr inbounds i64, ptr %wl, i64 %n1 %b = load i64, ptr %sp %bp = inttoptr i64 %b to ptr %bsz = call i64 @malloc_size(ptr %bp) %words = lshr i64 %bsz, 3 br label %wordl wordl: %wi = phi i64 [ 0, %pop ], [ %wi1, %wordb ] %wgo = icmp ult i64 %wi, %words br i1 %wgo, label %wordb, label %walk wordb: %wp = getelementptr inbounds i64, ptr %bp, i64 %wi %wv = load i64, ptr %wp call void @lp_visit(i64 %wv) %wi1 = add i64 %wi, 1 br label %wordl sweep: %sn = load i32, ptr @lp_site_n %sn64 = zext i32 %sn to i64 %sb = shl i64 %sn64, 3 call ptr @memset(ptr @lp_site_scan, i32 0, i64 %sb) %mask = load i64, ptr @lp_tabmask %cap = add i64 %mask, 1 %tab = load ptr, ptr @lp_tab br label %tl tl: %ti = phi i64 [ 0, %sweep ], [ %ti1, %tnext ] %lost = phi i64 [ 0, %sweep ], [ %lost2, %tnext ] %lostn = phi i64 [ 0, %sweep ], [ %lostn2, %tnext ] %tgo = icmp ult i64 %ti, %cap br i1 %tgo, label %tb, label %report tb: %e = getelementptr inbounds [2 x i64], ptr %tab, i64 %ti %ek = load i64, ptr %e %empty = icmp eq i64 %ek, 0 br i1 %empty, label %tnext, label %tchk tchk: %seen = call i1 @lp_vhas(i64 %ek) br i1 %seen, label %tnext, label %tlost tlost: %ev = getelementptr inbounds i64, ptr %e, i64 1 %val = load i64, ptr %ev %sz = and i64 %val, 549755813887 %site = lshr i64 %val, 40 %ssp = getelementptr inbounds i64, ptr @lp_site_scan, i64 %site %sv = load i64, ptr %ssp %sv1 = add i64 %sv, %sz store i64 %sv1, ptr %ssp br label %tnext tnext: %add = phi i64 [ 0, %tb ], [ 0, %tchk ], [ %sz, %tlost ] %addn = phi i64 [ 0, %tb ], [ 0, %tchk ], [ 1, %tlost ] %lost2 = add i64 %lost, %add %lostn2 = add i64 %lostn, %addn %ti1 = add i64 %ti, 1 br label %tl report: store i64 %lost, ptr @lp_scan_bytes %f = load i64, ptr @lp_frame call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_shdr, i64 %f, i64 %lost, i64 %lostn) %top = call i64 @lp_fenv(ptr @.lpf_scantop, i64 24) %top32 = trunc i64 %top to i32 call void @lp_franked_vals(ptr @lp_site_scan, i32 %sn, i32 %top32) %sfp = call ptr @getenv(ptr @.lpf_scanfile) %hasf = icmp ne ptr %sfp, null br i1 %hasf, label %tofile, label %fin tofile: %fh = call ptr @fopen(ptr %sfp, ptr @.lpf_a) %fok = icmp ne ptr %fh, null br i1 %fok, label %rows, label %fin rows: %ri2 = phi i32 [ 0, %tofile ], [ %ri3, %rnext ] %more = icmp ult i32 %ri2, %sn br i1 %more, label %row, label %close row: %rsp = getelementptr inbounds i64, ptr @lp_site_scan, i32 %ri2 %rv = load i64, ptr %rsp %has = icmp sgt i64 %rv, 0 br i1 %has, label %say, label %rnext say: %fnp = getelementptr inbounds ptr, ptr @lp_site_fn, i32 %ri2 %fn = load ptr, ptr %fnp %flp = getelementptr inbounds ptr, ptr @lp_site_file, i32 %ri2 %fl = load ptr, ptr %flp %lnp = getelementptr inbounds i32, ptr @lp_site_line, i32 %ri2 %ln = load i32, ptr %lnp %kdp = getelementptr inbounds ptr, ptr @lp_site_kind, i32 %ri2 %kd = load ptr, ptr %kdp call i32 (ptr, ptr, ...) @fprintf(ptr %fh, ptr @.lpf_sfrow, i64 %rv, ptr %fn, ptr %fl, i32 %ln, ptr %kd) br label %rnext rnext: %ri3 = add i32 %ri2, 1 br label %rows close: call i32 @fclose(ptr %fh) br label %fin fin: call void @lp_funlock() ret i64 %lost } ; 25.5c: the census by owner - what each state holds of what its sites made, and how much it grew define internal void @lp_fowners(ptr %fp) { entry: %no = load i32, ptr @lp_nowners %sn = load i32, ptr @lp_site_n br label %ol ol: %o = phi i32 [ 1, %entry ], [ %o1, %onext ] %ogo = icmp ule i32 %o, %no br i1 %ogo, label %sl0, label %done sl0: br label %sl sl: %s = phi i32 [ 0, %sl0 ], [ %s1, %snext ] %live = phi i64 [ 0, %sl0 ], [ %live2, %snext ] %grew = phi i64 [ 0, %sl0 ], [ %grew2, %snext ] %sgo = icmp ult i32 %s, %sn br i1 %sgo, label %sb, label %say sb: %op = getelementptr inbounds i32, ptr @lp_site_owner, i32 %s %ow = load i32, ptr %op %mine = icmp eq i32 %ow, %o %lp = getelementptr inbounds i64, ptr @lp_site_live, i32 %s %lv = load i64, ptr %lp %bp = getelementptr inbounds i64, ptr @lp_site_base, i32 %s %bv = load i64, ptr %bp %d = sub i64 %lv, %bv %la = select i1 %mine, i64 %lv, i64 0 %da = select i1 %mine, i64 %d, i64 0 %live2 = add i64 %live, %la %grew2 = add i64 %grew, %da br label %snext snext: %s1 = add i32 %s, 1 br label %sl say: %any = icmp ne i64 %live, 0 br i1 %any, label %print, label %onext print: %oi = sub i32 %o, 1 %np = getelementptr inbounds ptr, ptr @lp_owner_name, i32 %oi %nm = load ptr, ptr %np call i32 (ptr, ptr, ...) @fprintf(ptr %fp, ptr @.lpf_cown, ptr %nm, i64 %live, i64 %grew) br label %onext onext: %o1 = add i32 %o, 1 br label %ol done: ret void } ; the largest `rows` of a per-site array, largest first, to stderr (the scan's) define internal void @lp_franked_vals(ptr %vals, i32 %cnt, i32 %rows) { entry: br label %pass pass: %row = phi i32 [ 0, %entry ], [ %row1, %show ] %pb = phi i64 [ 9223372036854775807, %entry ], [ %bb0, %show ] %ps = phi i32 [ -1, %entry ], [ %bs0, %show ] %more = icmp ult i32 %row, %rows br i1 %more, label %scan, label %tail scan: br label %loop loop: %i = phi i32 [ 0, %scan ], [ %i1, %body ] %bb0 = phi i64 [ 0, %scan ], [ %bb1, %body ] %bs0 = phi i32 [ -1, %scan ], [ %bs1, %body ] %go = icmp ult i32 %i, %cnt br i1 %go, label %body, label %done body: %vp = getelementptr inbounds i64, ptr %vals, i32 %i %d = load i64, ptr %vp %pos = icmp sgt i64 %d, 0 %lt = icmp slt i64 %d, %pb %eqb = icmp eq i64 %d, %pb %gts = icmp sgt i32 %i, %ps %tie = and i1 %eqb, %gts %below = or i1 %lt, %tie %gtb = icmp sgt i64 %d, %bb0 %c1 = and i1 %pos, %below %take = and i1 %c1, %gtb %bb1 = select i1 %take, i64 %d, i64 %bb0 %bs1 = select i1 %take, i32 %i, i32 %bs0 %i1 = add i32 %i, 1 br label %loop done: %found = icmp sge i32 %bs0, 0 br i1 %found, label %show, label %tail show: call void @lp_fsite_row(ptr null, i32 2, i64 %bb0, i32 %bs0, ptr @.lpf_crow) %row1 = add i32 %row, 1 br label %pass tail: ret void } define internal void @lp_fsettle_locked() { entry: %n = load i32, ptr @lp_site_n %n64 = zext i32 %n to i64 %nb = shl i64 %n64, 3 call ptr @memcpy(ptr @lp_site_base, ptr @lp_site_live, i64 %nb) %lv = load i64, ptr @lp_live store i64 %lv, ptr @lp_slive %dls = load i64, ptr @lp_dlive store i64 %dls, ptr @lp_sdlive call ptr @memcpy(ptr @lp_site_dbase, ptr @lp_site_dlive, i64 %nb) call ptr @memcpy(ptr @lp_site_dhw, ptr @lp_site_dlive, i64 %nb) call ptr @memset(ptr @lp_site_drise, i32 0, i64 %nb) %pr = load i64, ptr @lp_pre store i64 %pr, ptr @lp_spre %jb = call i64 @lp_fnat(ptr @.lpf_jb) store i64 %jb, ptr @lp_jset %vb = call i64 @lp_fnat(ptr @.lpf_vb) store i64 %vb, ptr @lp_vset %z = call i64 @lp_fzone() store i64 %z, ptr @lp_zset store i8 1, ptr @lp_fj ret void } ;; every R3D_ALLOC_DWIN judged frames: a site whose declared bytes set a new high adds to its streak, ; a flat window takes one off, a fall ends it; R3D_ALLOC_DRISE of them is "declared but unbounded", ; said once per site (its callers were not recorded: a declared site is not judged per frame) define internal i64 @lp_fdwindow(i64 %f, i8 %m) { entry: %n = load i32, ptr @lp_site_n %need = load i64, ptr @lp_drise %dw = load i64, ptr @lp_dwin %say = icmp uge i8 %m, 3 br label %loop loop: %i = phi i32 [ 0, %entry ], [ %i1, %next ] %hits = phi i64 [ 0, %entry ], [ %hits1, %next ] %go = icmp ult i32 %i, %n br i1 %go, label %body, label %done body: %lp = getelementptr inbounds i64, ptr @lp_site_dlive, i32 %i %dl = load i64, ptr %lp %hp = getelementptr inbounds i64, ptr @lp_site_dhw, i32 %i %hw = load i64, ptr %hp %rp = getelementptr inbounds i64, ptr @lp_site_drise, i32 %i %r = load i64, ptr %rp %up = icmp sgt i64 %dl, %hw %fell = icmp slt i64 %dl, %hw %rpos = icmp sgt i64 %r, 0 %rdec = sub i64 %r, 1 %rflat = select i1 %rpos, i64 %rdec, i64 0 %rup = add i64 %r, 1 %r0 = select i1 %fell, i64 0, i64 %rflat %rn = select i1 %up, i64 %rup, i64 %r0 %sent = icmp slt i64 %r, 0 %rs = select i1 %sent, i64 %r, i64 %rn store i64 %rs, ptr %rp %hw1 = select i1 %up, i64 %dl, i64 %hw store i64 %hw1, ptr %hp %hit0 = icmp sge i64 %rs, %need %hit = and i1 %hit0, %up br i1 %hit, label %report, label %next0 report: store i64 -1, ptr %rp %du = load i64, ptr @lp_dunb %du1 = add i64 %du, 1 store i64 %du1, ptr @lp_dunb br i1 %say, label %tell, label %next0 tell: call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_dunb, i64 %f, i64 %need, i64 %dw) %bp = getelementptr inbounds i64, ptr @lp_site_dbase, i32 %i %bs = load i64, ptr %bp %grew = sub i64 %dl, %bs call void @lp_fsite_row(ptr null, i32 2, i64 %grew, i32 %i, ptr @.lpf_crow) br label %next0 next0: %got = phi i64 [ 0, %body ], [ 1, %report ], [ 1, %tell ] br label %next next: %hits1 = add i64 %hits, %got %i1 = add i32 %i, 1 br label %loop done: ret i64 %hits } ; the frame's mark. Tracking starts at the first one (R3D_ALLOC_AUTO=0: at Mem.play() or ; R3D_ALLOC_PLAY=); judging starts once R3D_ALLOC_WARM frames in a row kept nothing, or ; R3D_ALLOC_WARM_MAX frames after tracking (re)started, whichever is first define void @lp_mem_frame() { entry: call void @lp_ar_frame() call void @lp_finit() %f = load i64, ptr @lp_frame %f1 = add i64 %f, 1 %m = load i8, ptr @lp_fm %off = icmp ule i8 %m, 1 br i1 %off, label %tick, label %live live: %t = load i8, ptr @lp_ft %on = icmp ne i8 %t, 0 br i1 %on, label %tracking, label %maybe_play maybe_play: %au = load i8, ptr @lp_fauto %auq = icmp ne i8 %au, 0 %ap = load i64, ptr @lp_autoplay %apset = icmp sge i64 %ap, 0 %apdue = icmp sge i64 %f1, %ap %apgo = and i1 %apset, %apdue %go = or i1 %auq, %apgo br i1 %go, label %play, label %tick play: call void @lp_mem_play() br label %tick tracking: call void @lp_flock() %ov = load i64, ptr @lp_over %ovq = icmp sgt i64 %ov, 0 %rep = load i8, ptr @lp_overrep %repq = icmp eq i8 %rep, 0 %fullnew = and i1 %ovq, %repq br i1 %fullnew, label %full, label %weigh full: %tn = load i64, ptr @lp_tabn call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_full, i64 %tn) store i8 1, ptr @lp_overrep store i8 0, ptr @lp_fj br label %unlock weigh: %lv = load i64, ptr @lp_live %ml = load i64, ptr @lp_mlive %pr = load i64, ptr @lp_pre %mp = load i64, ptr @lp_mpre %a0 = sub i64 %lv, %ml %dln = load i64, ptr @lp_dlive %dlmk = load i64, ptr @lp_mdlive %dd = sub i64 %dln, %dlmk %a = sub i64 %a0, %dd %b = sub i64 %pr, %mp %kept = sub i64 %a, %b %bad = icmp sgt i64 %kept, 0 %j = load i8, ptr @lp_fj %judging = icmp ne i8 %j, 0 br i1 %judging, label %judge, label %warming warming: %fl = load i64, ptr @lp_flat %fl1 = add i64 %fl, 1 %fl2 = select i1 %bad, i64 0, i64 %fl1 store i64 %fl2, ptr @lp_flat %w = load i64, ptr @lp_warm %wset = icmp sge i64 %w, 0 %wdone = icmp sge i64 %fl2, %w %byflat = and i1 %wset, %wdone %pf = load i64, ptr @lp_playf %since = sub i64 %f1, %pf %wm = load i64, ptr @lp_warm_max %wmset = icmp sge i64 %wm, 0 %wmdone = icmp sge i64 %since, %wm %bycap = and i1 %wmset, %wmdone %settle = or i1 %byflat, %bycap br i1 %settle, label %settle_now, label %mark settle_now: call void @lp_fsettle_locked() br label %mark judge: %jd = load i64, ptr @lp_fjudged %jd1 = add i64 %jd, 1 store i64 %jd1, ptr @lp_fjudged %dw = load i64, ptr @lp_dwin %dwon = icmp sgt i64 %dw, 0 %dws = select i1 %dwon, i64 %dw, i64 1 %dwr = urem i64 %jd1, %dws %dwz = icmp eq i64 %dwr, 0 %dwdue = and i1 %dwon, %dwz br i1 %dwdue, label %dwindow, label %verdict dwindow: %nun = call i64 @lp_fdwindow(i64 %f, i8 %m) %nunq = icmp sgt i64 %nun, 0 %dfail = icmp eq i8 %m, 4 %ddie = and i1 %nunq, %dfail br i1 %ddie, label %die, label %verdict verdict: br i1 %bad, label %kept_some, label %mark kept_some: %fk = load i64, ptr @lp_fkept %fk1 = add i64 %fk, %kept store i64 %fk1, ptr @lp_fkept %fb = load i64, ptr @lp_fbad %fb1 = add i64 %fb, 1 store i64 %fb1, ptr @lp_fbad %say = icmp uge i8 %m, 3 br i1 %say, label %say_it, label %mark say_it: call void @lp_freport(i64 %f, i64 %kept) %fail = icmp eq i8 %m, 4 br i1 %fail, label %die, label %mark die: call i32 (i32, ptr, ...) @dprintf(i32 2, ptr @.lpf_failing) store i8 0, ptr @lp_ft call void @lp_funlock() call void @exit(i32 86) unreachable mark: call void @lp_fmark_touched() br label %unlock unlock: call void @lp_funlock() br label %tick tick: store i64 %f1, ptr @lp_frame %sa = load i64, ptr @lp_scan_at %sunread = icmp eq i64 %sa, -2 br i1 %sunread, label %sread, label %scheck sread: %sv = call i64 @lp_fenv(ptr @.lpf_scan, i64 -1) store i64 %sv, ptr @lp_scan_at br label %scheck scheck: %sat = load i64, ptr @lp_scan_at %sdue = icmp eq i64 %sat, %f1 br i1 %sdue, label %sdo, label %sout sdo: call i64 @lp_mem_scan() br label %sout sout: ret void } @.str22386 = private unnamed_addr constant [10 x i8] c"(runtime)\00" @.str22387 = private unnamed_addr constant [10 x i8] c"(no site)\00" @.str22388 = private unnamed_addr constant [8 x i8] c"unsited\00" @lp_fdef = global i8 4 @lp_warm = global i64 600 @lp_census_def = global ptr null @lp_site_n = global i32 9064 @lp_site_fn = global [9064 x ptr] [ptr @.str22386, ptr @.str0, ptr @.str0, ptr @.str0, ptr @.str3, ptr @.str3, ptr @.str5, ptr @.str8, ptr @.str8, ptr @.str10, ptr @.str10, ptr @.str16, ptr @.str16, ptr @.str18, ptr @.str18, ptr @.str18, ptr @.str18, ptr @.str18, ptr @.str18, ptr @.str26, ptr @.str26, ptr @.str26, ptr @.str26, ptr @.str26, ptr @.str26, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str29, ptr @.str44, ptr @.str44, ptr @.str44, ptr @.str44, ptr @.str44, ptr @.str46, ptr @.str68, ptr @.str68, ptr @.str69, ptr @.str71, ptr @.str71, ptr @.str75, ptr @.str75, ptr @.str75, ptr @.str75, ptr @.str75, ptr @.str75, ptr @.str75, ptr @.str87, ptr @.str89, ptr @.str89, ptr @.str89, ptr @.str89, ptr @.str89, ptr @.str99, ptr @.str101, ptr @.str101, ptr @.str103, ptr @.str114, ptr @.str114, ptr @.str114, ptr @.str114, ptr @.str114, ptr @.str114, ptr @.str120, ptr @.str120, ptr @.str120, ptr @.str120, ptr @.str120, ptr @.str126, ptr @.str126, ptr @.str126, ptr @.str126, ptr @.str126, ptr @.str133, ptr @.str133, ptr @.str133, ptr @.str133, ptr @.str133, ptr @.str139, ptr @.str139, ptr @.str139, ptr @.str143, ptr @.str163, ptr @.str163, ptr @.str163, ptr @.str163, ptr @.str163, ptr @.str178, ptr @.str178, ptr @.str181, ptr @.str184, ptr @.str185, ptr @.str185, ptr @.str189, ptr @.str195, ptr @.str337, ptr @.str374, ptr @.str379, ptr @.str415, ptr @.str415, ptr @.str415, ptr @.str415, ptr @.str415, ptr @.str505, ptr @.str505, ptr @.str505, ptr @.str515, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str518, ptr @.str536, ptr @.str538, ptr @.str539, ptr @.str542, ptr @.str542, ptr @.str546, ptr @.str546, ptr @.str546, ptr @.str546, ptr @.str546, ptr @.str546, ptr @.str552, ptr @.str552, ptr @.str558, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str666, ptr @.str762, ptr @.str762, ptr @.str762, ptr @.str762, ptr @.str762, ptr @.str762, ptr @.str774, ptr @.str774, ptr @.str774, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str779, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str892, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str943, ptr @.str969, ptr @.str980, ptr @.str980, ptr @.str985, ptr @.str985, ptr @.str992, ptr @.str1005, ptr @.str1005, ptr @.str1005, ptr @.str1018, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1039, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1071, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1081, ptr @.str1099, ptr @.str1099, ptr @.str1099, ptr @.str1106, ptr @.str1106, ptr @.str1115, ptr @.str1121, ptr @.str1133, ptr @.str1133, ptr @.str1143, ptr @.str1143, ptr @.str1148, ptr @.str1148, ptr @.str1148, ptr @.str1148, ptr @.str1150, ptr @.str1150, ptr @.str1150, ptr @.str1152, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1156, ptr @.str1166, ptr @.str1166, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1176, ptr @.str1184, ptr @.str1184, ptr @.str1184, ptr @.str1184, ptr @.str1195, ptr @.str1195, ptr @.str1199, ptr @.str1199, ptr @.str1199, ptr @.str1199, ptr @.str1208, ptr @.str1208, ptr @.str1208, ptr @.str1208, ptr @.str1208, ptr @.str1208, ptr @.str1208, ptr @.str1221, ptr @.str1221, ptr @.str1221, ptr @.str1221, ptr @.str1221, ptr @.str1224, ptr @.str1224, ptr @.str1229, ptr @.str1229, ptr @.str1229, ptr @.str1229, ptr @.str1232, ptr @.str1232, ptr @.str1238, ptr @.str1238, ptr @.str1238, ptr @.str1241, ptr @.str1247, ptr @.str1247, ptr @.str1247, ptr @.str1247, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1251, ptr @.str1272, ptr @.str1272, ptr @.str1272, ptr @.str1272, ptr @.str1272, ptr @.str1274, ptr @.str1274, ptr @.str1274, ptr @.str1274, ptr @.str1274, ptr @.str1274, ptr @.str1274, ptr @.str1284, ptr @.str1284, ptr @.str1284, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1289, ptr @.str1299, ptr @.str1299, ptr @.str1299, ptr @.str1299, ptr @.str1299, ptr @.str1299, ptr @.str1299, ptr @.str1300, ptr @.str1305, ptr @.str1305, ptr @.str1305, ptr @.str1305, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1309, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1338, ptr @.str1377, ptr @.str1377, ptr @.str1377, ptr @.str1377, ptr @.str1377, ptr @.str1377, ptr @.str1379, ptr @.str1379, ptr @.str1379, ptr @.str1379, ptr @.str1379, ptr @.str1379, ptr @.str1395, ptr @.str1395, ptr @.str1400, ptr @.str1400, ptr @.str1400, ptr @.str1400, ptr @.str1400, ptr @.str1400, ptr @.str1419, ptr @.str1419, ptr @.str1419, ptr @.str1419, ptr @.str1419, ptr @.str1430, ptr @.str1430, ptr @.str1430, ptr @.str1430, ptr @.str1430, ptr @.str1437, ptr @.str1437, ptr @.str1437, ptr @.str1437, ptr @.str1437, ptr @.str1440, ptr @.str1440, ptr @.str1440, ptr @.str1440, ptr @.str1440, ptr @.str1440, ptr @.str1466, ptr @.str1466, ptr @.str1466, ptr @.str1466, ptr @.str1466, ptr @.str1466, ptr @.str1473, ptr @.str1473, ptr @.str1473, ptr @.str1481, ptr @.str1483, ptr @.str1483, ptr @.str1483, ptr @.str1487, ptr @.str1487, ptr @.str1496, ptr @.str1496, ptr @.str1496, ptr @.str1496, ptr @.str1504, ptr @.str1504, ptr @.str1504, ptr @.str1508, ptr @.str1508, ptr @.str1508, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1519, ptr @.str1524, ptr @.str1524, ptr @.str1524, ptr @.str1524, ptr @.str1524, ptr @.str1524, ptr @.str1532, ptr @.str1532, ptr @.str1532, ptr @.str1532, ptr @.str1532, ptr @.str1532, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1544, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1589, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1628, ptr @.str1642, ptr @.str1642, ptr @.str1644, ptr @.str1644, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1662, ptr @.str1676, ptr @.str1680, ptr @.str1680, ptr @.str1680, ptr @.str1680, ptr @.str1680, ptr @.str1680, ptr @.str1680, ptr @.str1685, ptr @.str1685, ptr @.str1685, ptr @.str1685, ptr @.str1691, ptr @.str1691, ptr @.str1691, ptr @.str1691, ptr @.str1691, ptr @.str1699, ptr @.str1704, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1708, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1728, ptr @.str1742, ptr @.str1742, ptr @.str1742, ptr @.str1742, ptr @.str1742, ptr @.str1742, ptr @.str1742, ptr @.str1742, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1753, ptr @.str1790, ptr @.str1790, ptr @.str1790, ptr @.str1790, ptr @.str1790, ptr @.str1793, ptr @.str1793, ptr @.str1793, ptr @.str1793, ptr @.str1793, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1800, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1827, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1838, ptr @.str1860, ptr @.str1860, ptr @.str1860, ptr @.str1866, ptr @.str1866, ptr @.str1866, ptr @.str1866, ptr @.str1866, ptr @.str1866, ptr @.str1866, ptr @.str1866, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1877, ptr @.str1900, ptr @.str1908, ptr @.str1908, ptr @.str1908, ptr @.str1908, ptr @.str1916, ptr @.str1916, ptr @.str1916, ptr @.str1916, ptr @.str1916, ptr @.str1916, ptr @.str1916, ptr @.str1916, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1922, ptr @.str1934, ptr @.str1934, ptr @.str1934, ptr @.str1934, ptr @.str1934, ptr @.str1934, ptr @.str1934, ptr @.str1945, ptr @.str1945, ptr @.str1945, ptr @.str1945, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1959, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str1991, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2003, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2025, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2039, ptr @.str2072, ptr @.str2072, ptr @.str2072, ptr @.str2072, ptr @.str2072, ptr @.str2072, ptr @.str2072, ptr @.str2072, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2079, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2092, ptr @.str2135, ptr @.str2137, ptr @.str2142, ptr @.str2147, ptr @.str2147, ptr @.str2147, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2156, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2191, ptr @.str2240, ptr @.str2244, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2249, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2273, ptr @.str2298, ptr @.str2298, ptr @.str2299, ptr @.str2299, ptr @.str2299, ptr @.str2299, ptr @.str2299, ptr @.str2299, ptr @.str2299, ptr @.str2299, ptr @.str2304, ptr @.str2304, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2306, ptr @.str2320, ptr @.str2320, ptr @.str2320, ptr @.str2320, ptr @.str2320, ptr @.str2320, ptr @.str2320, ptr @.str2320, ptr @.str2328, ptr @.str2328, ptr @.str2328, ptr @.str2328, ptr @.str2328, ptr @.str2328, ptr @.str2335, ptr @.str2335, ptr @.str2335, ptr @.str2335, ptr @.str2335, ptr @.str2342, ptr @.str2342, ptr @.str2342, ptr @.str2342, ptr @.str2342, ptr @.str2342, ptr @.str2352, ptr @.str2357, ptr @.str2357, ptr @.str2357, ptr @.str2357, ptr @.str2357, ptr @.str2357, ptr @.str2359, ptr @.str2359, ptr @.str2359, ptr @.str2359, ptr @.str2361, ptr @.str2361, ptr @.str2361, ptr @.str2361, ptr @.str2370, ptr @.str2370, ptr @.str2370, ptr @.str2370, ptr @.str2370, ptr @.str2372, ptr @.str2372, ptr @.str2372, ptr @.str2372, ptr @.str2372, ptr @.str2372, ptr @.str2382, ptr @.str2382, ptr @.str2382, ptr @.str2382, ptr @.str2382, ptr @.str2385, ptr @.str2401, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2419, ptr @.str2432, ptr @.str2432, ptr @.str2432, ptr @.str2432, ptr @.str2437, ptr @.str2437, ptr @.str2437, ptr @.str2437, ptr @.str2437, ptr @.str2437, ptr @.str2446, ptr @.str2446, ptr @.str2446, ptr @.str2446, ptr @.str2446, ptr @.str2446, ptr @.str2455, ptr @.str2455, ptr @.str2457, ptr @.str2457, ptr @.str2474, ptr @.str2474, ptr @.str2474, ptr @.str2474, ptr @.str2474, ptr @.str2474, ptr @.str2482, ptr @.str2483, ptr @.str2483, ptr @.str2483, ptr @.str2483, ptr @.str2483, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2508, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2521, ptr @.str2535, ptr @.str2535, ptr @.str2535, ptr @.str2535, ptr @.str2535, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2543, ptr @.str2564, ptr @.str2564, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2572, ptr @.str2600, ptr @.str2600, ptr @.str2600, ptr @.str2600, ptr @.str2600, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2608, ptr @.str2686, ptr @.str2686, ptr @.str2686, ptr @.str2686, ptr @.str2686, ptr @.str2686, ptr @.str2686, ptr @.str2686, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2704, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2759, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2793, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2814, ptr @.str2826, ptr @.str2832, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2837, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2844, ptr @.str2895, ptr @.str2895, ptr @.str2895, ptr @.str2895, ptr @.str2895, ptr @.str2895, ptr @.str2895, ptr @.str2896, ptr @.str2897, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2900, ptr @.str2914, ptr @.str2914, ptr @.str2914, ptr @.str2914, ptr @.str2922, ptr @.str2928, ptr @.str2928, ptr @.str2928, ptr @.str2928, ptr @.str2928, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2936, ptr @.str2961, ptr @.str2961, ptr @.str2961, ptr @.str2961, ptr @.str2961, ptr @.str2961, ptr @.str2961, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2973, ptr @.str2980, ptr @.str2980, ptr @.str2980, ptr @.str2980, ptr @.str2980, ptr @.str2995, ptr @.str2995, ptr @.str2996, ptr @.str2996, ptr @.str2996, ptr @.str2996, ptr @.str2996, ptr @.str2996, ptr @.str3006, ptr @.str3006, ptr @.str3006, ptr @.str3006, ptr @.str3006, ptr @.str3006, ptr @.str3014, ptr @.str3014, ptr @.str3014, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3038, ptr @.str3064, ptr @.str3064, ptr @.str3065, ptr @.str3065, ptr @.str3070, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3087, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3111, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3123, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3132, ptr @.str3207, ptr @.str3207, ptr @.str3207, ptr @.str3207, ptr @.str3207, ptr @.str3207, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3228, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3246, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3266, ptr @.str3275, ptr @.str3275, ptr @.str3275, ptr @.str3275, ptr @.str3279, ptr @.str3279, ptr @.str3279, ptr @.str3291, ptr @.str3291, ptr @.str3291, ptr @.str3291, ptr @.str3291, ptr @.str3291, ptr @.str4198, ptr @.str4198, ptr @.str4198, ptr @.str4198, ptr @.str4258, ptr @.str4276, ptr @.str4278, ptr @.str4278, ptr @.str4278, ptr @.str4278, ptr @.str4293, ptr @.str4293, ptr @.str4295, ptr @.str4295, ptr @.str4295, ptr @.str4295, ptr @.str4295, ptr @.str4295, ptr @.str4295, ptr @.str4295, ptr @.str4302, ptr @.str4302, ptr @.str4302, ptr @.str4307, ptr @.str4311, ptr @.str4311, ptr @.str4311, ptr @.str4311, ptr @.str4311, ptr @.str4321, ptr @.str4330, ptr @.str4330, ptr @.str4331, ptr @.str4331, ptr @.str4331, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4337, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4350, ptr @.str4384, ptr @.str4392, ptr @.str4392, ptr @.str4392, ptr @.str4392, ptr @.str4392, ptr @.str4392, ptr @.str4392, ptr @.str4392, ptr @.str4400, ptr @.str4400, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4402, ptr @.str4424, ptr @.str4424, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4427, ptr @.str4447, ptr @.str4459, ptr @.str4459, ptr @.str4459, ptr @.str4459, ptr @.str4459, ptr @.str4459, ptr @.str4459, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4467, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4485, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4498, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4521, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4557, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4597, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4624, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4676, ptr @.str4693, ptr @.str4693, ptr @.str4693, ptr @.str4693, ptr @.str4693, ptr @.str4697, ptr @.str4697, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4702, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4753, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4766, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4799, ptr @.str4897, ptr @.str4897, ptr @.str4897, ptr @.str4897, ptr @.str4897, ptr @.str4897, ptr @.str4897, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4901, ptr @.str4917, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4918, ptr @.str4928, ptr @.str4928, ptr @.str4928, ptr @.str4928, ptr @.str4928, ptr @.str4928, ptr @.str4930, ptr @.str4930, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4932, ptr @.str4938, ptr @.str4938, ptr @.str4938, ptr @.str4938, ptr @.str4938, ptr @.str4938, ptr @.str4938, ptr @.str4938, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4953, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4977, ptr @.str4997, ptr @.str4997, ptr @.str5008, ptr @.str5008, ptr @.str5014, ptr @.str5014, ptr @.str5014, ptr @.str5014, ptr @.str5017, ptr @.str5017, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5025, ptr @.str5045, ptr @.str5047, ptr @.str5047, ptr @.str5047, ptr @.str5047, ptr @.str5047, ptr @.str5047, ptr @.str5047, ptr @.str5067, ptr @.str5067, ptr @.str5067, ptr @.str5067, ptr @.str5067, ptr @.str5067, ptr @.str5067, ptr @.str5067, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5083, ptr @.str5109, ptr @.str5109, ptr @.str5109, ptr @.str5109, ptr @.str5109, ptr @.str5112, ptr @.str5112, ptr @.str5112, ptr @.str5113, ptr @.str5115, ptr @.str5119, ptr @.str5119, ptr @.str5122, ptr @.str5122, ptr @.str5122, ptr @.str5122, ptr @.str5122, ptr @.str5122, ptr @.str5122, ptr @.str5122, ptr @.str5136, ptr @.str5136, ptr @.str5138, ptr @.str5138, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5141, ptr @.str5153, ptr @.str5153, ptr @.str5153, ptr @.str5153, ptr @.str5153, ptr @.str5153, ptr @.str5153, ptr @.str5153, ptr @.str5160, ptr @.str5160, ptr @.str5160, ptr @.str5160, ptr @.str5160, ptr @.str5160, ptr @.str5160, ptr @.str5160, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5171, ptr @.str5211, ptr @.str5212, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5215, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5288, ptr @.str5300, ptr @.str5300, ptr @.str5300, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5307, ptr @.str5331, ptr @.str5331, ptr @.str5331, ptr @.str5331, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5336, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5364, ptr @.str5382, ptr @.str5382, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5384, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5403, ptr @.str5438, ptr @.str5438, ptr @.str5442, ptr @.str5442, ptr @.str5442, ptr @.str5442, ptr @.str5442, ptr @.str5442, ptr @.str5442, ptr @.str5448, ptr @.str5448, ptr @.str5448, ptr @.str5448, ptr @.str5465, ptr @.str5465, ptr @.str5465, ptr @.str5465, ptr @.str5465, ptr @.str5465, ptr @.str5465, ptr @.str5465, ptr @.str5476, ptr @.str5476, ptr @.str5476, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5482, ptr @.str5528, ptr @.str5528, ptr @.str5528, ptr @.str5528, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5533, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5549, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5569, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5582, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5600, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5625, ptr @.str5662, ptr @.str5662, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5665, ptr @.str5700, ptr @.str5700, ptr @.str5700, ptr @.str5700, ptr @.str5700, ptr @.str5700, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5713, ptr @.str5746, ptr @.str5746, ptr @.str5754, ptr @.str5754, ptr @.str5754, ptr @.str5754, ptr @.str5754, ptr @.str5754, ptr @.str5754, ptr @.str5754, ptr @.str5759, ptr @.str5759, ptr @.str5763, ptr @.str5763, ptr @.str5763, ptr @.str5763, ptr @.str5763, ptr @.str5763, ptr @.str5763, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5770, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5799, ptr @.str5801, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5807, ptr @.str5809, ptr @.str5809, ptr @.str5809, ptr @.str5809, ptr @.str5813, ptr @.str5814, ptr @.str5814, ptr @.str5814, ptr @.str5821, ptr @.str5821, ptr @.str5832, ptr @.str5833, ptr @.str5834, ptr @.str5834, ptr @.str5834, ptr @.str5846, ptr @.str5846, ptr @.str5846, ptr @.str5850, ptr @.str5850, ptr @.str5850, ptr @.str5850, ptr @.str5865, ptr @.str5865, ptr @.str5867, ptr @.str5878, ptr @.str5878, ptr @.str5881, ptr @.str5881, ptr @.str5881, ptr @.str5884, ptr @.str5884, ptr @.str5886, ptr @.str5886, ptr @.str5886, ptr @.str5886, ptr @.str5886, ptr @.str5886, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5891, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5898, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5917, ptr @.str5922, ptr @.str5922, ptr @.str5926, ptr @.str5933, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5943, ptr @.str5956, ptr @.str5956, ptr @.str5958, ptr @.str5958, ptr @.str5958, ptr @.str5958, ptr @.str5958, ptr @.str5958, ptr @.str5958, ptr @.str5969, ptr @.str5969, ptr @.str5969, ptr @.str5973, ptr @.str5973, ptr @.str5973, ptr @.str5973, ptr @.str5973, ptr @.str5973, ptr @.str5973, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str5978, ptr @.str6002, ptr @.str6003, ptr @.str6003, ptr @.str6003, ptr @.str6009, ptr @.str6009, ptr @.str6011, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6012, ptr @.str6061, ptr @.str6061, ptr @.str6061, ptr @.str6061, ptr @.str6061, ptr @.str6064, ptr @.str6064, ptr @.str6064, ptr @.str6067, ptr @.str6069, ptr @.str6072, ptr @.str6077, ptr @.str6077, ptr @.str6077, ptr @.str6086, ptr @.str6091, ptr @.str6092, ptr @.str6124, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6126, ptr @.str6132, ptr @.str6143, ptr @.str6172, ptr @.str6172, ptr @.str6172, ptr @.str6174, ptr @.str6174, ptr @.str6201, ptr @.str6201, ptr @.str6201, ptr @.str6210, ptr @.str6213, ptr @.str6216, ptr @.str6219, ptr @.str6222, ptr @.str6223, ptr @.str6228, ptr @.str6231, ptr @.str6234, ptr @.str6234, ptr @.str6238, ptr @.str6240, ptr @.str6240, ptr @.str6240, ptr @.str6240, ptr @.str6240, ptr @.str6240, ptr @.str6250, ptr @.str6250, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6254, ptr @.str6258, ptr @.str6261, ptr @.str6261, ptr @.str6264, ptr @.str6264, ptr @.str6264, ptr @.str6264, ptr @.str6264, ptr @.str6264, ptr @.str6264, ptr @.str6289, ptr @.str6295, ptr @.str6297, ptr @.str6297, ptr @.str6297, ptr @.str6303, ptr @.str6303, ptr @.str6303, ptr @.str6307, ptr @.str6353, ptr @.str6353, ptr @.str6353, ptr @.str6353, ptr @.str6362, ptr @.str6362, ptr @.str6362, ptr @.str6362, ptr @.str6362, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6376, ptr @.str6440, ptr @.str6440, ptr @.str8410, ptr @.str8410, ptr @.str8421, ptr @.str8421, ptr @.str8424, ptr @.str8433, ptr @.str8433, ptr @.str8449, ptr @.str8449, ptr @.str8449, ptr @.str8449, ptr @.str8449, ptr @.str8449, ptr @.str8449, ptr @.str8462, ptr @.str8462, ptr @.str8462, ptr @.str8462, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8466, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8496, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8513, ptr @.str8541, ptr @.str8541, ptr @.str8541, ptr @.str8542, ptr @.str8542, ptr @.str8543, ptr @.str8543, ptr @.str8543, ptr @.str8550, ptr @.str8550, ptr @.str8550, ptr @.str8566, ptr @.str8601, ptr @.str8601, ptr @.str8601, ptr @.str8601, ptr @.str8601, ptr @.str8604, ptr @.str8604, ptr @.str8604, ptr @.str8604, ptr @.str8604, ptr @.str8618, ptr @.str8618, ptr @.str8618, ptr @.str8618, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8663, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8759, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8795, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8810, ptr @.str8854, ptr @.str8854, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8863, ptr @.str8877, ptr @.str8880, ptr @.str8880, ptr @.str8880, ptr @.str8880, ptr @.str8880, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8885, ptr @.str8906, ptr @.str8912, ptr @.str8928, ptr @.str8928, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9002, ptr @.str9111, ptr @.str9111, ptr @.str9111, ptr @.str9119, ptr @.str9119, ptr @.str9119, ptr @.str9125, ptr @.str9125, ptr @.str9125, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9132, ptr @.str9151, ptr @.str9151, ptr @.str9155, ptr @.str9155, ptr @.str9161, ptr @.str9161, ptr @.str9161, ptr @.str9161, ptr @.str9161, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9168, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9176, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9210, ptr @.str9218, ptr @.str9218, ptr @.str9218, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9228, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9233, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9240, ptr @.str9251, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9253, ptr @.str9261, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9268, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9305, ptr @.str9349, ptr @.str9349, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9358, ptr @.str9436, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9439, ptr @.str9520, ptr @.str9520, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9565, ptr @.str9769, ptr @.str9769, ptr @.str9769, ptr @.str9769, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9777, ptr @.str9800, ptr @.str9800, ptr @.str9800, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9807, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9834, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9861, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9889, ptr @.str9906, ptr @.str9906, ptr @.str9906, ptr @.str9906, ptr @.str9911, ptr @.str9911, ptr @.str9911, ptr @.str9911, ptr @.str9916, ptr @.str9916, ptr @.str9916, ptr @.str9916, ptr @.str9916, ptr @.str9916, ptr @.str9916, ptr @.str9916, ptr @.str9926, ptr @.str9926, ptr @.str9930, ptr @.str9930, ptr @.str9936, ptr @.str9936, ptr @.str9940, ptr @.str9940, ptr @.str9946, ptr @.str9946, ptr @.str9946, ptr @.str9946, ptr @.str9946, ptr @.str9946, ptr @.str9982, ptr @.str9982, ptr @.str9982, ptr @.str9982, ptr @.str9982, ptr @.str9982, ptr @.str9982, ptr @.str9989, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str9992, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10004, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10021, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10036, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10054, ptr @.str10068, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10070, ptr @.str10260, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10270, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10303, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10314, ptr @.str10325, ptr @.str10325, ptr @.str10325, ptr @.str10325, ptr @.str10325, ptr @.str10325, ptr @.str10330, ptr @.str10330, ptr @.str10330, ptr @.str10330, ptr @.str10330, ptr @.str10330, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10379, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10751, ptr @.str10760, ptr @.str10760, ptr @.str10760, ptr @.str10760, ptr @.str10765, ptr @.str10765, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10799, ptr @.str10887, ptr @.str10887, ptr @.str10887, ptr @.str10887, ptr @.str10887, ptr @.str10887, ptr @.str10887, ptr @.str10887, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str10927, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11039, ptr @.str11060, ptr @.str11060, ptr @.str11060, ptr @.str11060, ptr @.str11060, ptr @.str11060, ptr @.str11060, ptr @.str11067, ptr @.str11067, ptr @.str11067, ptr @.str11067, ptr @.str11067, ptr @.str11067, ptr @.str11067, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11103, ptr @.str11184, ptr @.str11184, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11189, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11772, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11789, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11809, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str11953, ptr @.str12232, ptr @.str12232, ptr @.str12232, ptr @.str12232, ptr @.str12232, ptr @.str12232, ptr @.str12232, ptr @.str12232, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12333, ptr @.str12507, ptr @.str12507, ptr @.str12507, ptr @.str12507, ptr @.str12507, ptr @.str12507, ptr @.str12507, ptr @.str12524, ptr @.str12524, ptr @.str12524, ptr @.str12524, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12533, ptr @.str12592, ptr @.str12592, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12623, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12759, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str12846, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13086, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13139, ptr @.str13166, ptr @.str13166, ptr @.str13166, ptr @.str13166, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13344, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13732, ptr @.str13763, ptr @.str13763, ptr @.str13763, ptr @.str13763, ptr @.str13763, ptr @.str13763, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13786, ptr @.str13821, ptr @.str13821, ptr @.str13821, ptr @.str13821, ptr @.str13821, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13825, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str13853, ptr @.str14076, ptr @.str14076, ptr @.str14076, ptr @.str14076, ptr @.str14076, ptr @.str14076, ptr @.str14076, ptr @.str14076, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14094, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14541, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14569, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14612, ptr @.str14623, ptr @.str14623, ptr @.str14623, ptr @.str14623, ptr @.str14623, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14632, ptr @.str14709, ptr @.str14709, ptr @.str14709, ptr @.str14709, ptr @.str14709, ptr @.str14709, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14718, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14818, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14829, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14849, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str14957, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15028, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15056, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15084, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15105, ptr @.str15191, ptr @.str15191, ptr @.str15191, ptr @.str15191, ptr @.str15191, ptr @.str15191, ptr @.str15198, ptr @.str15198, ptr @.str15198, ptr @.str15198, ptr @.str15198, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15222, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15290, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15334, ptr @.str15508, ptr @.str15508, ptr @.str15508, ptr @.str15508, ptr @.str15508, ptr @.str15508, ptr @.str15508, ptr @.str15527, ptr @.str15527, ptr @.str15527, ptr @.str15527, ptr @.str15527, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15532, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15541, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15560, ptr @.str15911, ptr @.str15911, ptr @.str15911, ptr @.str15911, ptr @.str15917, ptr @.str15917, ptr @.str15917, ptr @.str15917, ptr @.str15917, ptr @.str15917, ptr @.str15917, ptr @.str15917, ptr @.str15937, ptr @.str15937, ptr @.str15937, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15956, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str15973, ptr @.str16019, ptr @.str16027, ptr @.str16027, ptr @.str16027, ptr @.str16027, ptr @.str16027, ptr @.str16042, ptr @.str16042, ptr @.str16042, ptr @.str16042, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16047, ptr @.str16115, ptr @.str16115, ptr @.str16115, ptr @.str16115, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16120, ptr @.str16162, ptr @.str16162, ptr @.str16162, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16166, ptr @.str16235, ptr @.str16235, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16238, ptr @.str16258, ptr @.str16258, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16262, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16304, ptr @.str16361, ptr @.str16361, ptr @.str16361, ptr @.str16367, ptr @.str16367, ptr @.str16370, ptr @.str16370, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16376, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16403, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16449, ptr @.str16498, ptr @.str16498, ptr @.str16498, ptr @.str16498, ptr @.str16500, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16503, ptr @.str16597, ptr @.str16597, ptr @.str16597, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16604, ptr @.str16801, ptr @.str16801, ptr @.str16801, ptr @.str16801, ptr @.str16801, ptr @.str16801, ptr @.str16801, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str16825, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17416, ptr @.str17480, ptr @.str17480, ptr @.str17480, ptr @.str17480, ptr @.str17484, ptr @.str17484, ptr @.str17484, ptr @.str17484, ptr @.str17484, ptr @.str17485, ptr @.str17488, ptr @.str17488, ptr @.str17488, ptr @.str17488, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17494, ptr @.str17530, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17532, ptr @.str17551, ptr @.str17551, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17559, ptr @.str17568, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17574, ptr @.str17601, ptr @.str17620, ptr @.str17620, ptr @.str17620, ptr @.str17620, ptr @.str17624, ptr @.str17624, ptr @.str17624, ptr @.str17624, ptr @.str17628, ptr @.str17629, ptr @.str17629, ptr @.str17629, ptr @.str17629, ptr @.str17633, ptr @.str17665, ptr @.str17665, ptr @.str17678, ptr @.str17678, ptr @.str17678, ptr @.str17678, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17680, ptr @.str17709, ptr @.str17709, ptr @.str17709, ptr @.str17709, ptr @.str17709, ptr @.str17748, ptr @.str17748, ptr @.str17748, ptr @.str17752, ptr @.str17752, ptr @.str17779, ptr @.str17779, ptr @.str17794, ptr @.str17794, ptr @.str17794, ptr @.str17794, ptr @.str17794, ptr @.str17809, ptr @.str17809, ptr @.str17809, ptr @.str17809, ptr @.str17809, ptr @.str17809, ptr @.str17809, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17826, ptr @.str17851, ptr @.str17851, ptr @.str17851, ptr @.str17851, ptr @.str17864, ptr @.str17864, ptr @.str17864, ptr @.str17864, ptr @.str17865, ptr @.str17865, ptr @.str17865, ptr @.str17865, ptr @.str17865, ptr @.str17865, ptr @.str17882, ptr @.str17882, ptr @.str17882, ptr @.str17882, ptr @.str17882, ptr @.str17984, ptr @.str17984, ptr @.str17984, ptr @.str17984, ptr @.str17990, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str17995, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18015, ptr @.str18055, ptr @.str18055, ptr @.str18061, ptr @.str18061, ptr @.str18061, ptr @.str18061, ptr @.str18061, ptr @.str18061, ptr @.str18081, ptr @.str18081, ptr @.str18081, ptr @.str18081, ptr @.str18081, ptr @.str18090, ptr @.str18090, ptr @.str18090, ptr @.str18090, ptr @.str18090, ptr @.str18090, ptr @.str18101, ptr @.str18102, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18103, ptr @.str18106, ptr @.str18106, ptr @.str18106, ptr @.str18106, ptr @.str18125, ptr @.str18125, ptr @.str18125, ptr @.str18125, ptr @.str18131, ptr @.str18131, ptr @.str18131, ptr @.str18131, ptr @.str18133, ptr @.str18137, ptr @.str18140, ptr @.str18140, ptr @.str18146, ptr @.str18147, ptr @.str18147, ptr @.str18147, ptr @.str18147, ptr @.str18147, ptr @.str18178, ptr @.str18183, ptr @.str18183, ptr @.str18183, ptr @.str18193, ptr @.str18193, ptr @.str18193, ptr @.str18193, ptr @.str18193, ptr @.str18193, ptr @.str18193, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18210, ptr @.str18239, ptr @.str18239, ptr @.str18239, ptr @.str18239, ptr @.str18239, ptr @.str18276, ptr @.str18276, ptr @.str18276, ptr @.str18286, ptr @.str18286, ptr @.str18286, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18297, ptr @.str18328, ptr @.str18328, ptr @.str18328, ptr @.str18349, ptr @.str18349, ptr @.str18349, ptr @.str18349, ptr @.str18349, ptr @.str18349, ptr @.str18365, ptr @.str18365, ptr @.str18365, ptr @.str18405, ptr @.str18405, ptr @.str18405, ptr @.str18422, ptr @.str18422, ptr @.str18422, ptr @.str18443, ptr @.str18443, ptr @.str18443, ptr @.str18465, ptr @.str18465, ptr @.str18465, ptr @.str18465, ptr @.str18465, ptr @.str18500, ptr @.str18500, ptr @.str18510, ptr @.str18510, ptr @.str18513, ptr @.str18513, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18514, ptr @.str18544, ptr @.str18544, ptr @.str18544, ptr @.str18544, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18581, ptr @.str18611, ptr @.str18611, ptr @.str18611, ptr @.str18611, ptr @.str18611, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18618, ptr @.str18626, ptr @.str18626, ptr @.str18643, ptr @.str18643, ptr @.str18702, ptr @.str18702, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18708, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18721, ptr @.str18753, ptr @.str18753, ptr @.str18753, ptr @.str18763, ptr @.str18763, ptr @.str18763, ptr @.str18763, ptr @.str18763, ptr @.str18763, ptr @.str18763, ptr @.str18763, ptr @.str18776, ptr @.str18776, ptr @.str18791, ptr @.str18791, ptr @.str18810, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18850, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18867, ptr @.str18891, ptr @.str18891, ptr @.str18891, ptr @.str18891, ptr @.str18891, ptr @.str18891, ptr @.str18912, ptr @.str18912, ptr @.str18914, ptr @.str18914, ptr @.str18917, ptr @.str18917, ptr @.str18919, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18925, ptr @.str18964, ptr @.str18964, ptr @.str18964, ptr @.str18964, ptr @.str18964, ptr @.str18964, ptr @.str18964, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19011, ptr @.str19022, ptr @.str19022, ptr @.str19022, ptr @.str19022, ptr @.str19022, ptr @.str19022, ptr @.str19022, ptr @.str19022, ptr @.str19041, ptr @.str19041, ptr @.str19046, ptr @.str19046, ptr @.str19077, ptr @.str19077, ptr @.str19077, ptr @.str19089, ptr @.str19089, ptr @.str19089, ptr @.str19089, ptr @.str19097, ptr @.str19097, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19101, ptr @.str19132, ptr @.str19132, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19144, ptr @.str19173, ptr @.str19234, ptr @.str19234, ptr @.str19234, ptr @.str19234, ptr @.str19239, ptr @.str19239, ptr @.str19239, ptr @.str19239, ptr @.str19239, ptr @.str19239, ptr @.str19239, ptr @.str19248, ptr @.str19248, ptr @.str19248, ptr @.str19253, ptr @.str19253, ptr @.str19253, ptr @.str19253, ptr @.str19253, ptr @.str19253, ptr @.str19253, ptr @.str19253, ptr @.str19273, ptr @.str19273, ptr @.str19273, ptr @.str19273, ptr @.str19273, ptr @.str19281, ptr @.str19281, ptr @.str19283, ptr @.str19283, ptr @.str19284, ptr @.str19284, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19288, ptr @.str19319, ptr @.str19319, ptr @.str19319, ptr @.str19319, ptr @.str19324, ptr @.str19324, ptr @.str19324, ptr @.str19325, ptr @.str19333, ptr @.str19333, ptr @.str19337, ptr @.str19337, ptr @.str19337, ptr @.str19337, ptr @.str19337, ptr @.str19351, ptr @.str19359, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19364, ptr @.str19378, ptr @.str19378, ptr @.str19405, ptr @.str19405, ptr @.str19426, ptr @.str19426, ptr @.str19426, ptr @.str19426, ptr @.str19426, ptr @.str19426, ptr @.str19426, ptr @.str19448, ptr @.str19448, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19457, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19473, ptr @.str19506, ptr @.str19506, ptr @.str19506, ptr @.str19506, ptr @.str19506, ptr @.str19506, ptr @.str19524, ptr @.str19524, ptr @.str19524, ptr @.str19524, ptr @.str19524, ptr @.str19586, ptr @.str19586, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19608, ptr @.str19622, ptr @.str19622, ptr @.str19680, ptr @.str19680, ptr @.str19680, ptr @.str19680, ptr @.str19680, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19687, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19713, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19752, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19787, ptr @.str19883, ptr @.str19885, ptr @.str19885, ptr @.str19885, ptr @.str19885, ptr @.str19885, ptr @.str19930, ptr @.str19943, ptr @.str19943, ptr @.str19946, ptr @.str19946, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19950, ptr @.str19971, ptr @.str19971, ptr @.str19971, ptr @.str19971, ptr @.str19971, ptr @.str19996, ptr @.str19996, ptr @.str19996, ptr @.str19996, ptr @.str19996, ptr @.str19996, ptr @.str20022, ptr @.str20022, ptr @.str20022, ptr @.str20022, ptr @.str20041, ptr @.str20041, ptr @.str20041, ptr @.str20041, ptr @.str20041, ptr @.str20041, ptr @.str20041, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20085, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20131, ptr @.str20156, ptr @.str20156, ptr @.str20165, ptr @.str20165, ptr @.str20165, ptr @.str20165, ptr @.str20165, ptr @.str20165, ptr @.str20191, ptr @.str20191, ptr @.str20191, ptr @.str20191, ptr @.str20252, ptr @.str20252, ptr @.str20252, ptr @.str20252, ptr @.str20252, ptr @.str20252, ptr @.str20280, ptr @.str20280, ptr @.str20355, ptr @.str20355, ptr @.str20355, ptr @.str20355, ptr @.str20355, ptr @.str20355, ptr @.str20355, ptr @.str20355, ptr @.str20393, ptr @.str20393, ptr @.str20393, ptr @.str20393, ptr @.str20393, ptr @.str20413, ptr @.str20413, ptr @.str20413, ptr @.str20413, ptr @.str20413, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20428, ptr @.str20502, ptr @.str20502, ptr @.str20540, ptr @.str20540, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20627, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str20825, ptr @.str21151, ptr @.str21151, ptr @.str21151, ptr @.str21151, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21222, ptr @.str21305, ptr @.str21307, ptr @.str21307, ptr @.str21307, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21311, ptr @.str21338, ptr @.str21338, ptr @.str21338, ptr @.str21338, ptr @.str21338, ptr @.str21338, ptr @.str21338, ptr @.str21356, ptr @.str21356, ptr @.str21356, ptr @.str21356, ptr @.str21411, ptr @.str21411, ptr @.str21411, ptr @.str21411, ptr @.str21411, ptr @.str21427, ptr @.str21427, ptr @.str21427, ptr @.str21427, ptr @.str21427, ptr @.str21444, ptr @.str21444, ptr @.str21444, ptr @.str21444, ptr @.str21444, ptr @.str21444, ptr @.str21503, ptr @.str21503, ptr @.str21503, ptr @.str21503, ptr @.str21503, ptr @.str21503, ptr @.str21503, ptr @.str21503, ptr @.str21515, ptr @.str21542, ptr @.str21690, ptr @.str21690, ptr @.str21724, ptr @.str21724, ptr @.str21724, ptr @.str21724, ptr @.str21724, ptr @.str21724, ptr @.str21724, ptr @.str21724, ptr @.str21736, ptr @.str21736, ptr @.str21738, ptr @.str21738, ptr @.str21738, ptr @.str21738, ptr @.str21744, ptr @.str21753, ptr @.str21753, ptr @.str21774, ptr @.str21774, ptr @.str21774, ptr @.str21774, ptr @.str21774, ptr @.str21774, ptr @.str21774, ptr @.str21774, ptr @.str21818, ptr @.str21818, ptr @.str21818, ptr @.str21818, ptr @.str21818, ptr @.str21848, ptr @.str21848, ptr @.str21859, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str21883, ptr @.str22025, ptr @.str22025, ptr @.str22025, ptr @.str22025, ptr @.str22025, ptr @.str22025, ptr @.str22025, ptr @.str22025, ptr @.str22038, ptr @.str22038, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22040, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22047, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22072, ptr @.str22118, ptr @.str22118, ptr @.str22121, ptr @.str22128, ptr @.str22128, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22132, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22141, ptr @.str22162, ptr @.str22162, ptr @.str22164, ptr @.str22165, ptr @.str22165, ptr @.str22168, ptr @.str22171, ptr @.str22172, ptr @.str22173, ptr @.str22175, ptr @.str22175, ptr @.str22175, ptr @.str22175, ptr @.str22175, ptr @.str22180, ptr @.str22180, ptr @.str22180, ptr @.str22186, ptr @.str22186, ptr @.str22186, ptr @.str22193, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22194, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215, ptr @.str22215] @lp_site_file = global [9064 x ptr] [ptr @.str22387, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1, ptr @.str1] @lp_site_kind = global [9064 x ptr] [ptr @.str22388, ptr @.str2, ptr @.str2, ptr @.str2, ptr @.str4, ptr @.str2, ptr @.str6, ptr @.str9, ptr @.str2, ptr @.str11, ptr @.str12, ptr @.str17, ptr @.str6, ptr @.str2, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str30, ptr @.str2, ptr @.str2, ptr @.str22, ptr @.str34, ptr @.str22, ptr @.str2, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str2, ptr @.str6, ptr @.str2, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str2, ptr @.str90, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str2, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str6, ptr @.str2, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str12, ptr @.str76, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str2, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str34, ptr @.str763, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str34, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str2, ptr @.str2, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str4332, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str4332, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str76, ptr @.str4332, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str34, ptr @.str12, ptr @.str6, ptr @.str76, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str2, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str4332, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str4332, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str12, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str5800, ptr @.str76, ptr @.str4332, ptr @.str76, ptr @.str76, ptr @.str4332, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str6, ptr @.str2, ptr @.str34, ptr @.str5835, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str6070, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str6127, ptr @.str6127, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str4332, ptr @.str519, ptr @.str4332, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str4332, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str11, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str11, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str11, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str9, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str4332, ptr @.str9269, ptr @.str9269, ptr @.str6, ptr @.str519, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str11, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str11, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str20, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str2, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str519, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str519, ptr @.str6, ptr @.str519, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str519, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str6, ptr @.str11, ptr @.str12, ptr @.str6, ptr @.str11, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str6, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str12, ptr @.str6, ptr @.str76, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str6, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str6, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str12, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str12, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str22048, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str2, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str22, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str34, ptr @.str20, ptr @.str34, ptr @.str34, ptr @.str2, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str4332, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str12, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str4332, ptr @.str76, ptr @.str4332, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str4332, ptr @.str519, ptr @.str76, ptr @.str4332, ptr @.str76, ptr @.str76, ptr @.str4332, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str22203, ptr @.str6127, ptr @.str22203, ptr @.str6127, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str22203, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str6127, ptr @.str6127, ptr @.str22204, ptr @.str22203, ptr @.str22203, ptr @.str6127, ptr @.str22203, ptr @.str6127, ptr @.str12, ptr @.str519, ptr @.str22203, ptr @.str9269, ptr @.str9269, ptr @.str9269, ptr @.str22204, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str12, ptr @.str6127, ptr @.str6127, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str4332, ptr @.str519, ptr @.str519, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str12, ptr @.str12, ptr @.str4332, ptr @.str4332, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str519, ptr @.str519, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str12, ptr @.str519, ptr @.str519, ptr @.str12, ptr @.str4332, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str519, ptr @.str519, ptr @.str76, ptr @.str519, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str9269, ptr @.str9269, ptr @.str9269, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str4332, ptr @.str4332, ptr @.str519, ptr @.str76, ptr @.str9269, ptr @.str519, ptr @.str9269, ptr @.str9269, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str4332, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str4332, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str519, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str76, ptr @.str76, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str12, ptr @.str76, ptr @.str12, ptr @.str76, ptr @.str6, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str34, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str20, ptr @.str9, ptr @.str20, ptr @.str20] @lp_site_line = global [9064 x i32] [i32 0, i32 23, i32 28, i32 39, i32 55, i32 57, i32 64, i32 84, i32 89, i32 208, i32 210, i32 248, i32 253, i32 291, i32 292, i32 292, i32 292, i32 292, i32 292, i32 336, i32 336, i32 336, i32 336, i32 336, i32 336, i32 351, i32 375, i32 389, i32 431, i32 456, i32 461, i32 473, i32 485, i32 490, i32 491, i32 492, i32 493, i32 494, i32 495, i32 496, i32 497, i32 498, i32 499, i32 500, i32 501, i32 502, i32 503, i32 537, i32 538, i32 539, i32 540, i32 541, i32 548, i32 626, i32 630, i32 646, i32 658, i32 658, i32 687, i32 687, i32 689, i32 696, i32 699, i32 710, i32 711, i32 719, i32 769, i32 770, i32 771, i32 774, i32 775, i32 810, i32 818, i32 819, i32 828, i32 855, i32 855, i32 855, i32 855, i32 855, i32 855, i32 866, i32 866, i32 866, i32 866, i32 866, i32 877, i32 877, i32 877, i32 877, i32 877, i32 890, i32 891, i32 891, i32 892, i32 892, i32 894, i32 894, i32 894, i32 897, i32 921, i32 922, i32 932, i32 932, i32 938, i32 963, i32 965, i32 975, i32 981, i32 1000, i32 1015, i32 1041, i32 1054, i32 1159, i32 1218, i32 1228, i32 1305, i32 1317, i32 1349, i32 1351, i32 1352, i32 1399, i32 1399, i32 1403, i32 1434, i32 1454, i32 1455, i32 1456, i32 1468, i32 1468, i32 1468, i32 1472, i32 1474, i32 1478, i32 1481, i32 1482, i32 1502, i32 1515, i32 1520, i32 1546, i32 1546, i32 1564, i32 1565, i32 1565, i32 1568, i32 1568, i32 1568, i32 1610, i32 1610, i32 1674, i32 1858, i32 1867, i32 1872, i32 1875, i32 1878, i32 1879, i32 1886, i32 1886, i32 1891, i32 1891, i32 1894, i32 1894, i32 1895, i32 1895, i32 1896, i32 1896, i32 1897, i32 1897, i32 1907, i32 1909, i32 1911, i32 1933, i32 1939, i32 1939, i32 1940, i32 1943, i32 1952, i32 1953, i32 1954, i32 1955, i32 1955, i32 1956, i32 1956, i32 1958, i32 1958, i32 1959, i32 1959, i32 1959, i32 1961, i32 1963, i32 1964, i32 1965, i32 1966, i32 2015, i32 2016, i32 2017, i32 2030, i32 2030, i32 2030, i32 2039, i32 2040, i32 2041, i32 2045, i32 2049, i32 2049, i32 2049, i32 2049, i32 2063, i32 2068, i32 2078, i32 2078, i32 2083, i32 2094, i32 2100, i32 2408, i32 2409, i32 2410, i32 2411, i32 2412, i32 2413, i32 2414, i32 2415, i32 2416, i32 2419, i32 2420, i32 2421, i32 2440, i32 2447, i32 2448, i32 2449, i32 2453, i32 2453, i32 2453, i32 2454, i32 2455, i32 2455, i32 2455, i32 2456, i32 2456, i32 2456, i32 2457, i32 2457, i32 2457, i32 2458, i32 2458, i32 2458, i32 2459, i32 2459, i32 2459, i32 2460, i32 2460, i32 2460, i32 2461, i32 2461, i32 2461, i32 2462, i32 2463, i32 2464, i32 2465, i32 2530, i32 2530, i32 2539, i32 2539, i32 2553, i32 2553, i32 2553, i32 2555, i32 2555, i32 2555, i32 2555, i32 2556, i32 2556, i32 2556, i32 2565, i32 2587, i32 2607, i32 2607, i32 2625, i32 2626, i32 2638, i32 2693, i32 2694, i32 2702, i32 2723, i32 2760, i32 2760, i32 2760, i32 2760, i32 2780, i32 2780, i32 2781, i32 2781, i32 2781, i32 2781, i32 2790, i32 2790, i32 2796, i32 2797, i32 2797, i32 2800, i32 2812, i32 2818, i32 2821, i32 2821, i32 2823, i32 2823, i32 2824, i32 2825, i32 2827, i32 2827, i32 2833, i32 2833, i32 2834, i32 2837, i32 2837, i32 2839, i32 2841, i32 2844, i32 2847, i32 2848, i32 2850, i32 2875, i32 2877, i32 2878, i32 2903, i32 2906, i32 2921, i32 2931, i32 2947, i32 2951, i32 2982, i32 2983, i32 3003, i32 3007, i32 3007, i32 3007, i32 3013, i32 3019, i32 3019, i32 3044, i32 3066, i32 3066, i32 3067, i32 3068, i32 3074, i32 3075, i32 3076, i32 3077, i32 3078, i32 3081, i32 3088, i32 3098, i32 3125, i32 3126, i32 3135, i32 3135, i32 3135, i32 3136, i32 3137, i32 3138, i32 3139, i32 3140, i32 3151, i32 3164, i32 3173, i32 3173, i32 3209, i32 3209, i32 3222, i32 3222, i32 3225, i32 3225, i32 3244, i32 3244, i32 3244, i32 3244, i32 3244, i32 3245, i32 3246, i32 3269, i32 3272, i32 3273, i32 3274, i32 3275, i32 3287, i32 3288, i32 3309, i32 3314, i32 3314, i32 3314, i32 3320, i32 3321, i32 3341, i32 3346, i32 3346, i32 3359, i32 3371, i32 3371, i32 3371, i32 3371, i32 3380, i32 3380, i32 3380, i32 3384, i32 3384, i32 3384, i32 3386, i32 3386, i32 3392, i32 3392, i32 3395, i32 3395, i32 3430, i32 3440, i32 3440, i32 3445, i32 3445, i32 3462, i32 3462, i32 3464, i32 3465, i32 3475, i32 3477, i32 3478, i32 3488, i32 3488, i32 3488, i32 3502, i32 3502, i32 3502, i32 3502, i32 3505, i32 3505, i32 3505, i32 3505, i32 3507, i32 3507, i32 3507, i32 3507, i32 3507, i32 3538, i32 3539, i32 3544, i32 3545, i32 3546, i32 3547, i32 3548, i32 3557, i32 3577, i32 3577, i32 3577, i32 3577, i32 3586, i32 3586, i32 3586, i32 3588, i32 3588, i32 3588, i32 3588, i32 3588, i32 3588, i32 3594, i32 3594, i32 3594, i32 3600, i32 3600, i32 3600, i32 3600, i32 3662, i32 3662, i32 3662, i32 3662, i32 3662, i32 3662, i32 3662, i32 3662, i32 3666, i32 3667, i32 3667, i32 3667, i32 3667, i32 3667, i32 3667, i32 3669, i32 3670, i32 3670, i32 3670, i32 3671, i32 3671, i32 3671, i32 3671, i32 3671, i32 3671, i32 3672, i32 3672, i32 3672, i32 3672, i32 3672, i32 3672, i32 3672, i32 3672, i32 3774, i32 3775, i32 3776, i32 3776, i32 3776, i32 3779, i32 3786, i32 3787, i32 3791, i32 3792, i32 3806, i32 3809, i32 3841, i32 3841, i32 3869, i32 3869, i32 3878, i32 3878, i32 3886, i32 3886, i32 3982, i32 3982, i32 3982, i32 3982, i32 3982, i32 4015, i32 4016, i32 4017, i32 4017, i32 4017, i32 4040, i32 4041, i32 4042, i32 4042, i32 4042, i32 4060, i32 4060, i32 4060, i32 4060, i32 4061, i32 4061, i32 4171, i32 4171, i32 4171, i32 4171, i32 4171, i32 4171, i32 4218, i32 4227, i32 4232, i32 4238, i32 4252, i32 4253, i32 4264, i32 4277, i32 4287, i32 4315, i32 4326, i32 4327, i32 4332, i32 4359, i32 4378, i32 4383, i32 4418, i32 4419, i32 4420, i32 4432, i32 4432, i32 4432, i32 4434, i32 4435, i32 4436, i32 4437, i32 4438, i32 4439, i32 4440, i32 4441, i32 4454, i32 4467, i32 4468, i32 4469, i32 4470, i32 4471, i32 4504, i32 4504, i32 4504, i32 4504, i32 4504, i32 4504, i32 4524, i32 4524, i32 4524, i32 4524, i32 4524, i32 4524, i32 4524, i32 4524, i32 4525, i32 4525, i32 4525, i32 4525, i32 4525, i32 4525, i32 4526, i32 4529, i32 4536, i32 4536, i32 4536, i32 4536, i32 4536, i32 4536, i32 4536, i32 4536, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4537, i32 4541, i32 4541, i32 4541, i32 4541, i32 4541, i32 4541, i32 4541, i32 4541, i32 4541, i32 4541, i32 4545, i32 4545, i32 4545, i32 4545, i32 4545, i32 4545, i32 4545, i32 4545, i32 4554, i32 4554, i32 4554, i32 4554, i32 4554, i32 4554, i32 4554, i32 4554, i32 4554, i32 4557, i32 4557, i32 4558, i32 4559, i32 4560, i32 4561, i32 4562, i32 4563, i32 4563, i32 4563, i32 4564, i32 4569, i32 4569, i32 4569, i32 4574, i32 4574, i32 4574, i32 4577, i32 4581, i32 4584, i32 4584, i32 4584, i32 4587, i32 4588, i32 4591, i32 4591, i32 4591, i32 4591, i32 4591, i32 4594, i32 4594, i32 4594, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4605, i32 4613, i32 4613, i32 4616, i32 4619, i32 4676, i32 4677, i32 4686, i32 4686, i32 4686, i32 4686, i32 4688, i32 4689, i32 4690, i32 4691, i32 4692, i32 4693, i32 4694, i32 4695, i32 4700, i32 4716, i32 4716, i32 4716, i32 4719, i32 4719, i32 4719, i32 4719, i32 4722, i32 4722, i32 4722, i32 4722, i32 4727, i32 4728, i32 4729, i32 4732, i32 4733, i32 4772, i32 4781, i32 4792, i32 4792, i32 4792, i32 4792, i32 4792, i32 4792, i32 4793, i32 4793, i32 4793, i32 4793, i32 4793, i32 4793, i32 4793, i32 4796, i32 4796, i32 4796, i32 4796, i32 4796, i32 4820, i32 4820, i32 4820, i32 4820, i32 4821, i32 4824, i32 4824, i32 4824, i32 4824, i32 4824, i32 4824, i32 4824, i32 4824, i32 4831, i32 4831, i32 4831, i32 4831, i32 4842, i32 4843, i32 4843, i32 4843, i32 4843, i32 4843, i32 4843, i32 4843, i32 4855, i32 4855, i32 4855, i32 4855, i32 4855, i32 4855, i32 4855, i32 4856, i32 4856, i32 4856, i32 4856, i32 4856, i32 4857, i32 4857, i32 4857, i32 4860, i32 4860, i32 4860, i32 4860, i32 4860, i32 4860, i32 4860, i32 4863, i32 4863, i32 4863, i32 4863, i32 4863, i32 4863, i32 4863, i32 4863, i32 4863, i32 4863, i32 4865, i32 4865, i32 4865, i32 4865, i32 4865, i32 4870, i32 4870, i32 4870, i32 4870, i32 4870, i32 4879, i32 4879, i32 4879, i32 4879, i32 4879, i32 4891, i32 4893, i32 4893, i32 4893, i32 4893, i32 4914, i32 4917, i32 4920, i32 4921, i32 4921, i32 4921, i32 4921, i32 4921, i32 4926, i32 4926, i32 4926, i32 4926, i32 4926, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4927, i32 4931, i32 4934, i32 4937, i32 4938, i32 4944, i32 4944, i32 4944, i32 4944, i32 4944, i32 4944, i32 4944, i32 4944, i32 4944, i32 4950, i32 4950, i32 4950, i32 4950, i32 4950, i32 4950, i32 4950, i32 4950, i32 4950, i32 4955, i32 4955, i32 4955, i32 4955, i32 4955, i32 4957, i32 4957, i32 4957, i32 4971, i32 4971, i32 4971, i32 4985, i32 4985, i32 4985, i32 4996, i32 4996, i32 4996, i32 4996, i32 4996, i32 4996, i32 4996, i32 5001, i32 5015, i32 5015, i32 5015, i32 5015, i32 5015, i32 5015, i32 5015, i32 5016, i32 5016, i32 5016, i32 5016, i32 5016, i32 5017, i32 5017, i32 5017, i32 5017, i32 5017, i32 5018, i32 5018, i32 5018, i32 5018, i32 5018, i32 5023, i32 5024, i32 5025, i32 5026, i32 5036, i32 5105, i32 5105, i32 5105, i32 5105, i32 5111, i32 5111, i32 5111, i32 5111, i32 5111, i32 5111, i32 5111, i32 5111, i32 5116, i32 5116, i32 5117, i32 5118, i32 5119, i32 5120, i32 5121, i32 5122, i32 5123, i32 5124, i32 5125, i32 5126, i32 5127, i32 5166, i32 5166, i32 5166, i32 5166, i32 5166, i32 5166, i32 5166, i32 5169, i32 5169, i32 5169, i32 5169, i32 5256, i32 5260, i32 5260, i32 5260, i32 5265, i32 5265, i32 5270, i32 5270, i32 5270, i32 5270, i32 5270, i32 5270, i32 5270, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5276, i32 5280, i32 5280, i32 5280, i32 5286, i32 5286, i32 5286, i32 5286, i32 5286, i32 5301, i32 5306, i32 5307, i32 5307, i32 5307, i32 5315, i32 5315, i32 5315, i32 5315, i32 5316, i32 5316, i32 5316, i32 5316, i32 5316, i32 5316, i32 5320, i32 5320, i32 5320, i32 5320, i32 5320, i32 5320, i32 5320, i32 5320, i32 5323, i32 5323, i32 5323, i32 5323, i32 5330, i32 5330, i32 5330, i32 5340, i32 5340, i32 5340, i32 5340, i32 5340, i32 5340, i32 5340, i32 5344, i32 5345, i32 5345, i32 5345, i32 5345, i32 5345, i32 5345, i32 5350, i32 5350, i32 5350, i32 5350, i32 5350, i32 5357, i32 5358, i32 5359, i32 5360, i32 5361, i32 5362, i32 5363, i32 5364, i32 5365, i32 5374, i32 5375, i32 5376, i32 5377, i32 5379, i32 5380, i32 5381, i32 5382, i32 5383, i32 5384, i32 5384, i32 5384, i32 5384, i32 5384, i32 5384, i32 5385, i32 5385, i32 5385, i32 5385, i32 5385, i32 5385, i32 5398, i32 5398, i32 5398, i32 5398, i32 5401, i32 5401, i32 5401, i32 5401, i32 5408, i32 5408, i32 5408, i32 5408, i32 5408, i32 5408, i32 5413, i32 5413, i32 5413, i32 5413, i32 5416, i32 5426, i32 5426, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5431, i32 5438, i32 5439, i32 5444, i32 5452, i32 5452, i32 5452, i32 5452, i32 5452, i32 5452, i32 5452, i32 5459, i32 5459, i32 5459, i32 5459, i32 5459, i32 5459, i32 5459, i32 5465, i32 5503, i32 5513, i32 5532, i32 5532, i32 5532, i32 5544, i32 5544, i32 5544, i32 5544, i32 5544, i32 5548, i32 5548, i32 5548, i32 5549, i32 5549, i32 5549, i32 5549, i32 5549, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5550, i32 5551, i32 5551, i32 5551, i32 5551, i32 5551, i32 5551, i32 5552, i32 5552, i32 5568, i32 5568, i32 5568, i32 5568, i32 5577, i32 5577, i32 5578, i32 5578, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5579, i32 5588, i32 5593, i32 5593, i32 5593, i32 5593, i32 5596, i32 5596, i32 5596, i32 5596, i32 5596, i32 5596, i32 5597, i32 5597, i32 5597, i32 5597, i32 5597, i32 5597, i32 5597, i32 5597, i32 5598, i32 5598, i32 5598, i32 5599, i32 5600, i32 5601, i32 5610, i32 5622, i32 5632, i32 5637, i32 5637, i32 5637, i32 5637, i32 5644, i32 5645, i32 5645, i32 5645, i32 5645, i32 5645, i32 5649, i32 5649, i32 5649, i32 5649, i32 5649, i32 5649, i32 5649, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5663, i32 5668, i32 5668, i32 5668, i32 5671, i32 5671, i32 5671, i32 5671, i32 5671, i32 5681, i32 5681, i32 5681, i32 5681, i32 5685, i32 5685, i32 5685, i32 5685, i32 5685, i32 5692, i32 5692, i32 5692, i32 5692, i32 5692, i32 5761, i32 5763, i32 5773, i32 5773, i32 5779, i32 5780, i32 5780, i32 5781, i32 5781, i32 5784, i32 5787, i32 5787, i32 5798, i32 5801, i32 5801, i32 5802, i32 5802, i32 5806, i32 5819, i32 5824, i32 5827, i32 5828, i32 5836, i32 5840, i32 5848, i32 5850, i32 5850, i32 5855, i32 5855, i32 5855, i32 5866, i32 5876, i32 5877, i32 5878, i32 5878, i32 5879, i32 5885, i32 5890, i32 5890, i32 5890, i32 5893, i32 5897, i32 5897, i32 5897, i32 5899, i32 5899, i32 5899, i32 5913, i32 5956, i32 5957, i32 5958, i32 5959, i32 5962, i32 5963, i32 5974, i32 5975, i32 5976, i32 5977, i32 5986, i32 5987, i32 5988, i32 5989, i32 6013, i32 6013, i32 6014, i32 6015, i32 6016, i32 6021, i32 6021, i32 6023, i32 6023, i32 6027, i32 6027, i32 6040, i32 6041, i32 6042, i32 6043, i32 6043, i32 6049, i32 6079, i32 6118, i32 6118, i32 6118, i32 6118, i32 6118, i32 6118, i32 6118, i32 6118, i32 6119, i32 6123, i32 6124, i32 6124, i32 6135, i32 6136, i32 6137, i32 6144, i32 6156, i32 6171, i32 6172, i32 6173, i32 6174, i32 6178, i32 6207, i32 6207, i32 6208, i32 6208, i32 6208, i32 6208, i32 6223, i32 6223, i32 6231, i32 6238, i32 6286, i32 6286, i32 6286, i32 6286, i32 6287, i32 6287, i32 6292, i32 6296, i32 6301, i32 6301, i32 6318, i32 6318, i32 6327, i32 6328, i32 6336, i32 6338, i32 6342, i32 6342, i32 6342, i32 6345, i32 6347, i32 6355, i32 6356, i32 6356, i32 6356, i32 6357, i32 6357, i32 6357, i32 6362, i32 6362, i32 6362, i32 6371, i32 6372, i32 6372, i32 6375, i32 6381, i32 6384, i32 6395, i32 6396, i32 6399, i32 6408, i32 6408, i32 6408, i32 6408, i32 6408, i32 6435, i32 6440, i32 6449, i32 6449, i32 6449, i32 6449, i32 6449, i32 6449, i32 6449, i32 6471, i32 6472, i32 6492, i32 6492, i32 6492, i32 6492, i32 6492, i32 6493, i32 6493, i32 6493, i32 6493, i32 6493, i32 6505, i32 6505, i32 6506, i32 6506, i32 6506, i32 6519, i32 6519, i32 6521, i32 6521, i32 6521, i32 6533, i32 6534, i32 6539, i32 6539, i32 6540, i32 6540, i32 6541, i32 6541, i32 6547, i32 6549, i32 6549, i32 6549, i32 6553, i32 6554, i32 6554, i32 6554, i32 6554, i32 6554, i32 6554, i32 6554, i32 6575, i32 6575, i32 6579, i32 6579, i32 6580, i32 6580, i32 6580, i32 6580, i32 6580, i32 6584, i32 6584, i32 6584, i32 6584, i32 6584, i32 6584, i32 6584, i32 6584, i32 6584, i32 6585, i32 6585, i32 6585, i32 6585, i32 6585, i32 6585, i32 6585, i32 6585, i32 6585, i32 6586, i32 6586, i32 6586, i32 6586, i32 6586, i32 6586, i32 6586, i32 6586, i32 6586, i32 6587, i32 6587, i32 6587, i32 6587, i32 6587, i32 6587, i32 6587, i32 6587, i32 6587, i32 6591, i32 6591, i32 6594, i32 6594, i32 6594, i32 6594, i32 6594, i32 6594, i32 6594, i32 6594, i32 6594, i32 6601, i32 6602, i32 6607, i32 6607, i32 6608, i32 6608, i32 6609, i32 6609, i32 6617, i32 6618, i32 6626, i32 6626, i32 6626, i32 6626, i32 6626, i32 6636, i32 6636, i32 6644, i32 6645, i32 6645, i32 6645, i32 6645, i32 6645, i32 6645, i32 6647, i32 6647, i32 6647, i32 6647, i32 6647, i32 6652, i32 6652, i32 6652, i32 6652, i32 6652, i32 6652, i32 6652, i32 6655, i32 6655, i32 6655, i32 6655, i32 6655, i32 6655, i32 6667, i32 6667, i32 6671, i32 6672, i32 6672, i32 6672, i32 6672, i32 6672, i32 6672, i32 6672, i32 6672, i32 6675, i32 6675, i32 6675, i32 6675, i32 6675, i32 6675, i32 6675, i32 6694, i32 6695, i32 6700, i32 6700, i32 6700, i32 6700, i32 6702, i32 6703, i32 6703, i32 6703, i32 6703, i32 6703, i32 6703, i32 6703, i32 6722, i32 6722, i32 6723, i32 6723, i32 6724, i32 6724, i32 6724, i32 6724, i32 6724, i32 6724, i32 6724, i32 6724, i32 6724, i32 6736, i32 6750, i32 6768, i32 6768, i32 6768, i32 6768, i32 6768, i32 6768, i32 6768, i32 6768, i32 6768, i32 6781, i32 6784, i32 6791, i32 6791, i32 6791, i32 6792, i32 6792, i32 6792, i32 6792, i32 6792, i32 6792, i32 6792, i32 6792, i32 6792, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6806, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6809, i32 6820, i32 6867, i32 6868, i32 6869, i32 6870, i32 6871, i32 6872, i32 6873, i32 6878, i32 6891, i32 6909, i32 6909, i32 6909, i32 6909, i32 6914, i32 6914, i32 6914, i32 6914, i32 6924, i32 6925, i32 6926, i32 6927, i32 6928, i32 6929, i32 6930, i32 6931, i32 6934, i32 6946, i32 6946, i32 6953, i32 6953, i32 6987, i32 6998, i32 6998, i32 6998, i32 6998, i32 6998, i32 7019, i32 7033, i32 7033, i32 7033, i32 7033, i32 7037, i32 7042, i32 7042, i32 7042, i32 7042, i32 7042, i32 7042, i32 7050, i32 7059, i32 7060, i32 7060, i32 7064, i32 7077, i32 7078, i32 7078, i32 7078, i32 7078, i32 7078, i32 7078, i32 7122, i32 7122, i32 7122, i32 7122, i32 7122, i32 7122, i32 7122, i32 7122, i32 7122, i32 7122, i32 7138, i32 7140, i32 7145, i32 7153, i32 7174, i32 7223, i32 7224, i32 7228, i32 7229, i32 7230, i32 7231, i32 7232, i32 7233, i32 7267, i32 7271, i32 7281, i32 7284, i32 7285, i32 7292, i32 7295, i32 7295, i32 7296, i32 7312, i32 7312, i32 7312, i32 7312, i32 7318, i32 7318, i32 7318, i32 7318, i32 7321, i32 7321, i32 7344, i32 7345, i32 7351, i32 7352, i32 7366, i32 7400, i32 7400, i32 7400, i32 7400, i32 7400, i32 7400, i32 7400, i32 7400, i32 7400, i32 7400, i32 7412, i32 7412, i32 7412, i32 7412, i32 7412, i32 7412, i32 7412, i32 7412, i32 7414, i32 7414, i32 7414, i32 7414, i32 7418, i32 7418, i32 7418, i32 7421, i32 7421, i32 7421, i32 7421, i32 7421, i32 7423, i32 7423, i32 7423, i32 7427, i32 7427, i32 7427, i32 7434, i32 7435, i32 7435, i32 7435, i32 7435, i32 7435, i32 7435, i32 7435, i32 7436, i32 7436, i32 7436, i32 7436, i32 7436, i32 7436, i32 7436, i32 7436, i32 7471, i32 7471, i32 7471, i32 7471, i32 7474, i32 7474, i32 7526, i32 7526, i32 7526, i32 7526, i32 7526, i32 7526, i32 7526, i32 7526, i32 7529, i32 7529, i32 7529, i32 7529, i32 7535, i32 7535, i32 7535, i32 7544, i32 7544, i32 7544, i32 7544, i32 7544, i32 7544, i32 7544, i32 7544, i32 7544, i32 7544, i32 7551, i32 7551, i32 7551, i32 7551, i32 7555, i32 7555, i32 7555, i32 7559, i32 7559, i32 7559, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7590, i32 7607, i32 7608, i32 7608, i32 7608, i32 7615, i32 7621, i32 7621, i32 7680, i32 7681, i32 7682, i32 7683, i32 7684, i32 7685, i32 7987, i32 7987, i32 7989, i32 7989, i32 8062, i32 8109, i32 8116, i32 8116, i32 8123, i32 8123, i32 8216, i32 8216, i32 8220, i32 8221, i32 8222, i32 8222, i32 8222, i32 8222, i32 8222, i32 8222, i32 8256, i32 8257, i32 8263, i32 8275, i32 8283, i32 8290, i32 8293, i32 8300, i32 8301, i32 8310, i32 8362, i32 8363, i32 8366, i32 8367, i32 8368, i32 8383, i32 8383, i32 8383, i32 8383, i32 8383, i32 8385, i32 8385, i32 8389, i32 8389, i32 8389, i32 8393, i32 8397, i32 8397, i32 8423, i32 8423, i32 8426, i32 8426, i32 8426, i32 8426, i32 8426, i32 8426, i32 8426, i32 8426, i32 8432, i32 8432, i32 8432, i32 8432, i32 8433, i32 8433, i32 8434, i32 8434, i32 8437, i32 8437, i32 8437, i32 8440, i32 8440, i32 8442, i32 8442, i32 8442, i32 8442, i32 8456, i32 8466, i32 8466, i32 8466, i32 8466, i32 8466, i32 8466, i32 8466, i32 8466, i32 8480, i32 8483, i32 8517, i32 8518, i32 8519, i32 8524, i32 8525, i32 8526, i32 8531, i32 8532, i32 8535, i32 8536, i32 8611, i32 8611, i32 8624, i32 8625, i32 8626, i32 8627, i32 8634, i32 8635, i32 8636, i32 8637, i32 8639, i32 8640, i32 8641, i32 8642, i32 8707, i32 8769, i32 8769, i32 8769, i32 8769, i32 8770, i32 8770, i32 8770, i32 8777, i32 8777, i32 8778, i32 8778, i32 8778, i32 8782, i32 8782, i32 8782, i32 8782, i32 8782, i32 8784, i32 8784, i32 8784, i32 8784, i32 8784, i32 8785, i32 8785, i32 8792, i32 8792, i32 8793, i32 8793, i32 8793, i32 8797, i32 8797, i32 8797, i32 8797, i32 8802, i32 8802, i32 8806, i32 8806, i32 8806, i32 8807, i32 8807, i32 8807, i32 8807, i32 8811, i32 8811, i32 8812, i32 8812, i32 8812, i32 8812, i32 8821, i32 8821, i32 8821, i32 8821, i32 8824, i32 8824, i32 8832, i32 8832, i32 8833, i32 8833, i32 8833, i32 8833, i32 8833, i32 8833, i32 8833, i32 8833, i32 8834, i32 8834, i32 8834, i32 8834, i32 8835, i32 8835, i32 8835, i32 8835, i32 8836, i32 8836, i32 8839, i32 8840, i32 8840, i32 8841, i32 8841, i32 8855, i32 8855, i32 8855, i32 8855, i32 8855, i32 8855, i32 8855, i32 8855, i32 8856, i32 8863, i32 8863, i32 8863, i32 8863, i32 8863, i32 8863, i32 8863, i32 8863, i32 8865, i32 8865, i32 8866, i32 8866, i32 8867, i32 8867, i32 8867, i32 8867, i32 8868, i32 8868, i32 8868, i32 8868, i32 8868, i32 8868, i32 8869, i32 8869, i32 8874, i32 8874, i32 8874, i32 8874, i32 8874, i32 8874, i32 8875, i32 8875, i32 8875, i32 8875, i32 8875, i32 8875, i32 8877, i32 8877, i32 8877, i32 8887, i32 8887, i32 8887, i32 8887, i32 8887, i32 8887, i32 8887, i32 8887, i32 8896, i32 8896, i32 8896, i32 8896, i32 8901, i32 8901, i32 8901, i32 8901, i32 8917, i32 8917, i32 8921, i32 8921, i32 8921, i32 8921, i32 8925, i32 8925, i32 8925, i32 8925, i32 8925, i32 8925, i32 8925, i32 8925, i32 8929, i32 8929, i32 8929, i32 8929, i32 8929, i32 8929, i32 8935, i32 8935, i32 8936, i32 8936, i32 8937, i32 8937, i32 8939, i32 8939, i32 8939, i32 8939, i32 8939, i32 8939, i32 8940, i32 8940, i32 8940, i32 8940, i32 8940, i32 8940, i32 8941, i32 8941, i32 8941, i32 8941, i32 8941, i32 8941, i32 8941, i32 8941, i32 8941, i32 8941, i32 8942, i32 8942, i32 8942, i32 8942, i32 8944, i32 8944, i32 8944, i32 8944, i32 8946, i32 8946, i32 8946, i32 8946, i32 8946, i32 8946, i32 8948, i32 8948, i32 8948, i32 8948, i32 8959, i32 8959, i32 8959, i32 8959, i32 8959, i32 8959, i32 8959, i32 8959, i32 8965, i32 8965, i32 8965, i32 8965, i32 8968, i32 8968, i32 8981, i32 8982, i32 8988, i32 8988, i32 8988, i32 8993, i32 8998, i32 9014, i32 9014, i32 9014, i32 9014, i32 9014, i32 9014, i32 9016, i32 9021, i32 9021, i32 9021, i32 9021, i32 9021, i32 9021, i32 9023, i32 9023, i32 9028, i32 9028, i32 9029, i32 9029, i32 9029, i32 9029, i32 9030, i32 9030, i32 9030, i32 9030, i32 9038, i32 9038, i32 9041, i32 9041, i32 9041, i32 9041, i32 9041, i32 9041, i32 9043, i32 9043, i32 9049, i32 9049, i32 9049, i32 9057, i32 9057, i32 9057, i32 9065, i32 9065, i32 9065, i32 9069, i32 9069, i32 9069, i32 9069, i32 9075, i32 9075, i32 9076, i32 9076, i32 9085, i32 9085, i32 9085, i32 9085, i32 9086, i32 9086, i32 9090, i32 9090, i32 9090, i32 9090, i32 9095, i32 9095, i32 9095, i32 9095, i32 9097, i32 9097, i32 9099, i32 9099, i32 9099, i32 9099, i32 9109, i32 9109, i32 9109, i32 9109, i32 9113, i32 9113, i32 9118, i32 9118, i32 9127, i32 9127, i32 9131, i32 9131, i32 9143, i32 9143, i32 9144, i32 9144, i32 9152, i32 9152, i32 9152, i32 9152, i32 9153, i32 9153, i32 9154, i32 9154, i32 9156, i32 9156, i32 9156, i32 9156, i32 9159, i32 9159, i32 9165, i32 9165, i32 9165, i32 9165, i32 9190, i32 9190, i32 9190, i32 9190, i32 9190, i32 9190, i32 9190, i32 9208, i32 9211, i32 9211, i32 9211, i32 9211, i32 9215, i32 9215, i32 9215, i32 9215, i32 9215, i32 9215, i32 9217, i32 9217, i32 9217, i32 9217, i32 9230, i32 9231, i32 9234, i32 9235, i32 9264, i32 9276, i32 9279, i32 9279, i32 9280, i32 9292, i32 9292, i32 9292, i32 9293, i32 9298, i32 9298, i32 9298, i32 9336, i32 9337, i32 9338, i32 9339, i32 9340, i32 9341, i32 9356, i32 9356, i32 9362, i32 9363, i32 9364, i32 9365, i32 9366, i32 9367, i32 9368, i32 9369, i32 9370, i32 9398, i32 9399, i32 9402, i32 9403, i32 9403, i32 9403, i32 9411, i32 9411, i32 9419, i32 9420, i32 9424, i32 9425, i32 9425, i32 9425, i32 9426, i32 9435, i32 9435, i32 9435, i32 9435, i32 9435, i32 9435, i32 9442, i32 9443, i32 9446, i32 9447, i32 9447, i32 9447, i32 9451, i32 9454, i32 9459, i32 9459, i32 9461, i32 9461, i32 9461, i32 9461, i32 9484, i32 9484, i32 9499, i32 9502, i32 9506, i32 9506, i32 9506, i32 9506, i32 9515, i32 9516, i32 9545, i32 9545, i32 9545, i32 9545, i32 9545, i32 9545, i32 9567, i32 9567, i32 9568, i32 9572, i32 9572, i32 9572, i32 9599, i32 9608, i32 9608, i32 9609, i32 9609, i32 9609, i32 9609, i32 9609, i32 9656, i32 9656, i32 9656, i32 9656, i32 9656, i32 9660, i32 9661, i32 9662, i32 9675, i32 9675, i32 9675, i32 9675, i32 9675, i32 9675, i32 9675, i32 9683, i32 9683, i32 9683, i32 9683, i32 9683, i32 9683, i32 9683, i32 9683, i32 9683, i32 9712, i32 9712, i32 9712, i32 9712, i32 9712, i32 9716, i32 9723, i32 9723, i32 9797, i32 9805, i32 9827, i32 9839, i32 9846, i32 9847, i32 9853, i32 9854, i32 9862, i32 9876, i32 9882, i32 9888, i32 9900, i32 9900, i32 9930, i32 9930, i32 9937, i32 9939, i32 9940, i32 9944, i32 9945, i32 9946, i32 9947, i32 9959, i32 9960, i32 9960, i32 9960, i32 9961, i32 9962, i32 9965, i32 9969, i32 9973, i32 9974, i32 9975, i32 9976, i32 9977, i32 9978, i32 9983, i32 9983, i32 9989, i32 9989, i32 9989, i32 9989, i32 9994, i32 9996, i32 10001, i32 10001, i32 10001, i32 10001, i32 10001, i32 10001, i32 10001, i32 10001, i32 10038, i32 10038, i32 10039, i32 10039, i32 10040, i32 10040, i32 10041, i32 10041, i32 10044, i32 10044, i32 10047, i32 10048, i32 10049, i32 10049, i32 10049, i32 10052, i32 10053, i32 10053, i32 10053, i32 10053, i32 10053, i32 10053, i32 10054, i32 10054, i32 10054, i32 10058, i32 10059, i32 10059, i32 10059, i32 10060, i32 10061, i32 10061, i32 10061, i32 10061, i32 10066, i32 10067, i32 10067, i32 10067, i32 10067, i32 10067, i32 10071, i32 10072, i32 10072, i32 10072, i32 10084, i32 10090, i32 10108, i32 10108, i32 10108, i32 10108, i32 10108, i32 10108, i32 10109, i32 10109, i32 10109, i32 10109, i32 10109, i32 10109, i32 10110, i32 10110, i32 10110, i32 10110, i32 10110, i32 10110, i32 10111, i32 10111, i32 10111, i32 10111, i32 10111, i32 10111, i32 10112, i32 10112, i32 10112, i32 10112, i32 10112, i32 10112, i32 10113, i32 10113, i32 10113, i32 10113, i32 10113, i32 10113, i32 10114, i32 10114, i32 10114, i32 10114, i32 10114, i32 10114, i32 10115, i32 10115, i32 10115, i32 10115, i32 10115, i32 10115, i32 10116, i32 10116, i32 10116, i32 10116, i32 10116, i32 10116, i32 10117, i32 10117, i32 10117, i32 10117, i32 10117, i32 10117, i32 10119, i32 10122, i32 10123, i32 10123, i32 10123, i32 10123, i32 10123, i32 10123, i32 10124, i32 10124, i32 10124, i32 10124, i32 10124, i32 10124, i32 10124, i32 10124, i32 10130, i32 10131, i32 10131, i32 10131, i32 10131, i32 10131, i32 10131, i32 10132, i32 10132, i32 10132, i32 10132, i32 10132, i32 10132, i32 10132, i32 10132, i32 10136, i32 10136, i32 10136, i32 10136, i32 10136, i32 10136, i32 10142, i32 10144, i32 10146, i32 10146, i32 10146, i32 10146, i32 10151, i32 10152, i32 10156, i32 10174, i32 10174, i32 10174, i32 10180, i32 10180, i32 10187, i32 10188, i32 10188, i32 10188, i32 10189, i32 10189, i32 10189, i32 10189, i32 10189, i32 10192, i32 10224, i32 10224, i32 10224, i32 10224, i32 10229, i32 10229, i32 10237, i32 10238, i32 10241, i32 10241, i32 10241, i32 10242, i32 10242, i32 10242, i32 10243, i32 10243, i32 10243, i32 10245, i32 10245, i32 10245, i32 10246, i32 10246, i32 10246, i32 10248, i32 10251, i32 10255, i32 10255, i32 10255, i32 10256, i32 10256, i32 10257, i32 10257, i32 10258, i32 10258, i32 10259, i32 10259, i32 10260, i32 10260, i32 10260, i32 10310, i32 10310, i32 10314, i32 10315, i32 10316, i32 10317, i32 10320, i32 10321, i32 10326, i32 10327, i32 10328, i32 10329, i32 10329, i32 10330, i32 10330, i32 10331, i32 10331, i32 10332, i32 10332, i32 10333, i32 10333, i32 10334, i32 10334, i32 10335, i32 10335, i32 10336, i32 10336, i32 10337, i32 10338, i32 10338, i32 10339, i32 10339, i32 10340, i32 10340, i32 10341, i32 10342, i32 10343, i32 10353, i32 10356, i32 10357, i32 10362, i32 10363, i32 10364, i32 10371, i32 10372, i32 10373, i32 10378, i32 10378, i32 10382, i32 10383, i32 10385, i32 10393, i32 10394, i32 10395, i32 10395, i32 10395, i32 10396, i32 10397, i32 10400, i32 10407, i32 10407, i32 10407, i32 10407, i32 10409, i32 10410, i32 10410, i32 10412, i32 10422, i32 10424, i32 10439, i32 10439, i32 10439, i32 10439, i32 10446, i32 10447, i32 10450, i32 10459, i32 10465, i32 10468, i32 10471, i32 10511, i32 10511, i32 10511, i32 10511, i32 10521, i32 10521, i32 10523, i32 10528, i32 10554, i32 10554, i32 10554, i32 10560, i32 10564, i32 10564, i32 10567, i32 10567, i32 10567, i32 10567, i32 10567, i32 10570, i32 10631, i32 10631, i32 10631, i32 10631, i32 10635, i32 10635, i32 10635, i32 10635, i32 10638, i32 10638, i32 10638, i32 10638, i32 10638, i32 10638, i32 10638, i32 10641, i32 10647, i32 10647, i32 10647, i32 10647, i32 10652, i32 10652, i32 10653, i32 10653, i32 10653, i32 10653, i32 10653, i32 10653, i32 10653, i32 10657, i32 10662, i32 10662, i32 10663, i32 10663, i32 10664, i32 10664, i32 10665, i32 10665, i32 10666, i32 10672, i32 10672, i32 10672, i32 10672, i32 10676, i32 10676, i32 10682, i32 10682, i32 10685, i32 10689, i32 10689, i32 10690, i32 10690, i32 10691, i32 10691, i32 10692, i32 10692, i32 10693, i32 10693, i32 10694, i32 10694, i32 10695, i32 10695, i32 10696, i32 10696, i32 10700, i32 10700, i32 10700, i32 10700, i32 10701, i32 10701, i32 10701, i32 10701, i32 10702, i32 10702, i32 10702, i32 10702, i32 10703, i32 10703, i32 10703, i32 10703, i32 10704, i32 10704, i32 10704, i32 10704, i32 10705, i32 10705, i32 10705, i32 10705, i32 10706, i32 10706, i32 10706, i32 10706, i32 10707, i32 10707, i32 10707, i32 10707, i32 10710, i32 10710, i32 10718, i32 10718, i32 10724, i32 10724, i32 10724, i32 10724, i32 10733, i32 10733, i32 10736, i32 10736, i32 10736, i32 10737, i32 10737, i32 10737, i32 10738, i32 10738, i32 10738, i32 10738, i32 10738, i32 10738, i32 10739, i32 10747, i32 10747, i32 10747, i32 10747, i32 10747, i32 10747, i32 10747, i32 10751, i32 10755, i32 10755, i32 10755, i32 10757, i32 10757, i32 10757, i32 10767, i32 10768, i32 10770, i32 10770, i32 10780, i32 10780, i32 10780, i32 10780, i32 10781, i32 10781, i32 10781, i32 10781, i32 10781, i32 10781, i32 10781, i32 10781, i32 10781, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10782, i32 10784, i32 10785, i32 10786, i32 10793, i32 10795, i32 10796, i32 10797, i32 10803, i32 10803, i32 10816, i32 10818, i32 10818, i32 10820, i32 10822, i32 10822, i32 10823, i32 10823, i32 10834, i32 10841, i32 10849, i32 10849, i32 10849, i32 10849, i32 10849, i32 10849, i32 10849, i32 10857, i32 10857, i32 10857, i32 10857, i32 10862, i32 10862, i32 10862, i32 10862, i32 10862, i32 10862, i32 10862, i32 10864, i32 10864, i32 10864, i32 10864, i32 10864, i32 10868, i32 10911, i32 10913, i32 10914, i32 10915, i32 10916, i32 10917, i32 10918, i32 10919, i32 10920, i32 10921, i32 10927, i32 10946, i32 10947, i32 10950, i32 10951, i32 10952, i32 10953, i32 10954, i32 10955, i32 10956, i32 10957, i32 10981, i32 10982, i32 10984, i32 10985, i32 11007, i32 11028, i32 11029, i32 11029, i32 11084, i32 11087, i32 11187, i32 11198, i32 11206, i32 11207, i32 11210, i32 11249, i32 11250, i32 11255, i32 11267, i32 11276, i32 11276, i32 11276, i32 11291, i32 11291, i32 11295, i32 11316, i32 11316, i32 11326, i32 11326, i32 11329, i32 11344, i32 11344, i32 11356, i32 11356, i32 11357, i32 11357, i32 11357, i32 11360, i32 11388, i32 11388, i32 11388, i32 11388, i32 11388, i32 11388, i32 11389, i32 11390, i32 11391, i32 11392, i32 11393, i32 11408, i32 11408, i32 11408, i32 11408, i32 11413, i32 11413, i32 11414, i32 11414, i32 11415, i32 11415, i32 11418, i32 11418, i32 11418, i32 11418, i32 11422, i32 11422, i32 11422, i32 11422, i32 11422, i32 11422, i32 11422, i32 11431, i32 11431, i32 11431, i32 11431, i32 11431, i32 11431, i32 11431, i32 11431, i32 11431, i32 11449, i32 11449, i32 11461, i32 11500, i32 11529, i32 11529, i32 11529, i32 11529, i32 11532, i32 11532, i32 11532, i32 11532, i32 11532, i32 11558, i32 11558, i32 11569, i32 11572, i32 11577, i32 11577, i32 11577, i32 11577, i32 11577, i32 11597, i32 11597, i32 11602, i32 11613, i32 11621, i32 11621, i32 11621, i32 11621, i32 11630, i32 11630, i32 11647, i32 11648, i32 11651, i32 11652, i32 11664, i32 11665, i32 11671, i32 11671, i32 11671, i32 11671, i32 11671, i32 11671, i32 11671, i32 11713, i32 11723, i32 11728, i32 11745, i32 11785, i32 11785, i32 11797, i32 11826, i32 11828, i32 11829, i32 11830, i32 11847, i32 11870, i32 11871, i32 11872, i32 11873, i32 11928, i32 11928, i32 11928, i32 11928, i32 11928, i32 11945, i32 11948, i32 11948, i32 11980, i32 12016, i32 12078, i32 12091, i32 12092, i32 12092, i32 12128, i32 12134, i32 12135, i32 12156, i32 12175, i32 12176, i32 12179, i32 12180, i32 12183, i32 12184, i32 12187, i32 12188, i32 12192, i32 12220, i32 12258, i32 12442, i32 12442, i32 12443, i32 12447, i32 12447, i32 12468, i32 12468, i32 12482, i32 12501, i32 12519, i32 12527, i32 12540, i32 12552, i32 12553, i32 12575, i32 12582, i32 12593, i32 12594, i32 12611, i32 12634, i32 12636, i32 12636, i32 12636, i32 12636, i32 12637, i32 12649, i32 12649, i32 12700, i32 12700, i32 12700, i32 12700, i32 12701, i32 12701, i32 12702, i32 12702, i32 12707, i32 12709, i32 12709, i32 12709, i32 12709, i32 12710, i32 12726, i32 12733, i32 12734, i32 12750, i32 12751, i32 12752, i32 12753, i32 12754, i32 12755, i32 12755, i32 12793, i32 12811, i32 12817, i32 12818, i32 12819, i32 12833, i32 12834, i32 12836, i32 12849, i32 12871, i32 12871, i32 12874, i32 12874, i32 12879, i32 12879, i32 12879, i32 12879, i32 12879, i32 12899, i32 12899, i32 12912, i32 12912, i32 12913, i32 12913, i32 12915, i32 12915, i32 12916, i32 12916, i32 12920, i32 12922, i32 12924, i32 12924, i32 12925, i32 12925, i32 12926, i32 12926, i32 12927, i32 12927, i32 12928, i32 12928, i32 12929, i32 12929, i32 12930, i32 12930, i32 12931, i32 12931, i32 12932, i32 12932, i32 12933, i32 12935, i32 12937, i32 12939, i32 12940, i32 12942, i32 12942, i32 12943, i32 12945, i32 12945, i32 12946, i32 12948, i32 12948, i32 12949, i32 12949, i32 12958, i32 12958, i32 14989, i32 14993, i32 15017, i32 15017, i32 15029, i32 15072, i32 15082, i32 15097, i32 15097, i32 15097, i32 15097, i32 15097, i32 15097, i32 15097, i32 15131, i32 15131, i32 15136, i32 15136, i32 15143, i32 15144, i32 15145, i32 15147, i32 15147, i32 15147, i32 15160, i32 15160, i32 15160, i32 15164, i32 15167, i32 15181, i32 15194, i32 15216, i32 15216, i32 15219, i32 15219, i32 15219, i32 15219, i32 15219, i32 15219, i32 15219, i32 15219, i32 15219, i32 15221, i32 15221, i32 15221, i32 15221, i32 15221, i32 15221, i32 15224, i32 15224, i32 15224, i32 15224, i32 15224, i32 15233, i32 15251, i32 15252, i32 15254, i32 15260, i32 15272, i32 15295, i32 15295, i32 15295, i32 15295, i32 15295, i32 15295, i32 15295, i32 15295, i32 15295, i32 15301, i32 15360, i32 15360, i32 15360, i32 15361, i32 15361, i32 15365, i32 15366, i32 15367, i32 15384, i32 15385, i32 15386, i32 15402, i32 15477, i32 15478, i32 15479, i32 15480, i32 15481, i32 15494, i32 15507, i32 15508, i32 15526, i32 15527, i32 15583, i32 15586, i32 15589, i32 15593, i32 15642, i32 15642, i32 15642, i32 15642, i32 15642, i32 15657, i32 15675, i32 15676, i32 15712, i32 15713, i32 15908, i32 15911, i32 15912, i32 15913, i32 15920, i32 15928, i32 15929, i32 15930, i32 15933, i32 15933, i32 15933, i32 15945, i32 15946, i32 15947, i32 15955, i32 15956, i32 15957, i32 15988, i32 15990, i32 15990, i32 16021, i32 16021, i32 16021, i32 16021, i32 16021, i32 16021, i32 16021, i32 16021, i32 16027, i32 16027, i32 16027, i32 16027, i32 16031, i32 16031, i32 16031, i32 16031, i32 16039, i32 16039, i32 16040, i32 16040, i32 16041, i32 16041, i32 16042, i32 16042, i32 16042, i32 16042, i32 16042, i32 16042, i32 16048, i32 16048, i32 16049, i32 16050, i32 16051, i32 16051, i32 16052, i32 16052, i32 16052, i32 16053, i32 16053, i32 16054, i32 16054, i32 16055, i32 16055, i32 16055, i32 16055, i32 16055, i32 16055, i32 16056, i32 16056, i32 16056, i32 16056, i32 16057, i32 16057, i32 16057, i32 16057, i32 16058, i32 16058, i32 16058, i32 16058, i32 16063, i32 16063, i32 16064, i32 16064, i32 16064, i32 16064, i32 16064, i32 16064, i32 16073, i32 16073, i32 16150, i32 16150, i32 16150, i32 16150, i32 16150, i32 16150, i32 16150, i32 16150, i32 16157, i32 16157, i32 16157, i32 16157, i32 16157, i32 16157, i32 16157, i32 16157, i32 16157, i32 16157, i32 16180, i32 16198, i32 16199, i32 16201, i32 16202, i32 16203, i32 16235, i32 16236, i32 16237, i32 16238, i32 16239, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16249, i32 16263, i32 16273, i32 16309, i32 16373, i32 16373, i32 16462, i32 16462, i32 16463, i32 16463, i32 16487, i32 16487, i32 16488, i32 16488, i32 16493, i32 16658, i32 16660, i32 16668, i32 16693, i32 16694, i32 16703, i32 16709, i32 16713, i32 16715, i32 16749, i32 16759, i32 16759, i32 16763, i32 16763, i32 16763, i32 16763, i32 16765, i32 16765, i32 16767, i32 16767, i32 16780, i32 16780, i32 16789, i32 16789, i32 16822, i32 16822, i32 16831, i32 16832, i32 16833, i32 16841, i32 16841, i32 16841, i32 16841, i32 16841, i32 16841, i32 16841, i32 16841, i32 16841, i32 16841, i32 16857, i32 16859, i32 16870, i32 16878, i32 16878, i32 16878, i32 16878, i32 16878, i32 16878, i32 16878, i32 16893, i32 16894, i32 16894, i32 16900, i32 16900, i32 16900, i32 16900, i32 16900, i32 16915, i32 16941, i32 16941, i32 16941, i32 16941, i32 16941, i32 16941, i32 16941, i32 16941, i32 16941, i32 16967, i32 16968, i32 16969, i32 17017, i32 17017, i32 17017, i32 17017, i32 17017, i32 17017, i32 17017, i32 17017, i32 17017, i32 17017, i32 17030, i32 17031, i32 17032, i32 17037, i32 17038, i32 17039, i32 17047, i32 17048, i32 17049, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17058, i32 17108, i32 17122, i32 17123, i32 17129, i32 17129, i32 17133, i32 17134, i32 17143, i32 17143, i32 17143, i32 17145, i32 17146, i32 17154, i32 17155, i32 17160, i32 17161, i32 17177, i32 17208, i32 17209, i32 17210, i32 17213, i32 17214, i32 17215, i32 17218, i32 17219, i32 17224, i32 17225, i32 17358, i32 17361, i32 17362, i32 17369, i32 17369, i32 17369, i32 17370, i32 17373, i32 17374, i32 17380, i32 17381, i32 17382, i32 17383, i32 17387, i32 17389, i32 17390, i32 17393, i32 17396, i32 17401, i32 17402, i32 17405, i32 17409, i32 17410, i32 17413, i32 17417, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17446, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17448, i32 17465, i32 17467, i32 17481, i32 17481, i32 17481, i32 17486, i32 17486, i32 17486, i32 17493, i32 17493, i32 17493, i32 17493, i32 17493, i32 17498, i32 17498, i32 17498, i32 17502, i32 17502, i32 17502, i32 17527, i32 17528, i32 17528, i32 17528, i32 17531, i32 17531, i32 17531, i32 17531, i32 17531, i32 17531, i32 17532, i32 17533, i32 17533, i32 17533, i32 17535, i32 17535, i32 17535, i32 17535, i32 17535, i32 17535, i32 17535, i32 17535, i32 17537, i32 17578, i32 17588, i32 17588, i32 17589, i32 17589, i32 17589, i32 17589, i32 17600, i32 17600, i32 17600, i32 17600, i32 17604, i32 17604, i32 17607, i32 17607, i32 17607, i32 17607, i32 17607, i32 17607, i32 17607, i32 17607, i32 17608, i32 17608, i32 17612, i32 17612, i32 17613, i32 17613, i32 17613, i32 17613, i32 17613, i32 17613, i32 17617, i32 17617, i32 17618, i32 17618, i32 17639, i32 17639, i32 17639, i32 17640, i32 17653, i32 17653, i32 17657, i32 17657, i32 17675, i32 17675, i32 17705, i32 17706, i32 17706, i32 17708, i32 17708, i32 17713, i32 17713, i32 17752, i32 17752, i32 17756, i32 17756, i32 17756, i32 17756, i32 17764, i32 17764, i32 17770, i32 17770, i32 17775, i32 17775, i32 17775, i32 17775, i32 17779, i32 17779, i32 17780, i32 17780, i32 17781, i32 17781, i32 17782, i32 17782, i32 17783, i32 17783, i32 17783, i32 17783, i32 17816, i32 17816, i32 17816, i32 17816, i32 17832, i32 17832, i32 17832, i32 17842, i32 17842, i32 17842, i32 17842, i32 17842, i32 17842, i32 17858, i32 17860, i32 17860, i32 17885, i32 17885, i32 17887, i32 17891, i32 17891, i32 17891, i32 17891, i32 17891, i32 17895, i32 17895, i32 17895, i32 17895, i32 17895, i32 17895, i32 17895, i32 17897, i32 17897, i32 17897, i32 17901, i32 17901, i32 17901, i32 17903, i32 17903, i32 17903, i32 17926, i32 17926, i32 17926, i32 17929, i32 17929, i32 17929, i32 17929, i32 17929, i32 17929, i32 17929, i32 17965, i32 17966, i32 17968, i32 17968, i32 17968, i32 17968, i32 17968, i32 17968, i32 17968, i32 17969, i32 17969, i32 17977, i32 17977, i32 17977, i32 17978, i32 17978, i32 17978, i32 17978, i32 17978, i32 17978, i32 17987, i32 17987, i32 17988, i32 17988, i32 17991, i32 17991, i32 17991, i32 17992, i32 17992, i32 17992, i32 17992, i32 17995, i32 17995, i32 17995, i32 17995, i32 17995, i32 17996, i32 18001, i32 18001, i32 18001, i32 18001, i32 18006, i32 18006, i32 18006, i32 18006, i32 18011, i32 18011, i32 18011, i32 18011, i32 18012, i32 18012, i32 18012, i32 18012, i32 18019, i32 18019, i32 18022, i32 18022, i32 18026, i32 18026, i32 18029, i32 18029, i32 18040, i32 18040, i32 18041, i32 18041, i32 18041, i32 18041, i32 18077, i32 18077, i32 18077, i32 18078, i32 18078, i32 18079, i32 18079, i32 18089, i32 18096, i32 18097, i32 18097, i32 18097, i32 18097, i32 18097, i32 18097, i32 18098, i32 18098, i32 18098, i32 18098, i32 18098, i32 18098, i32 18098, i32 18098, i32 18102, i32 18103, i32 18103, i32 18103, i32 18103, i32 18103, i32 18103, i32 18103, i32 18103, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18104, i32 18109, i32 18109, i32 18109, i32 18109, i32 18109, i32 18109, i32 18109, i32 18109, i32 18110, i32 18110, i32 18110, i32 18110, i32 18110, i32 18110, i32 18110, i32 18110, i32 18110, i32 18110, i32 18115, i32 18115, i32 18115, i32 18115, i32 18115, i32 18115, i32 18115, i32 18115, i32 18115, i32 18115, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18116, i32 18123, i32 18123, i32 18123, i32 18123, i32 18123, i32 18123, i32 18123, i32 18124, i32 18124, i32 18124, i32 18124, i32 18124, i32 18124, i32 18124, i32 18124, i32 18124, i32 18145, i32 18150, i32 18166, i32 18166, i32 18166, i32 18166, i32 18167, i32 18167, i32 18167, i32 18167, i32 18168, i32 18168, i32 18169, i32 18169, i32 18169, i32 18172, i32 18172, i32 18172, i32 18172, i32 18173, i32 18173, i32 18173, i32 18173, i32 18173, i32 18176, i32 18176, i32 18176, i32 18177, i32 18177, i32 18177, i32 18177, i32 18177, i32 18189, i32 18189, i32 18189, i32 18189, i32 18189, i32 18190, i32 18190, i32 18190, i32 18190, i32 18190, i32 18191, i32 18191, i32 18191, i32 18191, i32 18191, i32 18202, i32 18202, i32 18202, i32 18202, i32 18202, i32 18203, i32 18203, i32 18203, i32 18203, i32 18203, i32 18204, i32 18204, i32 18204, i32 18204, i32 18204, i32 18209, i32 18209, i32 18209, i32 18209, i32 18209, i32 18210, i32 18210, i32 18210, i32 18210, i32 18210, i32 18211, i32 18211, i32 18211, i32 18211, i32 18211, i32 18218, i32 18218, i32 18218, i32 18218, i32 18218, i32 18219, i32 18219, i32 18219, i32 18219, i32 18219, i32 18220, i32 18220, i32 18220, i32 18220, i32 18220, i32 18221, i32 18221, i32 18221, i32 18221, i32 18221, i32 18222, i32 18222, i32 18222, i32 18222, i32 18222, i32 18223, i32 18223, i32 18223, i32 18223, i32 18223, i32 18228, i32 18228, i32 18228, i32 18228, i32 18228, i32 18229, i32 18229, i32 18229, i32 18229, i32 18229, i32 18230, i32 18230, i32 18230, i32 18230, i32 18230, i32 18233, i32 18233, i32 18233, i32 18233, i32 18233, i32 18234, i32 18234, i32 18234, i32 18234, i32 18235, i32 18235, i32 18235, i32 18236, i32 18236, i32 18236, i32 18236, i32 18236, i32 18241, i32 18241, i32 18241, i32 18241, i32 18241, i32 18243, i32 18243, i32 18243, i32 18243, i32 18243, i32 18244, i32 18244, i32 18244, i32 18244, i32 18245, i32 18245, i32 18245, i32 18246, i32 18246, i32 18246, i32 18246, i32 18246, i32 18246, i32 18246, i32 18246, i32 18246, i32 18247, i32 18247, i32 18247, i32 18247, i32 18247, i32 18248, i32 18248, i32 18248, i32 18248, i32 18248, i32 18248, i32 18248, i32 18248, i32 18248, i32 18254, i32 18254, i32 18254, i32 18254, i32 18254, i32 18255, i32 18255, i32 18255, i32 18255, i32 18255, i32 18256, i32 18256, i32 18256, i32 18256, i32 18256, i32 18257, i32 18257, i32 18257, i32 18257, i32 18257, i32 18258, i32 18258, i32 18258, i32 18258, i32 18258, i32 18262, i32 18262, i32 18262, i32 18262, i32 18273, i32 18303, i32 18303, i32 18304, i32 18305, i32 18305, i32 18305, i32 18305, i32 18305, i32 18311, i32 18311, i32 18311, i32 18311, i32 18311, i32 18312, i32 18312, i32 18312, i32 18312, i32 18312, i32 18316, i32 18316, i32 18316, i32 18317, i32 18317, i32 18317, i32 18317, i32 18317, i32 18318, i32 18318, i32 18318, i32 18319, i32 18319, i32 18319, i32 18319, i32 18319, i32 18324, i32 18324, i32 18325, i32 18325, i32 18326, i32 18326, i32 18326, i32 18327, i32 18327, i32 18328, i32 18328, i32 18333, i32 18333, i32 18334, i32 18334, i32 18335, i32 18335, i32 18336, i32 18336, i32 18336, i32 18337, i32 18337, i32 18342, i32 18342, i32 18342, i32 18344, i32 18344, i32 18344, i32 18349, i32 18349, i32 18349, i32 18350, i32 18350, i32 18350, i32 18398, i32 18398, i32 18399, i32 18399, i32 18400, i32 18400, i32 18401, i32 18401, i32 18401, i32 18405, i32 18405, i32 18409, i32 18409, i32 18410, i32 18410, i32 18414, i32 18414, i32 18415, i32 18415, i32 18428, i32 18428, i32 18433, i32 18433, i32 18438, i32 18438, i32 18439, i32 18439, i32 18444, i32 18444, i32 18445, i32 18445, i32 18446, i32 18446, i32 18452, i32 18452, i32 18452, i32 18452, i32 18458, i32 18459, i32 18459, i32 18460, i32 18460, i32 18460, i32 18460, i32 18466, i32 18467, i32 18467, i32 18468, i32 18468, i32 18468, i32 18468, i32 18474, i32 18474, i32 18474, i32 18475, i32 18475, i32 18480, i32 18480, i32 18480, i32 18481, i32 18481, i32 18481, i32 18483, i32 18483, i32 18483, i32 18489, i32 18489, i32 18489, i32 18490, i32 18490, i32 18490, i32 18492, i32 18492, i32 18492, i32 18493, i32 18493, i32 18499, i32 18499, i32 18504, i32 18504, i32 18510, i32 18510, i32 18512, i32 18512, i32 18524, i32 18524, i32 18524, i32 18525, i32 18525, i32 18525, i32 18526, i32 18526, i32 18526, i32 18530, i32 18530, i32 18530, i32 18531, i32 18531, i32 18531, i32 18532, i32 18532, i32 18532, i32 18533, i32 18533, i32 18533, i32 18534, i32 18534, i32 18534, i32 18535, i32 18535, i32 18535, i32 18539, i32 18539, i32 18540, i32 18540, i32 18540, i32 18541, i32 18541, i32 18541, i32 18542, i32 18542, i32 18542, i32 18543, i32 18543, i32 18543, i32 18544, i32 18545, i32 18545, i32 18546, i32 18546, i32 18546, i32 18546, i32 18546, i32 18547, i32 18547, i32 18547, i32 18552, i32 18552, i32 18553, i32 18553, i32 18554, i32 18554, i32 18554, i32 18558, i32 18558, i32 18558, i32 18559, i32 18560, i32 18560, i32 18561, i32 18561, i32 18561, i32 18561, i32 18561, i32 18562, i32 18562, i32 18563, i32 18563, i32 18564, i32 18564, i32 18565, i32 18565, i32 18565, i32 18566, i32 18566, i32 18566, i32 18567, i32 18567, i32 18567, i32 18568, i32 18568, i32 18568, i32 18569, i32 18569, i32 18569, i32 18569, i32 18569, i32 18574, i32 18574, i32 18575, i32 18575, i32 18575, i32 18576, i32 18576, i32 18577, i32 18577, i32 18577, i32 18578, i32 18578, i32 18579, i32 18730, i32 18730, i32 18731, i32 18731, i32 18732, i32 18732, i32 18733, i32 18733, i32 18733, i32 18738, i32 18738, i32 18739, i32 18739, i32 18744, i32 18744, i32 18774, i32 18774, i32 18774, i32 18775, i32 18775, i32 18775, i32 18781, i32 18781, i32 18781, i32 18782, i32 18782, i32 18782, i32 18796, i32 18796, i32 18796, i32 18803, i32 18803, i32 18803, i32 18804, i32 18804, i32 18810, i32 18810, i32 18810, i32 18811, i32 18811, i32 18811, i32 18813, i32 18813, i32 18813, i32 18814, i32 18814, i32 18821, i32 18821, i32 18821, i32 18822, i32 18822, i32 18823, i32 18823, i32 18824, i32 18824, i32 18824, i32 18832, i32 18832, i32 18833, i32 18833, i32 18834, i32 18834, i32 18838, i32 18838, i32 18838, i32 18839, i32 18839, i32 18839, i32 18846, i32 18846, i32 18846, i32 18846, i32 18851, i32 18851, i32 18852, i32 18852, i32 18853, i32 18853, i32 18877, i32 18878, i32 18878, i32 18879, i32 18879, i32 18879, i32 18879, i32 18879, i32 18908, i32 18908, i32 18908, i32 18909, i32 18909, i32 18909, i32 18910, i32 18910, i32 18910, i32 18911, i32 18911, i32 18911, i32 18912, i32 18912, i32 18912, i32 18915, i32 18915, i32 18915, i32 18916, i32 18916, i32 18916, i32 18917, i32 18917, i32 18922, i32 18922, i32 18922, i32 18922, i32 18922, i32 18922, i32 18927, i32 18927, i32 18927, i32 18927, i32 18927, i32 18927, i32 18927, i32 18927, i32 18932, i32 18932, i32 18932, i32 18932, i32 18937, i32 18937, i32 18937, i32 18938, i32 18938, i32 18938, i32 18944, i32 18944, i32 18944, i32 18945, i32 18945, i32 18945, i32 18951, i32 18951, i32 18951, i32 18952, i32 18952, i32 18952, i32 18958, i32 18958, i32 18958, i32 18958, i32 18958, i32 18958, i32 18959, i32 18959, i32 18959, i32 18963, i32 18963, i32 18963, i32 18964, i32 18964, i32 18969, i32 18969, i32 18969, i32 18969, i32 18969, i32 18969, i32 18971, i32 18971, i32 18971, i32 18976, i32 18976, i32 18977, i32 18977, i32 18995, i32 18995, i32 18995, i32 18995, i32 18996, i32 18996, i32 18996, i32 18996, i32 18997, i32 18997, i32 18997, i32 18997, i32 18998, i32 18998, i32 18999, i32 18999, i32 18999, i32 19000, i32 19000, i32 19000, i32 19001, i32 19001, i32 19001, i32 19006, i32 19006, i32 19007, i32 19007, i32 19007, i32 19008, i32 19008, i32 19014, i32 19014, i32 19014, i32 19014, i32 19014, i32 19015, i32 19015, i32 19038, i32 19038, i32 19038, i32 19043, i32 19043, i32 19043, i32 19049, i32 19049, i32 19049, i32 19049, i32 19050, i32 19050, i32 19050, i32 19050, i32 19050, i32 19050, i32 19057, i32 19057, i32 19057, i32 19057, i32 19057, i32 19057, i32 19060, i32 19060, i32 19060, i32 19060, i32 19060, i32 19060, i32 19061, i32 19061, i32 19061, i32 19069, i32 19069, i32 19069, i32 19069, i32 19069, i32 19069, i32 19070, i32 19070, i32 19070, i32 19070, i32 19070, i32 19070, i32 19073, i32 19073, i32 19073, i32 19073, i32 19073, i32 19073, i32 19074, i32 19074, i32 19074, i32 19098, i32 19098, i32 19105, i32 19105, i32 19110, i32 19110, i32 19110, i32 19110, i32 19110, i32 19110, i32 19125, i32 19125, i32 19127, i32 19127, i32 19131, i32 19131, i32 19131, i32 19132, i32 19134, i32 19134, i32 19138, i32 19138, i32 19140, i32 19140, i32 19143, i32 19143, i32 19152, i32 19152, i32 19152, i32 19152, i32 19159, i32 19159, i32 19159, i32 19159, i32 19168, i32 19168, i32 19168, i32 19168, i32 19168, i32 19168, i32 19175, i32 19175, i32 19175, i32 19175, i32 19175, i32 19175, i32 19182, i32 19182, i32 19182, i32 19182, i32 19189, i32 19189, i32 19189, i32 19189, i32 19195, i32 19195, i32 19195, i32 19195, i32 19197, i32 19197, i32 19199, i32 19199, i32 19201, i32 19201, i32 19202, i32 19202, i32 19203, i32 19203, i32 19204, i32 19204, i32 19204, i32 19205, i32 19205, i32 19207, i32 19207, i32 19207, i32 19212, i32 19212, i32 19214, i32 19214, i32 19214, i32 19214, i32 19214, i32 19214, i32 19215, i32 19215, i32 19217, i32 19217, i32 19221, i32 19221, i32 19222, i32 19222, i32 19222, i32 19225, i32 19225, i32 19229, i32 19229, i32 19229, i32 19230, i32 19230, i32 19230, i32 19230, i32 19230, i32 19230, i32 19231, i32 19231, i32 19232, i32 19232, i32 19237, i32 19687, i32 19687, i32 19688, i32 19688, i32 19688, i32 19689, i32 19689, i32 19690, i32 19690, i32 19691, i32 19691, i32 19691, i32 19692, i32 19692, i32 19693, i32 19693, i32 19694, i32 19694, i32 19694, i32 19701, i32 19701, i32 19702, i32 19702, i32 19702, i32 19703, i32 19703, i32 19704, i32 19704, i32 19705, i32 19705, i32 19705, i32 19706, i32 19706, i32 19707, i32 19707, i32 19708, i32 19708, i32 19708, i32 19715, i32 19715, i32 19720, i32 19720, i32 19729, i32 19729, i32 19743, i32 19743, i32 19744, i32 19744, i32 19745, i32 19745, i32 19746, i32 19746, i32 19746, i32 19747, i32 19747, i32 19747, i32 19748, i32 19748, i32 19748, i32 19906, i32 19906, i32 19910, i32 19910, i32 19910, i32 19910, i32 19914, i32 19914, i32 19918, i32 19918, i32 19918, i32 19918, i32 19925, i32 19925, i32 19926, i32 19926, i32 19933, i32 19933, i32 19939, i32 19939, i32 19939, i32 19939, i32 19940, i32 19940, i32 19940, i32 19940, i32 20274, i32 20274, i32 20282, i32 20282, i32 20282, i32 20282, i32 20288, i32 20288, i32 20422, i32 20422, i32 20423, i32 20423, i32 20429, i32 20429, i32 20429, i32 20429, i32 20429, i32 20429, i32 20434, i32 20434, i32 20434, i32 20434, i32 20434, i32 20434, i32 20439, i32 20439, i32 20439, i32 20439, i32 20439, i32 20439, i32 20445, i32 20445, i32 20445, i32 20445, i32 20445, i32 20445, i32 20445, i32 20445, i32 20451, i32 20451, i32 20451, i32 20451, i32 20451, i32 20451, i32 20456, i32 20456, i32 20456, i32 20456, i32 20456, i32 20456, i32 20616, i32 20616, i32 20616, i32 20616, i32 20616, i32 20616, i32 20616, i32 20662, i32 20662, i32 20664, i32 20664, i32 20671, i32 20671, i32 20687, i32 20687, i32 20687, i32 20690, i32 20690, i32 20690, i32 20690, i32 20690, i32 20690, i32 20691, i32 20706, i32 20706, i32 20706, i32 20706, i32 20707, i32 20707, i32 20708, i32 20708, i32 20709, i32 20721, i32 20721, i32 20783, i32 20783, i32 20783, i32 20784, i32 20798, i32 20798, i32 20805, i32 20805, i32 20809, i32 20809, i32 20810, i32 20810, i32 20811, i32 20811, i32 20818, i32 20818, i32 20819, i32 20819, i32 20819, i32 20819, i32 20819, i32 20819, i32 20827, i32 20827, i32 20827, i32 20827, i32 20831, i32 20831, i32 20831, i32 20831, i32 20832, i32 20832, i32 20833, i32 20833, i32 20837, i32 20837, i32 20838, i32 20838, i32 20839, i32 20839, i32 20845, i32 20845, i32 20849, i32 20849, i32 20853, i32 20853, i32 20911, i32 20911, i32 20911, i32 20911, i32 20940, i32 20940, i32 20947, i32 20947, i32 20956, i32 20956, i32 20956, i32 20956, i32 20956, i32 20956, i32 20957, i32 20957, i32 20957, i32 20957, i32 20957, i32 20957, i32 20958, i32 20958, i32 20958, i32 20958, i32 20958, i32 20958, i32 20959, i32 20959, i32 20959, i32 20959, i32 20982, i32 20982, i32 20983, i32 20983, i32 20984, i32 20984, i32 20985, i32 20985, i32 21062, i32 21062, i32 21063, i32 21063, i32 21067, i32 21067, i32 21071, i32 21071, i32 21075, i32 21075, i32 21075, i32 21075, i32 21079, i32 21079, i32 21083, i32 21083, i32 21087, i32 21087, i32 21091, i32 21091, i32 21091, i32 21091, i32 21095, i32 21095, i32 21398, i32 21398, i32 21400, i32 21400, i32 21401, i32 21401, i32 21402, i32 21402, i32 21403, i32 21403, i32 21404, i32 21404, i32 21405, i32 21405, i32 21406, i32 21406, i32 21407, i32 21407, i32 21409, i32 21409, i32 21409, i32 21409, i32 21410, i32 21410, i32 21410, i32 21410, i32 21412, i32 21412, i32 21412, i32 21412, i32 21419, i32 21419, i32 21420, i32 21420, i32 21421, i32 21421, i32 21422, i32 21422, i32 21423, i32 21423, i32 21426, i32 21426, i32 21426, i32 21426, i32 21432, i32 21432, i32 21433, i32 21433, i32 21709, i32 21709, i32 21710, i32 21710, i32 21711, i32 21711, i32 21712, i32 21712, i32 21713, i32 21713, i32 21714, i32 21714, i32 21715, i32 21715, i32 21716, i32 21716, i32 21717, i32 21717, i32 21718, i32 21718, i32 21719, i32 21719, i32 21720, i32 21720, i32 21721, i32 21721, i32 21722, i32 21722, i32 21723, i32 21723, i32 21724, i32 21724, i32 21725, i32 21725, i32 21726, i32 21726, i32 21727, i32 21727, i32 21728, i32 21728, i32 21729, i32 21729, i32 21730, i32 21730, i32 21731, i32 21731, i32 21732, i32 21732, i32 21733, i32 21733, i32 21736, i32 21736, i32 21738, i32 21738, i32 21743, i32 21743, i32 21747, i32 21747, i32 21747, i32 21747, i32 21755, i32 21755, i32 21756, i32 21756, i32 21757, i32 21757, i32 21759, i32 21759, i32 22404, i32 22404, i32 22404, i32 22404, i32 22410, i32 22410, i32 22412, i32 22412, i32 22413, i32 22413, i32 22414, i32 22414, i32 22415, i32 22415, i32 22415, i32 22415, i32 22415, i32 22415, i32 22417, i32 22417, i32 22418, i32 22418, i32 22439, i32 22440, i32 22440, i32 22440, i32 22440, i32 22440, i32 22456, i32 22457, i32 22458, i32 22458, i32 22458, i32 22462, i32 22462, i32 22463, i32 22463, i32 22464, i32 22464, i32 22464, i32 22466, i32 22466, i32 22467, i32 22467, i32 22467, i32 22468, i32 22469, i32 22469, i32 22469, i32 22469, i32 22490, i32 22490, i32 22490, i32 22490, i32 22490, i32 22499, i32 22499, i32 22499, i32 22499, i32 22499, i32 22502, i32 22502, i32 22502, i32 22502, i32 22502, i32 22502, i32 22502, i32 22502, i32 22502, i32 22502, i32 22503, i32 22503, i32 22505, i32 22505, i32 22505, i32 22505, i32 22505, i32 22505, i32 22505, i32 22505, i32 22506, i32 22506, i32 22506, i32 22506, i32 22506, i32 22506, i32 22506, i32 22506, i32 22508, i32 22508, i32 22508, i32 22508, i32 22508, i32 22510, i32 22510, i32 22510, i32 22510, i32 22510, i32 22519, i32 22521, i32 22523, i32 22523, i32 22524, i32 22524, i32 22524, i32 22525, i32 22525, i32 22531, i32 22532, i32 22532, i32 22532, i32 22535, i32 22535, i32 22541, i32 22542, i32 22542, i32 22542, i32 22545, i32 22545, i32 22545, i32 22546, i32 22546, i32 22546, i32 22547, i32 22547, i32 22547, i32 22547, i32 22547, i32 22548, i32 22548, i32 22548, i32 22549, i32 22549, i32 22549, i32 22550, i32 22550, i32 22550, i32 22550, i32 22550, i32 22559, i32 22560, i32 22561, i32 22561, i32 22561, i32 22562, i32 22562, i32 22562, i32 22563, i32 22563, i32 22563, i32 22567, i32 22567, i32 22567, i32 22569, i32 22569, i32 22569, i32 22571, i32 22577, i32 22577, i32 22581, i32 22581, i32 22584, i32 22584, i32 22591, i32 22592, i32 22592, i32 22592, i32 22596, i32 22596, i32 22596, i32 22597, i32 22600, i32 22600, i32 22601, i32 22601, i32 22608, i32 22609, i32 22609, i32 22609, i32 22613, i32 22613, i32 22613, i32 22614, i32 22617, i32 22617, i32 22618, i32 22618, i32 22626, i32 22627, i32 22627, i32 22627, i32 22631, i32 22631, i32 22631, i32 22634, i32 22634, i32 22638, i32 22638, i32 22638, i32 22650, i32 22650, i32 22651, i32 22651, i32 22653, i32 22653, i32 22653, i32 22653, i32 22664, i32 22664, i32 22664, i32 22664, i32 22664, i32 22664, i32 22667, i32 22667, i32 22679, i32 22679, i32 22679, i32 22682, i32 22683, i32 22683, i32 22685, i32 22685, i32 22685, i32 22688, i32 22689, i32 22689, i32 22691, i32 22691, i32 22691, i32 22699, i32 22699, i32 22699, i32 22700, i32 22700, i32 22700, i32 22707, i32 22716, i32 22717, i32 22717, i32 22717, i32 22721, i32 22721, i32 22721, i32 22722, i32 22722, i32 22722, i32 22722, i32 22722, i32 22728, i32 22728, i32 22732, i32 22734, i32 22734, i32 22735, i32 22735, i32 22740, i32 22745, i32 22746, i32 22746, i32 22746, i32 22749, i32 22749, i32 22751, i32 22751, i32 22751, i32 22759, i32 22759, i32 22765, i32 22766, i32 22766, i32 22771, i32 22772, i32 22772, i32 22772, i32 22775, i32 22775, i32 22777, i32 22777, i32 22777, i32 22788, i32 22796, i32 22797, i32 22797, i32 22797, i32 22798, i32 22799, i32 22799, i32 22800, i32 22800, i32 22800, i32 22804, i32 22804, i32 22804, i32 22805, i32 22805, i32 22805, i32 22805, i32 22805, i32 22809, i32 22809, i32 22814, i32 22815, i32 22815, i32 22819, i32 22819, i32 22824, i32 22825, i32 22825, i32 22825, i32 22828, i32 22828, i32 22830, i32 22830, i32 22830, i32 22845, i32 22846, i32 22846, i32 22850, i32 22855, i32 22856, i32 22856, i32 22856, i32 22860, i32 22860, i32 22860, i32 22862, i32 22862, i32 22866, i32 22867, i32 22867, i32 22869, i32 22869, i32 22869, i32 22870, i32 22870, i32 22870, i32 22870, i32 22870, i32 22871, i32 22871, i32 22871, i32 22874, i32 22874, i32 22877, i32 22877, i32 22881, i32 22882, i32 22882, i32 22885, i32 22885, i32 22898, i32 22898, i32 22905, i32 22905, i32 22905, i32 22905, i32 22907, i32 22907, i32 22907, i32 22907, i32 22914, i32 22918, i32 22918, i32 22923, i32 22924, i32 22925, i32 22925, i32 22925, i32 22930, i32 22930, i32 22930, i32 22931, i32 22931, i32 22931, i32 22934, i32 22934, i32 22936, i32 22936, i32 22968, i32 22968, i32 22968, i32 22968, i32 22969, i32 22969, i32 22969, i32 22969, i32 22970, i32 22970, i32 22970, i32 22970, i32 22971, i32 22971, i32 22972, i32 22972, i32 22972, i32 22972, i32 22972, i32 22973, i32 22973, i32 22974, i32 22974, i32 22974, i32 22974, i32 22974, i32 22975, i32 22975, i32 22976, i32 22976, i32 22976, i32 22976, i32 22976, i32 22989, i32 22995, i32 22995, i32 22996, i32 22996, i32 22997, i32 22997, i32 22997, i32 23004, i32 23004, i32 23004, i32 23008, i32 23008, i32 23009, i32 23010, i32 23010, i32 23011, i32 23011, i32 23013, i32 23013, i32 23015, i32 23015, i32 23056, i32 23056, i32 23057, i32 23057, i32 23058, i32 23058, i32 23058, i32 23059, i32 23059, i32 23060, i32 23060, i32 23065, i32 23065, i32 23066, i32 23066, i32 23066, i32 23074, i32 23074, i32 23074, i32 23079, i32 23079, i32 23080, i32 23080, i32 23080, i32 23081, i32 23081, i32 23081, i32 23081, i32 23081, i32 23086, i32 23086, i32 23087, i32 23087, i32 23089, i32 23089, i32 23089, i32 23090, i32 23090, i32 23090, i32 23091, i32 23091, i32 23091, i32 23092, i32 23092, i32 23092, i32 23092, i32 23092, i32 23097, i32 23097, i32 23097, i32 23098, i32 23098, i32 23102, i32 23102, i32 23104, i32 23104, i32 23104, i32 23109, i32 23109, i32 23109, i32 23110, i32 23110, i32 23110, i32 23115, i32 23115, i32 23115, i32 23116, i32 23116, i32 23116, i32 23134, i32 23134, i32 23135, i32 23135, i32 23135, i32 23135, i32 23141, i32 23141, i32 23142, i32 23142, i32 23142, i32 23142, i32 23144, i32 23144, i32 23145, i32 23145, i32 23145, i32 23146, i32 23146, i32 23147, i32 23147, i32 23147, i32 23148, i32 23148, i32 23148, i32 23148, i32 23154, i32 23154, i32 23160, i32 23160, i32 23161, i32 23162, i32 23162, i32 23163, i32 23163, i32 23163, i32 23163, i32 23163, i32 23170, i32 23170, i32 23170, i32 23170, i32 23173, i32 23173, i32 23173, i32 23174, i32 23174, i32 23188, i32 23188, i32 23188, i32 23189, i32 23189, i32 23190, i32 23190, i32 23191, i32 23191, i32 23191, i32 23192, i32 23192, i32 23193, i32 23193, i32 23194, i32 23194, i32 23195, i32 23195, i32 23195, i32 23225, i32 23225, i32 23226, i32 23226, i32 23227, i32 23227, i32 23227, i32 23228, i32 23228, i32 23228, i32 23229, i32 23229, i32 23229, i32 23234, i32 23234, i32 23234, i32 23235, i32 23235, i32 23235, i32 23235, i32 23235, i32 23236, i32 23236, i32 23236, i32 23237, i32 23237, i32 23237, i32 23237, i32 23237, i32 23244, i32 23244, i32 23244, i32 23245, i32 23245, i32 23245, i32 23246, i32 23246, i32 23246, i32 23247, i32 23247, i32 23247, i32 23248, i32 23248, i32 23248, i32 23249, i32 23249, i32 23249, i32 23250, i32 23250, i32 23250, i32 23251, i32 23251, i32 23251, i32 23252, i32 23252, i32 23252, i32 23253, i32 23253, i32 23253, i32 23254, i32 23254, i32 23254, i32 23255, i32 23255, i32 23260, i32 23260, i32 23260, i32 23261, i32 23261, i32 23261, i32 23262, i32 23262, i32 23262, i32 23263, i32 23263, i32 23263, i32 23264, i32 23264, i32 23264, i32 23265, i32 23265, i32 23265, i32 23266, i32 23266, i32 23266, i32 23267, i32 23267, i32 23267, i32 23268, i32 23268, i32 23268, i32 23269, i32 23269, i32 23274, i32 23274, i32 23274, i32 23275, i32 23275, i32 23275, i32 23277, i32 23277, i32 23277, i32 23278, i32 23278, i32 23279, i32 23279, i32 23279, i32 23280, i32 23280, i32 23280, i32 23281, i32 23281, i32 23286, i32 23286, i32 23286, i32 23287, i32 23287, i32 23287, i32 23290, i32 23290, i32 23290, i32 23291, i32 23291, i32 23291, i32 23293, i32 23293, i32 23294, i32 23294, i32 23294, i32 23295, i32 23295, i32 23295, i32 23296, i32 23296, i32 23313, i32 23313, i32 23314, i32 23314, i32 23318, i32 23318, i32 23319, i32 23319, i32 23324, i32 23324, i32 23330, i32 23330, i32 23336, i32 23336, i32 23336, i32 23337, i32 23338, i32 23338, i32 23342, i32 23342, i32 23342, i32 23343, i32 23343, i32 23368, i32 23368, i32 23373, i32 23373, i32 23374, i32 23374, i32 23374, i32 23379, i32 23379, i32 23408, i32 23408, i32 23409, i32 23409, i32 23410, i32 23410, i32 23412, i32 23412, i32 23413, i32 23413, i32 23415, i32 23415, i32 23426, i32 23426, i32 23426, i32 23426, i32 23426, i32 23426, i32 23426, i32 23426, i32 23430, i32 23444, i32 23444, i32 23444, i32 23444, i32 23444, i32 23444, i32 23451, i32 23451, i32 23452, i32 23452, i32 23453, i32 23453, i32 23454, i32 23454, i32 23458, i32 23458, i32 23458, i32 23458, i32 23459, i32 23459, i32 23459, i32 23459, i32 23460, i32 23460, i32 23460, i32 23460, i32 23461, i32 23461, i32 23461, i32 23462, i32 23462, i32 23462, i32 23463, i32 23463, i32 23468, i32 23468, i32 23468, i32 23468, i32 23469, i32 23469, i32 23470, i32 23470, i32 23471, i32 23471, i32 23471, i32 23471, i32 23471, i32 23472, i32 23472, i32 23473, i32 23473, i32 23473, i32 23474, i32 23474, i32 23474, i32 23474, i32 23475, i32 23475, i32 23475, i32 23479, i32 23479, i32 23483, i32 23483, i32 23483, i32 23487, i32 23487, i32 23487, i32 23494, i32 23494, i32 23495, i32 23495, i32 23496, i32 23496, i32 23502, i32 23502, i32 23502, i32 23503, i32 23503, i32 23537, i32 23537, i32 23537, i32 23537, i32 23537, i32 23537, i32 23537, i32 23537, i32 23538, i32 23539, i32 23540, i32 23542, i32 23542, i32 23543, i32 23543, i32 23544, i32 23544, i32 23545, i32 23545, i32 23546, i32 23546, i32 23565, i32 23565, i32 23565, i32 23565, i32 23565, i32 23607, i32 23607, i32 23607, i32 23607, i32 23607, i32 23607, i32 23607, i32 23607, i32 23607, i32 23613, i32 23614, i32 23615, i32 23616, i32 23617, i32 23618, i32 23619, i32 23619, i32 23619, i32 23619, i32 23619, i32 23619, i32 23620, i32 23620, i32 23621, i32 23621, i32 23622, i32 23622, i32 23623, i32 23623, i32 23623, i32 23624, i32 23624, i32 23624, i32 23625, i32 23625, i32 23625, i32 23626, i32 23627, i32 23627, i32 23628, i32 23628, i32 23628, i32 23638, i32 23638, i32 23638, i32 23638, i32 23638, i32 23638, i32 23639, i32 23639, i32 23640, i32 23640, i32 23641, i32 23641, i32 23642, i32 23642, i32 23642, i32 23643, i32 23643, i32 23643, i32 23644, i32 23644, i32 23644, i32 23652, i32 23652, i32 23652, i32 23660, i32 23660, i32 23661, i32 23661, i32 23662, i32 23662, i32 23663, i32 23663, i32 23668, i32 23668, i32 23673, i32 23673, i32 23674, i32 23674, i32 23679, i32 23679, i32 23815, i32 23815, i32 23821, i32 23821, i32 23821, i32 23822, i32 23822, i32 23839, i32 23839, i32 23839, i32 23840, i32 23840, i32 23845, i32 23845, i32 23846, i32 23846, i32 23847, i32 23847, i32 23847, i32 23848, i32 23848, i32 23848, i32 23853, i32 23853, i32 23853, i32 23854, i32 23854, i32 23854, i32 23855, i32 23855, i32 23856, i32 23856, i32 23856, i32 23867, i32 23867, i32 23868, i32 23868, i32 23868, i32 23872, i32 23872, i32 23873, i32 23873, i32 23874, i32 23874, i32 23874, i32 23885, i32 23887, i32 23887, i32 23887, i32 23887, i32 23887, i32 23888, i32 23888, i32 23888, i32 23888, i32 23888, i32 23889, i32 23889, i32 23889, i32 23889, i32 23889, i32 23895, i32 23895, i32 23895, i32 23895, i32 23895, i32 23895, i32 23895, i32 23895, i32 23895, i32 23896, i32 23896, i32 23896, i32 23896, i32 23896, i32 23896, i32 23896, i32 23896, i32 23896, i32 23897, i32 23897, i32 23897, i32 23897, i32 23897, i32 23897, i32 23897, i32 23897, i32 23897, i32 24218, i32 24218, i32 24219, i32 24219, i32 24241, i32 24241, i32 24241, i32 24242, i32 24242, i32 24247, i32 24247, i32 24247, i32 24267, i32 24268, i32 24268, i32 24280, i32 24282, i32 24282, i32 24283, i32 24283, i32 24283, i32 24283, i32 24284, i32 24284, i32 24284, i32 24284, i32 24285, i32 24285, i32 24285, i32 24285, i32 24286, i32 24286, i32 24286, i32 24286, i32 24296, i32 24300, i32 24301, i32 24301, i32 24301, i32 24302, i32 24302, i32 24302, i32 24303, i32 24303, i32 24304, i32 24304, i32 24305, i32 24305, i32 24305, i32 24306, i32 24306, i32 24306, i32 24309, i32 24309, i32 24309, i32 24309, i32 24309, i32 24309, i32 24310, i32 24312, i32 24312, i32 24312, i32 24314, i32 24314, i32 24314, i32 24314, i32 24314, i32 24314, i32 24314, i32 24314, i32 24316, i32 24317, i32 24318, i32 24318, i32 24318, i32 24318, i32 24318, i32 24320, i32 24320, i32 24320, i32 24320, i32 24321, i32 24321, i32 24321, i32 24321, i32 24322, i32 24322, i32 24322, i32 24322, i32 24328, i32 24342, i32 24344, i32 24344, i32 24345, i32 24345, i32 24363, i32 24370, i32 24370, i32 24370, i32 24390, i32 24391, i32 24392, i32 24392, i32 24392, i32 24397, i32 24397, i32 24397, i32 24400, i32 24400, i32 24400, i32 24400, i32 24400, i32 24400, i32 24401, i32 24402, i32 24402, i32 24402, i32 24402, i32 24402, i32 24402, i32 24403, i32 24403, i32 24404, i32 24407, i32 24407, i32 24408, i32 24408, i32 24409, i32 24409, i32 24409, i32 24411, i32 24411, i32 24412, i32 24412, i32 24412, i32 24413, i32 24414, i32 24414, i32 24414, i32 24414, i32 24419, i32 24423, i32 24423, i32 24441, i32 24441, i32 24441, i32 24441, i32 24450, i32 24450, i32 24450, i32 24452, i32 24452, i32 24453, i32 24453, i32 24454, i32 24455, i32 24455, i32 24457, i32 24457, i32 24457, i32 24457, i32 24457, i32 24457, i32 24458, i32 24459, i32 24459, i32 24460, i32 24461, i32 24461, i32 24461, i32 24461, i32 24462, i32 24462, i32 24463, i32 24464, i32 24464, i32 24465, i32 24467, i32 24467, i32 24467, i32 24467, i32 24472, i32 24472, i32 24473, i32 24474, i32 24478, i32 24478, i32 24478, i32 24487, i32 24487, i32 24488, i32 24488, i32 24495, i32 24495, i32 24496, i32 24496, i32 24500, i32 24530, i32 24530, i32 24537, i32 24537, i32 24538, i32 24538, i32 24538, i32 24541, i32 24541, i32 24541, i32 24541, i32 24546, i32 24546, i32 24547, i32 24547, i32 24554, i32 24554, i32 24562, i32 24562, i32 24562, i32 24562, i32 24565, i32 24565, i32 24566, i32 24566, i32 24569, i32 24569, i32 24569, i32 24569, i32 24571, i32 24571, i32 24572, i32 24572, i32 24574, i32 24574, i32 24575, i32 24575, i32 24622, i32 24622, i32 24622, i32 24622, i32 24622, i32 24622, i32 24637, i32 24637, i32 24637, i32 24637, i32 24637, i32 24637, i32 24637, i32 24638, i32 24638, i32 24642, i32 24642, i32 24642, i32 24642, i32 24647, i32 24647, i32 24648, i32 24648, i32 24649, i32 24649, i32 24649, i32 24650, i32 24650, i32 24651, i32 24651, i32 24654, i32 24654, i32 24655, i32 24655, i32 24656, i32 24656, i32 24657, i32 24657, i32 24657, i32 24658, i32 24658, i32 24660, i32 24660, i32 24660, i32 24660, i32 24663, i32 24663, i32 24663, i32 24663, i32 24685, i32 24691, i32 24692, i32 24699, i32 24701, i32 24706, i32 24708, i32 24725, i32 24725, i32 24725, i32 24725, i32 24725, i32 24725, i32 24726, i32 24729, i32 24729, i32 24731, i32 24731, i32 24731, i32 24731, i32 24731, i32 24731, i32 24733, i32 24733, i32 24734, i32 24749, i32 24749, i32 24749, i32 24749, i32 24749, i32 24753, i32 24753, i32 24753, i32 24753, i32 24753, i32 24754, i32 24754, i32 24754, i32 24755, i32 24755, i32 24755, i32 24755, i32 24756, i32 24756, i32 24756, i32 24756, i32 24756, i32 24756, i32 24756, i32 24756, i32 24756, i32 24757, i32 24757, i32 24757, i32 24757, i32 24757, i32 24759, i32 24759, i32 24759, i32 24763, i32 24763, i32 24764, i32 24764, i32 24768, i32 24768, i32 24768, i32 24768, i32 24768, i32 24768, i32 24769, i32 24771, i32 24771, i32 24771, i32 24771, i32 24771, i32 24771, i32 24772, i32 24772, i32 24773, i32 24782, i32 24782, i32 24783, i32 24783, i32 24784, i32 24784, i32 24784, i32 24785, i32 24785, i32 24785, i32 24787, i32 24787, i32 24787, i32 24787, i32 24787, i32 24788, i32 24788, i32 24788, i32 24788, i32 24788, i32 24789, i32 24789, i32 24789, i32 24789, i32 24790, i32 24790, i32 24791, i32 24791, i32 24791, i32 24791, i32 24791, i32 24792, i32 24796, i32 24796, i32 24796, i32 24796, i32 24796, i32 24796, i32 24797, i32 24799, i32 24799, i32 24799, i32 24799, i32 24799, i32 24800, i32 24800, i32 24800, i32 24800, i32 24800, i32 24801, i32 24801, i32 24801, i32 24801, i32 24801, i32 24801, i32 24802, i32 24802, i32 24803, i32 24808, i32 24808, i32 24809, i32 24809, i32 24815, i32 24831, i32 24832, i32 24833, i32 24834, i32 24835, i32 24840, i32 24845, i32 24847, i32 24847, i32 24847, i32 24851, i32 24851, i32 24851, i32 24852, i32 24853, i32 24854, i32 24854, i32 24854, i32 24855, i32 24856, i32 24856, i32 24857, i32 24857, i32 24857, i32 24858, i32 24859, i32 24859, i32 24859, i32 24862, i32 24862, i32 24865, i32 24867, i32 24867, i32 24867, i32 24870, i32 24871, i32 24871, i32 24871, i32 24871, i32 24871, i32 24875, i32 24875, i32 24875, i32 24876, i32 24876, i32 24876, i32 24876, i32 24878, i32 24878, i32 24878, i32 24879, i32 24880, i32 24880, i32 24881, i32 24882, i32 24882, i32 24882, i32 24883, i32 24884, i32 24884, i32 24885, i32 24885, i32 24885, i32 24886, i32 24886, i32 24886, i32 24887, i32 24887, i32 24912, i32 24912, i32 24912, i32 24922, i32 24922, i32 25071, i32 25071, i32 25084, i32 25084, i32 25092, i32 25092, i32 25100, i32 25100, i32 25112, i32 25112, i32 25112, i32 25122, i32 25135, i32 25135, i32 25135, i32 25139, i32 25139, i32 25142, i32 25142, i32 25142, i32 25143, i32 25143, i32 25143, i32 25144, i32 25144, i32 25144, i32 25153, i32 25153, i32 25157, i32 25157, i32 25169, i32 25169, i32 25170, i32 25170, i32 25202, i32 25202, i32 25202, i32 25217, i32 25217, i32 25217, i32 25217, i32 25218, i32 25218, i32 25219, i32 25221, i32 25221, i32 25222, i32 25222, i32 25222, i32 25222, i32 25258, i32 25268, i32 25272, i32 25282, i32 25286, i32 25286, i32 25289, i32 25289, i32 25289, i32 25289, i32 25296, i32 25299, i32 25299, i32 25299, i32 25314, i32 25314, i32 25314, i32 25314, i32 25314, i32 25315, i32 25315, i32 25340, i32 25348, i32 25348, i32 25364, i32 25364, i32 25364, i32 25364, i32 25373, i32 25373, i32 25377, i32 25377, i32 25386, i32 25386, i32 25390, i32 25390, i32 25391, i32 25391, i32 25415, i32 25415, i32 25415, i32 25415, i32 25422, i32 25422, i32 25431, i32 25431, i32 25433, i32 25433, i32 25438, i32 25438, i32 25439, i32 25439, i32 25440, i32 25440, i32 25441, i32 25441, i32 25446, i32 25446, i32 25447, i32 25447, i32 25459, i32 25465, i32 25465, i32 25474, i32 25474, i32 25475, i32 25475, i32 25492, i32 25492, i32 25501, i32 25501, i32 25502, i32 25511, i32 25511, i32 25511, i32 25512, i32 25520, i32 25520, i32 25520, i32 25521, i32 25522, i32 25522, i32 25523, i32 25523, i32 25523, i32 25523, i32 25523, i32 25524, i32 25524, i32 25524, i32 25525, i32 25538, i32 25538, i32 25538, i32 25540, i32 25540, i32 25540, i32 25540, i32 25540, i32 25540, i32 25548, i32 25548, i32 25550, i32 25550, i32 25550, i32 25550, i32 25550, i32 25550, i32 25551, i32 25553, i32 25553, i32 25553, i32 25555, i32 25555, i32 25555, i32 25555, i32 25555, i32 25555, i32 25557, i32 25570, i32 25570, i32 25571, i32 25571, i32 25572, i32 25572, i32 25573, i32 25573, i32 25573, i32 25573, i32 25574, i32 25574, i32 25575, i32 25575, i32 25582, i32 25582, i32 25583, i32 25583, i32 25584, i32 25584, i32 25585, i32 25585, i32 25586, i32 25586, i32 25587, i32 25587, i32 25587, i32 25587, i32 25592, i32 25592, i32 25593, i32 25594, i32 25594, i32 25595, i32 25595, i32 25599, i32 25599, i32 25600, i32 25601, i32 25601, i32 25602, i32 25602, i32 25614, i32 25614, i32 25615, i32 25615, i32 25616, i32 25616, i32 25617, i32 25617, i32 25617, i32 25617, i32 25623, i32 25623, i32 25624, i32 25624, i32 25625, i32 25625, i32 25626, i32 25626, i32 25631, i32 25631, i32 25632, i32 25633, i32 25633, i32 25634, i32 25634, i32 25638, i32 25638, i32 25639, i32 25640, i32 25640, i32 25641, i32 25641, i32 25646, i32 25646, i32 25647, i32 25648, i32 25648, i32 25649, i32 25650, i32 25650, i32 25651, i32 25651, i32 25651, i32 25651, i32 25651, i32 25656, i32 25656, i32 25657, i32 25657, i32 25657, i32 25657, i32 25660, i32 25660, i32 25660, i32 25660, i32 25660, i32 25660, i32 25661, i32 25661, i32 25665, i32 25665, i32 25669, i32 25669, i32 25669, i32 25669, i32 25671, i32 25671, i32 25672, i32 25672, i32 25673, i32 25673, i32 25673, i32 25673, i32 25674, i32 25674, i32 25674, i32 25674, i32 25677, i32 25677, i32 25680, i32 25680, i32 25681, i32 25681, i32 25682, i32 25682, i32 25682, i32 25682, i32 25683, i32 25683, i32 25683, i32 25683, i32 25695, i32 25696, i32 25701, i32 25705, i32 25706, i32 25732, i32 25734, i32 25747, i32 25748, i32 25754, i32 25754, i32 25804, i32 25804, i32 25804, i32 25804, i32 25804, i32 25804, i32 25830, i32 25835, i32 25835, i32 25835, i32 25843, i32 25844, i32 25850, i32 25855, i32 25876, i32 25877, i32 25877, i32 25889, i32 25889, i32 25889, i32 25893, i32 25893, i32 25893, i32 25896, i32 25901, i32 25902, i32 25902, i32 25906, i32 25907, i32 25907, i32 25908, i32 25908, i32 25909, i32 25909, i32 25911, i32 25911, i32 25931, i32 25932, i32 25937, i32 25937, i32 25942, i32 25951, i32 25951, i32 25957, i32 25957, i32 25971, i32 25981, i32 25981, i32 25981, i32 25984, i32 25997, i32 25997, i32 26003, i32 26014, i32 26014, i32 26014, i32 26014, i32 26014, i32 26014, i32 26014, i32 26014, i32 26014, i32 26014, i32 26015, i32 26016, i32 26016, i32 26018, i32 26019, i32 26019, i32 26019, i32 26020, i32 26021, i32 26021, i32 26021, i32 26025, i32 26025, i32 26025, i32 26025, i32 26025, i32 26025, i32 26026, i32 26026, i32 26026, i32 26026, i32 26026, i32 26026, i32 26026, i32 26026, i32 26027, i32 26027, i32 26027, i32 26027, i32 26027, i32 26027, i32 26027, i32 26027, i32 26027, i32 26035, i32 26041, i32 26041, i32 26041, i32 26041, i32 26041, i32 26042, i32 26046, i32 26057, i32 26057, i32 26057, i32 26057, i32 26061, i32 26061, i32 26089, i32 26089, i32 26101, i32 26101, i32 26106, i32 26106, i32 26106, i32 26106, i32 26106, i32 26106, i32 26106, i32 26106, i32 26134, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26172, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26174, i32 26183, i32 26183, i32 26183, i32 26183, i32 26183, i32 26183, i32 26183, i32 26183, i32 26183, i32 26183, i32 26186, i32 26186, i32 26186, i32 26186, i32 26186, i32 26218, i32 26277, i32 26277, i32 26278, i32 26278, i32 26289, i32 26292, i32 26293, i32 26296, i32 26308, i32 26317, i32 26326, i32 26338, i32 26339, i32 26369, i32 26420, i32 26422, i32 26454, i32 26454, i32 26454, i32 26454, i32 26463, i32 26464, i32 26465, i32 26470, i32 26471, i32 26472, i32 26480, i32 26481, i32 26482, i32 26544, i32 26545, i32 26550, i32 26551, i32 26553, i32 26611, i32 26612, i32 26612, i32 26616, i32 26628, i32 26668, i32 26668, i32 26697, i32 26698, i32 26702, i32 26702, i32 26703, i32 26744, i32 26747, i32 26750, i32 26751, i32 26757, i32 26757, i32 26758, i32 26780, i32 26781, i32 26781, i32 26781, i32 26781, i32 26785, i32 26786, i32 26788, i32 26789, i32 26790, i32 26791, i32 26808, i32 26808, i32 26808, i32 26813, i32 26813, i32 26813, i32 26813, i32 26813, i32 26854, i32 26855, i32 26856, i32 26857, i32 26908, i32 26909, i32 26910, i32 26911, i32 26914, i32 26915, i32 26919, i32 26920, i32 26920, i32 26920, i32 26946, i32 26947, i32 26951, i32 26952, i32 26954, i32 27088, i32 27089, i32 27100, i32 27101, i32 27120, i32 27170, i32 27170, i32 27171, i32 27171, i32 27172, i32 27172, i32 27173, i32 27173, i32 27173, i32 27214, i32 27215, i32 27218, i32 27219, i32 27219, i32 27219, i32 27219, i32 27219, i32 27219, i32 27219, i32 27258, i32 27258, i32 27258, i32 27258, i32 27277, i32 27283, i32 27295, i32 27296, i32 27299, i32 27300, i32 27300, i32 27300, i32 27334, i32 27334, i32 27335, i32 27335, i32 27339, i32 27356, i32 27361, i32 27367, i32 27373, i32 27377, i32 27380, i32 27440, i32 27441, i32 27443, i32 27444, i32 27445, i32 27446, i32 27447, i32 27448, i32 27449, i32 27450, i32 27451, i32 27459, i32 27460, i32 27461, i32 27462, i32 27504, i32 27504, i32 27504, i32 27504, i32 27514, i32 27514, i32 27514, i32 27514, i32 27525, i32 27541, i32 27554, i32 27557, i32 27568, i32 27573, i32 27585, i32 27588, i32 27602, i32 27602, i32 27624, i32 27640, i32 27644, i32 27644, i32 27667, i32 27671, i32 27671, i32 27671, i32 27671, i32 27671, i32 27671, i32 27694, i32 27698, i32 27698, i32 27698, i32 27698, i32 27698, i32 27698, i32 27698, i32 27698, i32 27698, i32 27698, i32 27710, i32 27710, i32 27727, i32 27731, i32 27731, i32 27749, i32 27749, i32 27780, i32 27784, i32 27784, i32 27805, i32 27809, i32 27809, i32 27830, i32 27834, i32 27834, i32 27837, i32 27840, i32 27840, i32 27844, i32 27847, i32 27847, i32 27903, i32 27907, i32 27907, i32 27946, i32 27947, i32 27948, i32 27957, i32 27958, i32 27959, i32 28009, i32 28013, i32 28013, i32 28081, i32 28085, i32 28085, i32 28117, i32 28121, i32 28121, i32 28166, i32 28170, i32 28170, i32 28217, i32 28221, i32 28221, i32 28221, i32 28221, i32 28272, i32 28272, i32 28305, i32 28305, i32 28312, i32 28312, i32 28320, i32 28321, i32 28322, i32 28323, i32 28352, i32 28352, i32 28352, i32 28364, i32 28364, i32 28417, i32 28418, i32 28419, i32 28420, i32 28490, i32 28490, i32 28490, i32 28490, i32 28490, i32 28497, i32 28497, i32 28497, i32 28497, i32 28497, i32 28497, i32 28497, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28501, i32 28510, i32 28511, i32 28511, i32 28511, i32 28519, i32 28519, i32 28519, i32 28519, i32 28519, i32 28535, i32 28535, i32 28535, i32 28535, i32 28535, i32 28535, i32 28535, i32 28535, i32 28535, i32 28588, i32 28589, i32 28661, i32 28662, i32 28764, i32 28765, i32 28802, i32 28802, i32 28802, i32 28802, i32 28802, i32 28803, i32 28803, i32 28803, i32 28803, i32 28803, i32 28803, i32 28803, i32 28803, i32 28811, i32 28811, i32 28811, i32 28811, i32 28811, i32 28817, i32 28817, i32 28817, i32 28821, i32 28821, i32 28821, i32 28825, i32 28825, i32 28825, i32 28829, i32 28829, i32 28829, i32 28832, i32 28832, i32 28832, i32 28832, i32 28891, i32 28891, i32 28891, i32 28943, i32 28943, i32 28943, i32 28952, i32 28952, i32 28952, i32 28953, i32 28953, i32 28970, i32 28974, i32 29007, i32 29008, i32 29024, i32 29057, i32 29057, i32 29057, i32 29057, i32 29060, i32 29060, i32 29060, i32 29060, i32 29060, i32 29062, i32 29062, i32 29063, i32 29063, i32 29063, i32 29069, i32 29075, i32 29075, i32 29075, i32 29075, i32 29075, i32 29080, i32 29084, i32 29084, i32 29084, i32 29084, i32 29092, i32 29092, i32 29092, i32 29098, i32 29098, i32 29098, i32 29117, i32 29118, i32 29130, i32 29131, i32 29140, i32 29141, i32 29149, i32 29168, i32 29168, i32 29168, i32 29169, i32 29169, i32 29174, i32 29174, i32 29174, i32 29174, i32 29179, i32 29179, i32 29179, i32 29179, i32 29180, i32 29180, i32 29180, i32 29180, i32 29185, i32 29185, i32 29185, i32 29218, i32 29228, i32 29249, i32 29249, i32 29253, i32 29253, i32 29267, i32 29284, i32 29285, i32 29285, i32 29285, i32 29285, i32 29285, i32 29285, i32 29285, i32 29285, i32 29285, i32 29294, i32 29302, i32 29302, i32 29302, i32 29307, i32 29307, i32 29317, i32 29317, i32 29341, i32 29365, i32 29390, i32 29393, i32 29429, i32 29429, i32 29429, i32 29475, i32 29475, i32 29475, i32 29475, i32 29497, i32 29502, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29511, i32 29617, i32 29617, i32 29672, i32 29680, i32 29680, i32 29680, i32 29689, i32 29689, i32 29689, i32 29689, i32 29689, i32 29689, i32 29798, i32 29853, i32 29859, i32 29859, i32 29862, i32 29882, i32 29888, i32 29889, i32 29892, i32 29892, i32 29897, i32 29900, i32 29909, i32 29924, i32 29927, i32 29941, i32 29944, i32 29944, i32 29944, i32 29944, i32 29944, i32 29944, i32 29949, i32 29991, i32 29995, i32 29998, i32 29999, i32 30002, i32 30014, i32 30014, i32 30025, i32 30026, i32 30032, i32 30035, i32 30056, i32 30057, i32 30059, i32 30059, i32 30059, i32 30059, i32 30061, i32 30062, i32 30065, i32 30072, i32 30085, i32 30085, i32 30085, i32 30085, i32 30092, i32 30093, i32 30097, i32 30097, i32 30097, i32 30117, i32 30123, i32 30127, i32 30133, i32 30168, i32 30172, i32 30175, i32 30191, i32 30218, i32 30218, i32 30230, i32 30230, i32 30233, i32 30239, i32 30239, i32 30268, i32 30301, i32 30314, i32 30314, i32 30314, i32 30320, i32 30323, i32 30340, i32 30340, i32 30340, i32 30344, i32 30344, i32 30350, i32 30350, i32 30372, i32 30372, i32 30390, i32 30392, i32 30392, i32 30392, i32 30400, i32 30401, i32 30401, i32 30413, i32 30413, i32 30465, i32 30465, i32 30465, i32 30465, i32 30465, i32 30469, i32 30469, i32 30469, i32 30469, i32 30474, i32 30474, i32 30474, i32 30486, i32 30504, i32 30504, i32 30504, i32 30506, i32 30506, i32 30506, i32 30507, i32 30507, i32 30507, i32 30528, i32 30528, i32 30528, i32 30528, i32 30553, i32 30553, i32 30553, i32 30555, i32 30555, i32 30555, i32 30577, i32 30580, i32 30581, i32 30593, i32 30593, i32 30698, i32 30698, i32 30787, i32 30787, i32 30788, i32 30788, i32 30791, i32 30791, i32 30792, i32 30792, i32 30797, i32 30797, i32 30808, i32 30809, i32 30867, i32 30869, i32 30869, i32 30869, i32 30869, i32 30879, i32 30879, i32 30891, i32 30892, i32 30892, i32 30892, i32 30892, i32 30893, i32 30894, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30907, i32 30909, i32 30909, i32 30909, i32 30909, i32 30909, i32 30909, i32 30909, i32 30909, i32 30909, i32 30909, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30910, i32 30911, i32 30911, i32 30911, i32 30911, i32 30911, i32 30911, i32 30911, i32 30911, i32 30911, i32 30911, i32 30926, i32 30926, i32 30926, i32 30926, i32 30926, i32 30926, i32 30926, i32 30926, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30928, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30929, i32 30930, i32 30930, i32 30930, i32 30930, i32 30930, i32 30930, i32 30930, i32 30930, i32 30930, i32 30930, i32 30947, i32 30953, i32 30955, i32 30955, i32 30955, i32 30958, i32 30962, i32 30963, i32 30963, i32 30978, i32 30979, i32 30979, i32 30979, i32 30980, i32 30981, i32 30981, i32 30982, i32 30982, i32 30982, i32 30984, i32 30986, i32 30987, i32 30987, i32 31004, i32 31018, i32 31018, i32 31031, i32 31032, i32 31032, i32 31046, i32 31055, i32 31056, i32 31060, i32 31102, i32 31102, i32 31114, i32 31136, i32 31138, i32 31152, i32 31152, i32 31170, i32 31170, i32 31172, i32 31172, i32 31172, i32 31172, i32 31172, i32 31172, i32 31173, i32 31174, i32 31174, i32 31174, i32 31175, i32 31177, i32 31177, i32 31177, i32 31177, i32 31177, i32 31177, i32 31179, i32 31187, i32 31187, i32 31187, i32 31209, i32 31209, i32 31226, i32 31230, i32 31230, i32 31230, i32 31234, i32 31234, i32 31251, i32 31253, i32 31254, i32 31254, i32 31270, i32 31272, i32 31273, i32 31273, i32 31281, i32 31289, i32 31289, i32 31308, i32 31308, i32 31308, i32 31308, i32 31315, i32 31322, i32 31331, i32 31331, i32 31331, i32 31331, i32 31337, i32 31337, i32 31372, i32 31373, i32 31373, i32 31377, i32 31378, i32 31378, i32 31379, i32 31379, i32 31379, i32 31386, i32 31386, i32 31387, i32 31387, i32 31387, i32 31406, i32 31406, i32 31422, i32 31422, i32 31424, i32 31424, i32 31427, i32 31427, i32 31454, i32 31460, i32 31465, i32 31465, i32 31519, i32 31519, i32 31520, i32 31520, i32 31524, i32 31524, i32 31563, i32 31563, i32 31649, i32 31649, i32 31649, i32 31653, i32 31654, i32 31654, i32 31654, i32 31658, i32 31682, i32 31682, i32 31682, i32 31695, i32 31695, i32 31709, i32 31709, i32 31709, i32 31712, i32 31712, i32 31723, i32 31732, i32 31732, i32 31733, i32 31733, i32 31733, i32 31735, i32 31735, i32 31738, i32 31738, i32 31738, i32 31835, i32 31835, i32 31876, i32 31876, i32 31986, i32 32018, i32 32018, i32 32021, i32 32021, i32 32022, i32 32033, i32 32034, i32 32035, i32 32035, i32 32035, i32 32039, i32 32040, i32 32040, i32 32047, i32 32047, i32 32056, i32 32175, i32 32175, i32 32205, i32 32209, i32 32209, i32 32249, i32 32253, i32 32253, i32 32293, i32 32482, i32 32482, i32 32508, i32 32508, i32 32564, i32 32564, i32 32580, i32 32580, i32 32582, i32 32582, i32 32583, i32 32583, i32 32584, i32 32584, i32 32584, i32 32597, i32 32597, i32 32601, i32 32601, i32 32609, i32 32609, i32 32622, i32 32622, i32 32629, i32 32629, i32 32633, i32 32633, i32 32640, i32 32640, i32 32674, i32 32691, i32 32691, i32 32691, i32 32699, i32 32702, i32 32702, i32 32702, i32 32702, i32 32704, i32 32711, i32 32711, i32 32711, i32 32739, i32 32739, i32 32739, i32 32739, i32 32742, i32 32742, i32 32748, i32 32777, i32 32782, i32 32789, i32 32796, i32 32823, i32 32829, i32 32830, i32 32833, i32 32834, i32 32843, i32 32844, i32 32844, i32 32844, i32 32844, i32 32861, i32 32861, i32 32869, i32 32869, i32 32881, i32 32895, i32 32996, i32 32996, i32 32996, i32 32996, i32 33000, i32 33000, i32 33000, i32 33000, i32 33024, i32 33058, i32 33244, i32 33244, i32 33308, i32 33310, i32 33311, i32 33312, i32 33312, i32 33312, i32 33312, i32 33319, i32 33329, i32 33329, i32 33334, i32 33334, i32 33334, i32 33337, i32 33350, i32 33370, i32 33370, i32 33387, i32 33387, i32 33404, i32 33404, i32 33407, i32 33407, i32 33407, i32 33407, i32 33473, i32 33473, i32 33473, i32 33479, i32 33479, i32 33506, i32 33506, i32 33529, i32 33568, i32 33568, i32 33568, i32 33568, i32 33568, i32 33568, i32 33569, i32 33571, i32 33572, i32 33572, i32 33573, i32 33573, i32 33574, i32 33578, i32 33578, i32 33580, i32 33580, i32 33580, i32 33580, i32 33580, i32 33580, i32 33581, i32 33583, i32 33583, i32 33583, i32 33583, i32 33584, i32 33584, i32 33585, i32 33585, i32 33585, i32 33585, i32 33585, i32 33585, i32 33586, i32 33590, i32 33590, i32 33594, i32 33597, i32 33597, i32 33601, i32 33602, i32 33606, i32 33606, i32 33607, i32 33607, i32 33607, i32 33607, i32 33607, i32 33607, i32 33608, i32 33609, i32 33609, i32 33609, i32 33609, i32 33610, i32 33610, i32 33611, i32 33611, i32 33611, i32 33611, i32 33611, i32 33611, i32 33612, i32 33614, i32 33614, i32 33615, i32 33615, i32 33622, i32 33622, i32 33624, i32 33624, i32 33626, i32 33626, i32 33626, i32 33626, i32 33626, i32 33626, i32 33627, i32 33628, i32 33628, i32 33629, i32 33629, i32 33630, i32 33632, i32 33632, i32 33633, i32 33633, i32 33634, i32 33634, i32 33635, i32 33635, i32 33636, i32 33637, i32 33637, i32 33638, i32 33645, i32 33645, i32 33646, i32 33646, i32 33647, i32 33647, i32 33647, i32 33648, i32 33648, i32 33648, i32 33648, i32 33648, i32 33648, i32 33649, i32 33650, i32 33650, i32 33652, i32 33654, i32 33654, i32 33654, i32 33655, i32 33655, i32 33655, i32 33655, i32 33656, i32 33656, i32 33657, i32 33657, i32 33658, i32 33658, i32 33664, i32 33665, i32 33674, i32 33674, i32 33674, i32 33674, i32 33674, i32 33674, i32 33697, i32 33697, i32 33700, i32 33701, i32 33709, i32 33709, i32 33714, i32 33714, i32 33714, i32 33714, i32 33714, i32 33714, i32 33714, i32 33731, i32 33732, i32 33742, i32 33745, i32 33745, i32 33745, i32 33745, i32 33746, i32 33746, i32 33747, i32 33748, i32 33842, i32 33842, i32 33856, i32 33856, i32 33858, i32 33858, i32 33859, i32 33859, i32 33863, i32 33863, i32 33867, i32 33867, i32 33893, i32 33901, i32 33916, i32 33927, i32 33927, i32 33935, i32 33937, i32 33937, i32 33937, i32 33937, i32 33938, i32 33940, i32 33943, i32 33943, i32 33970, i32 33971, i32 33971, i32 33971, i32 33971, i32 33971, i32 33971, i32 33971, i32 33971, i32 33971, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33975, i32 33978, i32 33978, i32 33983, i32 33983, i32 33983, i32 33984, i32 33984, i32 33985, i32 33985, i32 33985, i32 33985, i32 33995, i32 33995, i32 34026, i32 34033, i32 34033, i32 34050, i32 34066, i32 34074, i32 34088, i32 34096, i32 34096, i32 34096, i32 34096, i32 34097, i32 34101, i32 34101, i32 34102, i32 34113, i32 34114, i32 34114, i32 34125, i32 519, i32 520, i32 521, i32 522, i32 523, i32 746, i32 754, i32 813, i32 814, i32 815, i32 1591, i32 2967, i32 2968, i32 2969, i32 2970, i32 2971, i32 2972, i32 3111, i32 3112, i32 3113, i32 3114, i32 3115, i32 3202, i32 3203, i32 3204, i32 3205, i32 3206, i32 3231, i32 3232, i32 3304, i32 3305, i32 3415, i32 3416, i32 3528, i32 3529, i32 3530, i32 3531, i32 3532, i32 3716, i32 3717, i32 3718, i32 3719, i32 3960, i32 3961, i32 3962, i32 3963, i32 3964, i32 3965, i32 4201, i32 4402, i32 4403, i32 4404, i32 4405, i32 4406, i32 4407, i32 4408, i32 4409, i32 4656, i32 4657, i32 4658, i32 4659, i32 4660, i32 4661, i32 4662, i32 4663, i32 4664, i32 4665, i32 5066, i32 5067, i32 5068, i32 5069, i32 5070, i32 5071, i32 5072, i32 5073, i32 5074, i32 5075, i32 5076, i32 5077, i32 5078, i32 5084, i32 5085, i32 5086, i32 5087, i32 5088, i32 5089, i32 5090, i32 5091, i32 5092, i32 5725, i32 5726, i32 5727, i32 5728, i32 5730, i32 5731, i32 5732, i32 5733, i32 5735, i32 5736, i32 5737, i32 5738, i32 5739, i32 5741, i32 5742, i32 5743, i32 5744, i32 5746, i32 5747, i32 5748, i32 5749, i32 5750, i32 5751, i32 5752, i32 5928, i32 5929, i32 6129, i32 6289, i32 6526, i32 6527, i32 6597, i32 6598, i32 6748, i32 6851, i32 6852, i32 6853, i32 6854, i32 6855, i32 6856, i32 6857, i32 6858, i32 6859, i32 6860, i32 6861, i32 6862, i32 6863, i32 6864, i32 7211, i32 7212, i32 7213, i32 7214, i32 7215, i32 7216, i32 7217, i32 7219, i32 7244, i32 7339, i32 7672, i32 7673, i32 7674, i32 7675, i32 7676, i32 7677, i32 8203, i32 8204, i32 8337, i32 8338, i32 8339, i32 8508, i32 8509, i32 8510, i32 8511, i32 8514, i32 8515, i32 9305, i32 9306, i32 9307, i32 9308, i32 9309, i32 9310, i32 9311, i32 9312, i32 9313, i32 9919, i32 9920, i32 9921, i32 9922, i32 9923, i32 9924, i32 9925, i32 9926, i32 9927, i32 9928, i32 10285, i32 10286, i32 10287, i32 10288, i32 10289, i32 10290, i32 10291, i32 10292, i32 10293, i32 10294, i32 10295, i32 10296, i32 10297, i32 10298, i32 10299, i32 10302, i32 10303, i32 10304, i32 10305, i32 10306, i32 10307, i32 10308, i32 10901, i32 11164, i32 11167, i32 11168, i32 11169, i32 11170, i32 11171, i32 12170, i32 12172, i32 12173, i32 12669, i32 12670, i32 12671, i32 12672, i32 12673, i32 12674, i32 12679, i32 12680, i32 12690, i32 12691, i32 12692, i32 14965, i32 14966, i32 14984, i32 14985, i32 15324, i32 15325, i32 15326, i32 15327, i32 15328, i32 15329, i32 15330, i32 15331, i32 15334, i32 15335, i32 15337, i32 15338, i32 15339, i32 15340, i32 15341, i32 15342, i32 15343, i32 15344, i32 15345, i32 15346, i32 15347, i32 15348, i32 15349, i32 15350, i32 15351, i32 15352, i32 15353, i32 15354, i32 15355, i32 15356, i32 16084, i32 16085, i32 16086, i32 16087, i32 16090, i32 16091, i32 16092, i32 16633, i32 16634, i32 16635, i32 16636, i32 16637, i32 16805, i32 16806, i32 16807, i32 16808, i32 16961, i32 16962, i32 16963, i32 16964, i32 17065, i32 17066, i32 17067, i32 17068, i32 17069, i32 17070, i32 17071, i32 17072, i32 17073, i32 17077, i32 17078, i32 17079, i32 17100, i32 17203, i32 17204, i32 17205, i32 17206, i32 17805, i32 25995, i32 26848, i32 26849, i32 26850, i32 26851, i32 27424, i32 27425, i32 27426, i32 27427, i32 27428, i32 27429, i32 27430, i32 27431, i32 27432, i32 27433, i32 27434, i32 27435, i32 27436, i32 27437, i32 27438, i32 28210, i32 28211, i32 28212, i32 28213, i32 28410, i32 28411, i32 28412, i32 28413, i32 28564, i32 28565, i32 28566, i32 28567, i32 28568, i32 28569, i32 28570, i32 28571, i32 28572, i32 28573, i32 28747, i32 28748, i32 29275, i32 29836, i32 29837, i32 29838, i32 29839, i32 30146, i32 30147, i32 34140, i32 34182, i32 34188, i32 34188, i32 34246, i32 34255, i32 34255, i32 34279, i32 34279, i32 34280, i32 34286, i32 34287, i32 34294, i32 34308, i32 34308, i32 34308, i32 34308, i32 34309, i32 34309, i32 34309, i32 34309, i32 34318, i32 34318, i32 34318, i32 34321, i32 34321, i32 34321, i32 34331, i32 34331, i32 34331, i32 34337, i32 34337, i32 34337, i32 34347, i32 34347, i32 34348, i32 34348, i32 34353, i32 34353, i32 34353, i32 34354, i32 34354, i32 34359, i32 34361, i32 34361, i32 34362, i32 34362, i32 34367, i32 34367, i32 34367, i32 34370, i32 34370, i32 34370, i32 34384, i32 34384, i32 34384, i32 34384, i32 34384, i32 34384, i32 34384, i32 34388, i32 34388, i32 34388, i32 34388, i32 34388, i32 34398, i32 34398, i32 34398, i32 34398, i32 34400, i32 34405, i32 34407, i32 34409, i32 34409, i32 34409, i32 34410, i32 34410, i32 34416, i32 34416, i32 34424, i32 34424, i32 34425, i32 34432, i32 34432] @lp_site_live = global [9064 x i64] zeroinitializer @lp_site_mark = global [9064 x i64] zeroinitializer @lp_site_stamp = global [9064 x i64] zeroinitializer @lp_site_base = global [9064 x i64] zeroinitializer @lp_site_scan = global [9064 x i64] zeroinitializer @lp_site_dlive = global [9064 x i64] zeroinitializer @lp_site_dbase = global [9064 x i64] zeroinitializer @lp_site_dhw = global [9064 x i64] zeroinitializer @lp_site_drise = global [9064 x i64] zeroinitializer @lp_site_owner = global [9064 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0] @lp_owner_name = global [1 x ptr] [ptr null] @lp_nowners = global i32 0 @lp_roots = global [458 x ptr] [ptr @g_toks, ptr @g_g_dg_file, ptr @g_g_dg_line, ptr @g_g_dg_col, ptr @g_g_dg_sev, ptr @g_g_dg_msg, ptr @g_g_sf_path, ptr @g_g_sf_norm, ptr @g_g_sf_base, ptr @g_g_sf_text, ptr @g_prog, ptr @g_g_game_name, ptr @g_g_parse_file, ptr @g_g_float_files, ptr @g_g_trusted_files, ptr @g_g_fm_mod, ptr @g_g_fm_pkg, ptr @g_g_fm_trusted, ptr @g_g_fm_src, ptr @g_g_mod_file, ptr @g_g_mod_name, ptr @g_g_mod_friends, ptr @g_g_fm_float, ptr @g_g_err_file, ptr @g_loaded_paths, ptr @g_cur_dir, ptr @g_g_rt_wants, ptr @g_g_clear_color, ptr @g_g_mod_sys_fn, ptr @g_g_mod_sys_phase, ptr @g_g_esys_comp, ptr @g_g_esys_fn, ptr @g_g_esys_phase, ptr @g_g_namespaces, ptr @g_g_ns_blocks, ptr @g_g_ns_exports, ptr @g_g_disabled_sys, ptr @g_g_gi_name, ptr @g_g_gi_gen, ptr @g_g_gi_args, ptr @g_g_gi_open, ptr @g_g_gi_file, ptr @g_g_gi_line, ptr @g_g_gen_tps, ptr @g_g_al_ns, ptr @g_g_al_meth, ptr @g_g_al_target, ptr @g_g_al_labels, ptr @g_g_al_file, ptr @g_g_mu_mod, ptr @g_g_mu_list, ptr @g_g_mu_file, ptr @g_g_mu_line, ptr @g_g_fr_scope, ptr @g_g_ly_mod, ptr @g_g_ly_name, ptr @g_g_pk_file, ptr @g_g_pk_name, ptr @g_g_mu_done, ptr @g_g_native_libs, ptr @g_g_native_pkgs, ptr @g_g_pt_name, ptr @g_g_pt_comp, ptr @g_g_pt_var, ptr @g_g_pt_bind, ptr @g_g_bd, ptr @g_g_rn_mod, ptr @g_g_rn_old, ptr @g_g_rn_new, ptr @g_g_rn_fn, ptr @g_g_rt_mod, ptr @g_g_rt_old, ptr @g_g_rt_new, ptr @g_g_re_mod, ptr @g_g_re_old, ptr @g_g_re_new, ptr @g_g_state_names, ptr @g_g_act_names, ptr @g_g_act_nodes, ptr @g_g_red_nodes, ptr @g_g_red_state, ptr @g_g_red_action, ptr @g_g_dsp_ids, ptr @g_g_dsp_names, ptr @g_g_dsp_at, ptr @g_g_act_main, ptr @g_g_red_rec, ptr @g_g_red_tbl, ptr @g_g_red_tgt, ptr @g_g_red_mc, ptr @g_g_tgt_comp, ptr @g_g_tgt_field, ptr @g_g_tgt_node, ptr @g_g_col_comp, ptr @g_g_col_field, ptr @g_g_rv_nodes, ptr @g_g_mc_reg, ptr @g_g_mc_rec, ptr @g_g_mc_field, ptr @g_g_mc_file, ptr @g_g_mc_line, ptr @g_g_mc_enum, ptr @g_g_mc_state, ptr @g_g_mc_path, ptr @g_g_mc_start, ptr @g_g_mc_tick, ptr @g_g_mc_acts, ptr @g_g_mc_gen, ptr @g_g_mc_fns, ptr @g_g_mc_pend_rec, ptr @g_g_mc_pend_field, ptr @g_g_mc_gen_reg, ptr @g_g_mt_key, ptr @g_g_mt_from, ptr @g_g_mt_to, ptr @g_g_mt_on, ptr @g_g_mt_guard, ptr @g_g_mt_enter, ptr @g_g_mt_file, ptr @g_g_mt_line, ptr @g_g_mt_col, ptr @g_g_ma_node, ptr @g_g_ma_call, ptr @g_g_ma_state, ptr @g_g_ma_excess, ptr @g_g_mg_plan, ptr @g_g_mg_vars, ptr @g_g_mg_vstate, ptr @g_g_mg_written, ptr @g_g_mg_let, ptr @g_g_mr_unit, ptr @g_g_ms_name, ptr @g_g_ms_mod, ptr @g_g_ms_param, ptr @g_g_ms_export, ptr @g_g_mu_node, ptr @g_g_mu_kind, ptr @g_g_mu_need, ptr @g_g_mu_mut, ptr @g_g_mc_call, ptr @g_g_mc_unit, ptr @g_g_mc_callee, ptr @g_g_mr_node, ptr @g_g_mr_var, ptr @g_g_mr_ui, ptr @g_g_mg_report, ptr @g_g_mg_entry, ptr @g_g_mg_fv_name, ptr @g_g_mg_fv_node, ptr @g_g_mc_passed, ptr @g_g_mg_lines, ptr @g_g_mg_keys, ptr @g_g_mv_need, ptr @g_g_mv_mut, ptr @g_g_mcm_need, ptr @g_g_mcm_mut, ptr @g_g_mg_pbv, ptr @g_g_rg_name, ptr @g_g_rg_type, ptr @g_g_rg_prefix, ptr @g_g_rg_var, ptr @g_g_rg_open, ptr @g_g_rg_from, ptr @g_g_rg_at, ptr @g_g_df_reg, ptr @g_g_df_key, ptr @g_g_df_rec, ptr @g_g_df_kline, ptr @g_g_df_kcol, ptr @g_g_df_src, ptr @g_g_df_via, ptr @g_g_at_start, ptr @g_g_at_count, ptr @g_g_at_name, ptr @g_g_at_args, ptr @g_g_at_first, ptr @g_g_at_nargs, ptr @g_g_at_unres, ptr @g_g_at_decl, ptr @g_g_at_arg0, ptr @g_g_at_strs, ptr @g_g_at_decl_args, ptr @g_g_vc_kind, ptr @g_g_vc_name, ptr @g_g_vc_role, ptr @g_g_vc_form, ptr @g_g_vc_on, ptr @g_g_vc_doc, ptr @g_g_rg_permap, ptr @g_g_rg_chunk, ptr @g_g_pm_root, ptr @g_g_pm_recs, ptr @g_g_pm_pooled, ptr @g_g_pm_fnty, ptr @g_g_pmc_fval, ptr @g_g_pmc_names, ptr @g_g_pmc_isf, ptr @g_g_pmc_iv, ptr @g_g_pmc_ftext, ptr @g_g_pmc_all, ptr @g_g_pmc_node, ptr @g_g_pmk_reg, ptr @g_g_pmk_key, ptr @g_g_pmk_rec, ptr @g_g_pmk_kline, ptr @g_g_pmk_kcol, ptr @g_g_pmk_file, ptr @g_g_pmk_ref_reg, ptr @g_g_pmk_ref_key, ptr @g_g_pmk_ref_at, ptr @g_g_pmk_mod, ptr @g_g_pmk_md, ptr @g_g_vw_name, ptr @g_g_vw_node, ptr @g_g_vw_fields, ptr @g_g_vw_fnames, ptr @g_g_vw_calls, ptr @g_g_vw_cnames, ptr @g_g_vw_helpers, ptr @g_g_vw_hdr, ptr @g_g_vw_nps, ptr @g_g_vw_ps, ptr @g_g_cm_name, ptr @g_g_cm_file, ptr @g_g_cm_line, ptr @g_g_cm_vis, ptr @g_g_cm_keep, ptr @g_g_cm_keep_ty, ptr @g_g_cm_prop, ptr @g_g_cm_defs, ptr @g_g_cm_fields, ptr @g_g_cm_fnames, ptr @g_g_cm_calls, ptr @g_g_cm_cnames, ptr @g_g_cm_head, ptr @g_g_cm_hdr, ptr @g_g_cm_ps, ptr @g_g_cm_at, ptr @g_g_cm_kat, ptr @g_g_cm_fline, ptr @g_g_cm_isev, ptr @g_g_cm_xml_path, ptr @g_g_cm_lss_path, ptr @g_g_cm_xml, ptr @g_g_po_cid, ptr @g_g_po_cstr, ptr @g_g_po_cdesc, ptr @g_g_po_cctxt, ptr @g_g_i18n_dir, ptr @g_g_i18n_src, ptr @g_g_i18n_en, ptr @g_g_i18n_en_path, ptr @g_g_rg_textkey, ptr @g_g_tk_pending, ptr @g_g_ks_key, ptr @g_g_ks_kind, ptr @g_g_ks_file, ptr @g_g_ks_line, ptr @g_g_ks_col, ptr @g_g_ks_seen, ptr @g_g_i18n_what, ptr @g_g_xk_src, ptr @g_g_xk_file, ptr @g_g_xk_last_name, ptr @g_head, ptr @g_code, ptr @g_falloc, ptr @g_loc_name, ptr @g_loc_reg, ptr @g_loc_ty, ptr @g_loc_mut, ptr @g_g_tests, ptr @g_g_src_name, ptr @g_g_cov_lines, ptr @g_brk_lbl, ptr @g_cnt_lbl, ptr @g_ret_ty, ptr @g_self_stk, ptr @g_mach_stk, ptr @g_g_scenes, ptr @g_g_cur_scene, ptr @g_g_ix_tagged, ptr @g_g_ix_keys, ptr @g_g_ix_vals, ptr @g_g_computed, ptr @g_g_onspawn, ptr @g_g_ondespawn, ptr @g_g_onattach, ptr @g_g_ondetach, ptr @g_g_onenable, ptr @g_g_ondisable, ptr @g_g_events, ptr @g_g_onlisten, ptr @g_g_ret_label, ptr @g_g_cancel_addr, ptr @g_g_toggled_layers, ptr @g_loc_blk, ptr @g_g_site_fn, ptr @g_g_site_file, ptr @g_g_site_line, ptr @g_g_site_kind, ptr @g_g_site_owner, ptr @g_g_owner_names, ptr @g_g_cur_fn_name, ptr @g_g_site_fnc, ptr @g_g_site_filen, ptr @g_g_site_filec, ptr @g_g_site_kinds, ptr @g_g_site_kindc, ptr @g_g_site_next, ptr @g_g_fence_census, ptr @g_g_scan_roots, ptr @g_g_cap_keys, ptr @g_g_cap_vals, ptr @g_g_push_capname, ptr @g_g_es_node, ptr @g_g_alloc_ok_names, ptr @g_g_frame_fields, ptr @g_g_fr_root, ptr @g_g_fr_from, ptr @g_g_es_flag, ptr @g_g_es_why, ptr @g_g_es_own, ptr @g_g_es_gname, ptr @g_g_es_gcls, ptr @g_g_es_ok, ptr @g_g_es_ov, ptr @g_g_es_swhy, ptr @g_g_es_stmt, ptr @g_g_es_site_aok, ptr @g_g_es_site_grow, ptr @g_g_es_fnrefs, ptr @g_g_es_consumed, ptr @g_g_es_ft, ptr @g_g_es_ff, ptr @g_g_es_st, ptr @g_g_es_sv, ptr @g_g_es_site, ptr @g_g_es_site_cls, ptr @g_g_es_site_fn, ptr @g_g_es_fk, ptr @g_g_es_fv, ptr @g_g_es_fparam, ptr @g_g_es_fret, ptr @g_g_es_fnode, ptr @g_g_es_fspans, ptr @g_g_es_calls_f, ptr @g_g_es_calls_t, ptr @g_g_es_ln, ptr @g_g_es_lc, ptr @g_g_es_lt, ptr @g_g_res_make_fn, ptr @g_g_res_make_kind, ptr @g_g_res_free_fn, ptr @g_g_res_free_kind, ptr @g_g_res_pending_make, ptr @g_g_res_pending_free, ptr @g_g_own_type, ptr @g_g_own_field, ptr @g_g_own_kind, ptr @g_g_own_pending, ptr @g_g_gi_idx_k, ptr @g_g_gi_idx_v, ptr @g_g_gi_fn_seen, ptr @g_g_gi_state, ptr @g_g_gi_out, ptr @g_g_dp_key, ptr @g_g_dp_cnt, ptr @g_g_dp_name, ptr @g_g_dp_writes, ptr @g_g_dp_al_local, ptr @g_g_dp_al_owner, ptr @g_g_dp_al_global, ptr @g_g_dp_aliases, ptr @g_g_dp_st_field, ptr @g_g_dr_name, ptr @g_g_dr_node, ptr @g_g_dr_refs, ptr @g_g_dr_bits, ptr @g_g_dr_wbits, ptr @g_g_dr_find_k, ptr @g_g_dr_rl_name, ptr @g_g_dr_rl_reg, ptr @g_g_dr_find_v, ptr @g_g_dr_disp_of, ptr @g_g_dr_root, ptr @g_g_dr_hf, ptr @g_g_dr_locals, ptr @g_g_dr_bits2, ptr @g_g_dr_cur2, ptr @g_g_dr_refs2, ptr @g_g_dr_wbits2, ptr @g_g_addr_ty, ptr @g_g_det_names, ptr @g_g_det_ctx, ptr @g_g_fp_decls, ptr @g_g_prevals, ptr @g_g_inj_done, ptr @g_g_schema_out, ptr @g_g_sn_tag, ptr @g_g_sn_via, ptr @g_g_sn_fn, ptr @g_g_sn_call, ptr @g_g_cx_emits, ptr @g_g_cx_fnrefs, ptr @g_g_cx_h, ptr @g_g_cx_hname, ptr @g_g_cx_hhook, ptr @g_g_cx_htarget, ptr @g_g_cx_hq, ptr @g_g_cx_hpub, ptr @g_g_cx_hscene, ptr @g_g_cx_hlayer, ptr @g_g_cx_hlisten, ptr @g_g_cx_slayers, ptr @g_g_cx_sthen, ptr @g_g_cx_sloads, ptr @g_g_cx_spub, ptr @g_g_cx_wn, ptr @g_g_cx_wkind, ptr @g_g_cx_wslot, ptr @g_g_cx_wentry, ptr @g_ck_ro, ptr @g_ck_alias, ptr @g_ck_ro_st, ptr @g_ck_from_st, ptr @g_ck_fn_k, ptr @g_ck_fn_v, ptr @g_ck_gl_k, ptr @g_ck_gl_v, ptr @g_ck_rec_k, ptr @g_ck_rec_v, ptr @g_ck_en_k, ptr @g_ck_en_v, ptr @g_ck_ex_k, ptr @g_ck_ex_v, ptr @g_ck_names, ptr @g_ck_tys, ptr @g_ck_ret, ptr @g_ck_fn_node, ptr @g_ck_mem_node, ptr @g_ck_mem_base, ptr @g_ck_vis_file, ptr @g_ck_shadow_seen, ptr @g_g_gen_recs, ptr @g_g_gen_fns, ptr @g_g_gen_out, ptr @g_g_gen_work, ptr @g_ck_expect, ptr @g_ck_call_expect, ptr @g_ck_ty_k, ptr @g_ck_ty_v, ptr @g_g_mach_ty, ptr @g_g_snap_mode, ptr @g_g_off, ptr @g_uiw, ptr @g_uiw_parent, ptr @g_ui_roots] @lp_nroots = global i32 458 @lp_site_ra = global [54384 x ptr] zeroinitializer 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 %t11 = alloca ptr %t22 = alloca i32 %t30 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_stdin_file_serve(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 store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t0 store i32 7, ptr @lp_site %t10 = call ptr @lp_pak_open(ptr %t9, ptr @.str7) store i32 0, ptr @lp_site 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 null, ptr %retval br label %ret ifend5: %t16 = load ptr, ptr %t11 %t17 = sext i32 0 to i64 %t18 = call i32 @fseek(ptr %t16, i64 %t17, i32 2) %t19 = load ptr, ptr %t11 %t20 = call i64 @ftell(ptr %t19) %t21 = trunc i64 %t20 to i32 store i32 %t21, ptr %t22 %t23 = load ptr, ptr %t11 %t24 = sext i32 0 to i64 %t25 = call i32 @fseek(ptr %t23, i64 %t24, i32 0) %t26 = load i32, ptr %t22 %t27 = add i32 %t26, 1 %t28 = zext i32 %t27 to i64 store i32 8, ptr @lp_site %t29 = call ptr @lp_malloc(i64 %t28) store i32 0, ptr @lp_site store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t11 %t32 = load ptr, ptr %t30 %t33 = load i32, ptr %t22 %t34 = zext i32 %t33 to i64 %t35 = call i64 @fread(ptr %t32, i64 1, i64 %t34, ptr %t31) %t36 = trunc i64 %t35 to i32 %t37 = load ptr, ptr %t30 %t38 = load i32, ptr %t22 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = trunc i32 0 to i8 store i8 %t40, ptr %t39 %t41 = load ptr, ptr %t11 call i32 @fclose(ptr %t41) %t42 = load ptr, ptr %t30 store ptr %t42, ptr %retval br label %ret ret: %t43 = load ptr, ptr %retval ret ptr %t43 } 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: %t72 = load ptr, ptr @__stderrp 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: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str14, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str15, 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 11, 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 12, 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 13, 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 14, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str19, ptr %t13) store i32 0, ptr @lp_site store i32 15, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str21) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load i32, ptr %t1 store i32 16, ptr @lp_site %t17 = call ptr @lp_int_str(i32 %t16) store i32 0, ptr @lp_site store i32 17, 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 18, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str23) 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 @.str24, ptr %t10) call void @fn_diag_exit(i32 1) br label %ifend2 ifend2: %t11 = load ptr, ptr @g_g_parse_file store i32 19, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str25) store i32 0, ptr @lp_site %t13 = load i32, ptr %t0 store i32 20, ptr @lp_site %t14 = call ptr @lp_int_str(i32 %t13) store i32 0, ptr @lp_site store i32 21, 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 22, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str27) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t1 store i32 23, 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 24, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str28) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr @__stderrp %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 25, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str31, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str32, 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 26, 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 27, 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 @.str33) 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 28, 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 29, 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 30, 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 31, 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 @.str35) 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 32, 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 33, 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 34, 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 35, 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 36, 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 37, 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 38, 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 39, 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 40, 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 41, 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 42, 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 43, 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 44, 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 45, 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 46, 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: %t950 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t950, ptr @.fmt_bounds, ptr @.str36, 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: %t974 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t974, ptr @.fmt_bounds, ptr @.str37, 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 @.str38, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str39, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str40, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str41, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str42, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str43, 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 47, 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 48, 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 49, 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 50, 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 51, 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 @.str45) %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 52, 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 @.str47) 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 @.str48) 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 @.str49) 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 @.str50) 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 @.str51) 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 @.str52) %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 @.str53) 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 @.str54) br label %ifend5 ifend5: %t16 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t16, ptr @.str55) %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str56, 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 @.str57) %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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str58, 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 @.str59) %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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str60, 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 @.str61) %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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str62, 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 @.str63) %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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str64, 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 @.str65) %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 @.str66) br label %ifend18 ifend18: %t86 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t86, ptr @.str67) %t87 = load ptr, ptr @__stdoutp 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 void @fn_stdin_file_set(ptr %arg_path) { entry: %t0 = alloca ptr %t6 = alloca i32 %t11 = alloca ptr %t12 = alloca i32 %t14 = alloca i32 store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr @g_g_sf_path %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_normalise_path(ptr %t2) store ptr %t3, ptr @g_g_sf_norm %t4 = load ptr, ptr @g_g_sf_norm %t5 = call ptr @fn_base_name(ptr %t4) store ptr %t5, ptr @g_g_sf_base store i32 4096, ptr %t6 %t7 = load i32, ptr %t6 %t8 = add i32 %t7, 1 %t9 = zext i32 %t8 to i64 store i32 53, ptr @lp_site %t10 = call ptr @lp_malloc(i64 %t9) store i32 0, ptr @lp_site store ptr %t10, ptr %t11 store i32 0, ptr %t12 %t13 = call i32 @getchar() store i32 %t13, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t14 %t16 = icmp sge 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 i32, ptr %t12 %t20 = load i32, ptr %t6 %t21 = icmp eq i32 %t19, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load i32, ptr %t6 %t25 = mul i32 %t24, 2 store i32 %t25, ptr %t6 %t26 = load ptr, ptr %t11 %t27 = load i32, ptr %t6 %t28 = add i32 %t27, 1 %t29 = zext i32 %t28 to i64 store i32 54, ptr @lp_site %t30 = call ptr @lp_realloc(ptr %t26, i64 %t29) store i32 0, ptr @lp_site store ptr %t30, ptr %t11 br label %ifend5 ifend5: %t31 = load ptr, ptr %t11 %t32 = load i32, ptr %t12 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i32, ptr %t14 %t35 = trunc i32 %t34 to i8 store i8 %t35, ptr %t33 %t36 = load i32, ptr %t12 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t12 %t38 = call i32 @getchar() store i32 %t38, ptr %t14 br label %wcond0 wend2: %t39 = load ptr, ptr %t11 %t40 = load i32, ptr %t12 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = trunc i32 0 to i8 store i8 %t42, ptr %t41 %t43 = load ptr, ptr %t11 store ptr %t43, ptr @g_g_sf_text %t44 = load i32, ptr %t12 store i32 %t44, ptr @g_g_sf_len br label %ret ret: ret void } define ptr @fn_stdin_file_serve(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t22 = alloca ptr %t23 = alloca i32 store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr @g_g_sf_text %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 = load ptr, ptr @g_g_sf_base %t7 = call i32 @fn_sf_tail_is(ptr %t5, ptr %t6) %t8 = icmp eq i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: store ptr null, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call ptr @fn_normalise_path(ptr %t11) %t13 = load ptr, ptr @g_g_sf_norm %t14 = call i32 @lp_str_eq(ptr %t12, ptr %t13) %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: store ptr null, ptr %retval br label %ret ifend8: %t18 = load i32, ptr @g_g_sf_len %t19 = add i32 %t18, 1 %t20 = zext i32 %t19 to i64 store i32 55, ptr @lp_site %t21 = call ptr @lp_malloc(i64 %t20) store i32 0, ptr @lp_site store ptr %t21, ptr %t22 store i32 0, ptr %t23 br label %wcond9 wcond9: %t24 = load i32, ptr %t23 %t25 = load i32, ptr @g_g_sf_len %t26 = icmp slt i32 %t24, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody10, label %wend11 wbody10: %t29 = load ptr, ptr %t22 %t30 = load i32, ptr %t23 %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 %t32 = load ptr, ptr @g_g_sf_text %t33 = load i32, ptr %t23 %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 %t35 = load i8, ptr %t34 %t36 = zext i8 %t35 to i32 %t37 = trunc i32 %t36 to i8 store i8 %t37, ptr %t31 %t38 = load i32, ptr %t23 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t23 br label %wcond9 wend11: %t40 = load ptr, ptr %t22 %t41 = load i32, ptr @g_g_sf_len %t42 = getelementptr inbounds i8, ptr %t40, i32 %t41 %t43 = trunc i32 0 to i8 store i8 %t43, ptr %t42 store i32 1, ptr @g_g_sf_served %t44 = load ptr, ptr %t22 store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define void @fn_stdin_file_unreached() { entry: %t0 = alloca i32 %t1 = load ptr, ptr @g_g_sf_text %t2 = icmp eq ptr %t1, null %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_sf_served %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_sf_path %t12 = load ptr, ptr @g_g_sf_path store i32 56, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str70, ptr %t12) store i32 0, ptr @lp_site store i32 57, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str72) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) call void @fn_pwarn_at(ptr %t11, i32 1, i32 0, ptr %t14) br label %ret ret: ret void } define i32 @fn_sf_tail_is(ptr %arg_path, ptr %arg_base) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t16 = alloca i32 %t22 = alloca i32 %t44 = alloca i32 store ptr %arg_path, ptr %t0 store ptr %arg_base, ptr %t1 store i32 0, 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 i32, ptr %t2 %t12 = add i32 %t11, 1 store i32 %t12, ptr %t2 br label %wcond0 wend2: %t13 = load ptr, ptr %t1 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 store i32 %t15, ptr %t16 %t17 = load i32, ptr %t2 %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 %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t23 = load i32, ptr %t2 %t24 = load i32, ptr %t16 %t25 = icmp sgt 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 %sc6, label %scend7 sc6: %t29 = load ptr, ptr %t0 %t30 = load i32, ptr %t2 %t31 = load i32, ptr %t16 %t32 = sub i32 %t30, %t31 %t33 = sub i32 %t32, 1 %t34 = getelementptr inbounds i8, ptr %t29, i32 %t33 %t35 = load i8, ptr %t34 %t36 = zext i8 %t35 to i32 %t37 = call i32 @fn_is_sep(i32 %t36) %t38 = icmp eq 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 %t22 br label %scend7 scend7: %t42 = load i32, ptr %t22 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %ifend10 then8: store i32 0, ptr %retval br label %ret ifend10: store i32 0, ptr %t44 br label %wcond11 wcond11: %t45 = load i32, ptr %t44 %t46 = load i32, ptr %t16 %t47 = icmp slt i32 %t45, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody12, label %wend13 wbody12: %t50 = load ptr, ptr %t0 %t51 = load i32, ptr %t2 %t52 = load i32, ptr %t16 %t53 = sub i32 %t51, %t52 %t54 = load i32, ptr %t44 %t55 = add i32 %t53, %t54 %t56 = getelementptr inbounds i8, ptr %t50, i32 %t55 %t57 = load i8, ptr %t56 %t58 = zext i8 %t57 to i32 %t59 = call i32 @fn_sf_fold(i32 %t58) %t60 = load ptr, ptr %t1 %t61 = load i32, ptr %t44 %t62 = getelementptr inbounds i8, ptr %t60, i32 %t61 %t63 = load i8, ptr %t62 %t64 = zext i8 %t63 to i32 %t65 = call i32 @fn_sf_fold(i32 %t64) %t66 = icmp ne i32 %t59, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then14, label %ifend16 then14: store i32 0, ptr %retval br label %ret ifend16: %t69 = load i32, ptr %t44 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t44 br label %wcond11 wend13: store i32 1, ptr %retval br label %ret ret: %t71 = load i32, ptr %retval ret i32 %t71 } define i32 @fn_sf_fold(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 store i32 %arg_c, ptr %t0 %t3 = load i32, ptr %t0 %t4 = icmp sge i32 %t3, 65 %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 = icmp sle i32 %t8, 90 %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 %sc2, label %scend3 sc2: %t16 = call i32 @fn_host_is_windows() %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t1 br label %scend3 scend3: %t19 = load i32, ptr %t1 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then4, label %ifend6 then4: %t21 = load i32, ptr %t0 %t22 = add i32 %t21, 32 store i32 %t22, ptr %retval br label %ret ifend6: %t23 = load i32, ptr %t0 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define ptr @fn_normalise_path(ptr %arg_p) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t24 = alloca i32 %t44 = alloca i32 %t50 = alloca ptr %t51 = alloca i32 %t77 = alloca ptr %t78 = alloca i32 %t79 = alloca i32 %t80 = alloca i32 %t84 = alloca i32 %t90 = alloca i32 %t112 = alloca ptr %t113 = alloca i32 %t114 = alloca i32 %t147 = alloca i32 %t205 = alloca ptr %t206 = alloca i32 store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_fwd_slashes(ptr %t1) store ptr %t2, ptr %t3 %t6 = load ptr, ptr %t3 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %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 %t5 br i1 %t11, label %sc0, label %scend1 sc0: %t13 = load ptr, ptr %t3 %t14 = getelementptr inbounds i8, ptr %t13, i32 0 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = icmp eq i32 %t16, 47 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t5 br label %scend1 scend1: %t21 = load i32, ptr %t5 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t4 br i1 %t22, label %scend3, label %sc2 sc2: %t25 = load ptr, ptr %t3 %t26 = call i64 @strlen(ptr %t25) %t27 = trunc i64 %t26 to i32 %t28 = icmp sgt i32 %t27, 1 %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 %sc4, label %scend5 sc4: %t32 = load ptr, ptr %t3 %t33 = getelementptr inbounds i8, ptr %t32, i32 1 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = icmp eq i32 %t35, 58 %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 %scend5 scend5: %t40 = load i32, ptr %t24 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t4 br label %scend3 scend3: %t43 = load i32, ptr %t4 store i32 %t43, ptr %t44 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then6, label %ifend8 then6: %t49 = call ptr @getenv(ptr @.str73) store ptr %t49, ptr %t50 %t52 = load ptr, ptr %t50 %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 %t51 br i1 %t55, label %sc9, label %scend10 sc9: %t57 = load ptr, ptr %t50 %t58 = call i64 @strlen(ptr %t57) %t59 = trunc i64 %t58 to i32 %t60 = icmp sgt 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 %t51 br label %scend10 scend10: %t64 = load i32, ptr %t51 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then11, label %ifend13 then11: %t66 = load ptr, ptr %t50 %t67 = call ptr @fn_fwd_slashes(ptr %t66) store i32 58, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str74) store i32 0, ptr @lp_site %t69 = load ptr, ptr %t3 store i32 59, 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 ptr %t70, ptr %t3 br label %ifend13 ifend13: br label %ifend8 ifend8: %t71 = getelementptr %LSlice, ptr null, i32 1 %t72 = ptrtoint ptr %t71 to i64 store i32 60, 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 %t77 store i32 0, ptr %t78 store i32 0, ptr %t79 store i32 0, ptr %t80 %t81 = load ptr, ptr %t3 %t82 = call i64 @strlen(ptr %t81) %t83 = trunc i64 %t82 to i32 store i32 %t83, ptr %t84 br label %wcond14 wcond14: %t85 = load i32, ptr %t80 %t86 = load i32, ptr %t84 %t87 = icmp sle i32 %t85, %t86 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %wbody15, label %wend16 wbody15: %t91 = load i32, ptr %t80 %t92 = load i32, ptr %t84 %t93 = icmp eq i32 %t91, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t90 br i1 %t95, label %scend18, label %sc17 sc17: %t97 = load ptr, ptr %t3 %t98 = load i32, ptr %t80 %t99 = getelementptr inbounds i8, ptr %t97, i32 %t98 %t100 = load i8, ptr %t99 %t101 = zext i8 %t100 to i32 %t102 = icmp eq i32 %t101, 47 %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t90 br label %scend18 scend18: %t106 = load i32, ptr %t90 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then19, label %ifend21 then19: %t108 = load ptr, ptr %t3 %t109 = load i32, ptr %t79 %t110 = load i32, ptr %t80 store i32 61, ptr @lp_site %t111 = call ptr @lp_str_slice(ptr %t108, i32 %t109, i32 %t110) store i32 0, ptr @lp_site store ptr %t111, ptr %t112 %t115 = load ptr, ptr %t112 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str77) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t114 br i1 %t117, label %sc22, label %scend23 sc22: %t119 = load i32, ptr %t78 %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 label %scend23 scend23: %t124 = load i32, ptr %t114 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t113 br i1 %t125, label %sc24, label %scend25 sc24: %t127 = load ptr, ptr %t77 %t128 = load i32, ptr %t78 %t129 = sub i32 %t128, 1 %t130 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 %t129, %t133 br i1 %t134, label %ixok26, label %ixbad27 ixbad27: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str78, 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 = call i32 @lp_str_eq(ptr %t137, ptr @.str79) %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 %t113 br label %scend25 scend25: %t143 = load i32, ptr %t113 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then28, label %else29 then28: %t145 = load i32, ptr %t78 %t146 = sub i32 %t145, 1 store i32 %t146, ptr %t78 br label %ifend30 else29: %t148 = load ptr, ptr %t112 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str80) %t150 = icmp eq i32 %t149, 0 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t147 br i1 %t152, label %sc31, label %scend32 sc31: %t154 = load ptr, ptr %t112 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str81) %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 %t147 br label %scend32 scend32: %t160 = load i32, ptr %t147 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then33, label %ifend35 then33: %t162 = load i32, ptr %t78 %t163 = load ptr, ptr %t77 %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t165 = load i32, ptr %t164 %t166 = icmp slt i32 %t162, %t165 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then36, label %else37 then36: %t169 = load ptr, ptr %t77 %t170 = load i32, ptr %t78 %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 %ixok39, label %ixbad40 ixbad40: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str82, i32 %t170, i32 %t174) call void @exit(i32 1) unreachable ixok39: %t177 = getelementptr inbounds ptr, ptr %t172, i32 %t170 %t178 = load ptr, ptr %t112 store ptr %t178, ptr %t177 br label %ifend38 else37: %t179 = load ptr, ptr %t77 %t180 = load ptr, ptr %t112 %t181 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t182 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 2 %t183 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t184 = load i32, ptr %t181 %t185 = load i32, ptr %t182 %t186 = icmp sge i32 %t184, %t185 br i1 %t186, label %grow41, label %put42 grow41: %t187 = mul i32 %t185, 2 %t188 = icmp eq i32 %t185, 0 %t189 = select i1 %t188, i32 8, i32 %t187 %t190 = getelementptr ptr, ptr null, i32 1 %t191 = ptrtoint ptr %t190 to i64 %t192 = zext i32 %t189 to i64 %t193 = mul i64 %t192, %t191 %t194 = load ptr, ptr %t183 store i32 62, ptr @lp_site %t195 = call ptr @lp_realloc(ptr %t194, i64 %t193) store i32 0, ptr @lp_site store ptr %t195, ptr %t183 store i32 %t189, ptr %t182 br label %put42 put42: %t196 = load ptr, ptr %t183 %t197 = getelementptr inbounds ptr, ptr %t196, i32 %t184 store ptr %t180, ptr %t197 %t198 = add i32 %t184, 1 store i32 %t198, ptr %t181 br label %ifend38 ifend38: %t199 = load i32, ptr %t78 %t200 = add i32 %t199, 1 store i32 %t200, ptr %t78 br label %ifend35 ifend35: br label %ifend30 ifend30: %t201 = load i32, ptr %t80 %t202 = add i32 %t201, 1 store i32 %t202, ptr %t79 br label %ifend21 ifend21: %t203 = load i32, ptr %t80 %t204 = add i32 %t203, 1 store i32 %t204, ptr %t80 br label %wcond14 wend16: store ptr @.str83, ptr %t205 %t207 = load ptr, ptr %t3 %t208 = call i64 @strlen(ptr %t207) %t209 = trunc i64 %t208 to i32 %t210 = icmp sgt i32 %t209, 0 %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t206 br i1 %t212, label %sc43, label %scend44 sc43: %t214 = load ptr, ptr %t3 %t215 = getelementptr inbounds i8, ptr %t214, i32 0 %t216 = load i8, ptr %t215 %t217 = zext i8 %t216 to i32 %t218 = icmp eq i32 %t217, 47 %t219 = zext i1 %t218 to i32 %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t206 br label %scend44 scend44: %t222 = load i32, ptr %t206 %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then45, label %ifend47 then45: store ptr @.str84, ptr %t205 br label %ifend47 ifend47: store i32 0, ptr %t80 br label %wcond48 wcond48: %t224 = load i32, ptr %t80 %t225 = load i32, ptr %t78 %t226 = icmp slt i32 %t224, %t225 %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %wbody49, label %wend50 wbody49: %t229 = load i32, ptr %t80 %t230 = icmp sgt i32 %t229, 0 %t231 = zext i1 %t230 to i32 %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then51, label %ifend53 then51: %t233 = load ptr, ptr %t205 store i32 63, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str85) store i32 0, ptr @lp_site store ptr %t234, ptr %t205 br label %ifend53 ifend53: %t235 = load ptr, ptr %t205 %t236 = load ptr, ptr %t77 %t237 = load i32, ptr %t80 %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 %ixok54, label %ixbad55 ixbad55: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str86, i32 %t237, i32 %t241) call void @exit(i32 1) unreachable ixok54: %t244 = getelementptr inbounds ptr, ptr %t239, i32 %t237 %t245 = load ptr, ptr %t244 store i32 64, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t235, ptr %t245) store i32 0, ptr @lp_site store ptr %t246, ptr %t205 %t247 = load i32, ptr %t80 %t248 = add i32 %t247, 1 store i32 %t248, ptr %t80 br label %wcond48 wend50: %t249 = call i32 @fn_host_is_windows() %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %then56, label %ifend58 then56: %t251 = load ptr, ptr %t205 %t252 = call ptr @fn_sf_lower(ptr %t251) store ptr %t252, ptr %t205 br label %ifend58 ifend58: %t253 = load ptr, ptr %t205 store ptr %t253, ptr %retval br label %ret ret: %t254 = load ptr, ptr %retval ret ptr %t254 } define ptr @fn_sf_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 65, 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 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 @.str88) %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 66, 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 67, 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 68, 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 69, 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 70, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str91, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str92, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str93, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str94, 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 @.str95, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str96, 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 @.str97, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str98, 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 71, 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 @.str100) 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 72, 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 73, 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 @.str102) %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 74, 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 @.str104) 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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str105, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str106, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str107, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str108, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str109, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str110, 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 @.str111, 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 @.str112, ptr %t49) call void @fn_diag_exit(i32 1) br label %ifend15 ifend15: %t50 = load ptr, ptr %t2 store i32 75, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str113) store i32 0, ptr @lp_site %t52 = load i32, ptr %t4 store i32 76, ptr @lp_site %t53 = call ptr @lp_int_str(i32 %t52) store i32 0, ptr @lp_site store i32 77, 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 78, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str115) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t0 store i32 79, 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 80, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str116) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr @__stderrp %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 @.str117, 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 @.str118, ptr %t15) br label %ifend5 else4: %t16 = load ptr, ptr %t5 store i32 81, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str119) store i32 0, ptr @lp_site %t18 = load i32, ptr %t1 %t19 = call ptr @fn_itoa(i32 %t18) store i32 82, 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 83, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str121) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t3 store i32 84, 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 85, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str122) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr @__stderrp %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 @.str123, 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 @.str124, ptr %t15) br label %ifend5 else4: %t16 = load ptr, ptr %t5 store i32 86, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str125) store i32 0, ptr @lp_site %t18 = load i32, ptr %t1 %t19 = call ptr @fn_itoa(i32 %t18) store i32 87, 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 88, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str127) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t3 store i32 89, 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 90, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str128) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr @__stderrp %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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str129, 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 @.str130, 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 @.str131, 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 91, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str132, 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 92, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str134, ptr %t53) store i32 0, ptr @lp_site store i32 93, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str135) 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 94, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str136, ptr %t58) store i32 0, ptr @lp_site store i32 95, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str137) 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 96, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str138, ptr %t6) store i32 0, ptr @lp_site store i32 97, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str140) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = call ptr @fn_tok_desc() store i32 98, 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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str141, 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 99, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str142, 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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str144, 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 @.str145) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str146, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str147) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str148, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str149) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str150, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str151) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str152, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str153) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str154, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str155, 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 @.str156) %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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str157, 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 @.str158) %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 @.str159) store ptr @.str160, ptr %t36 store i32 1, ptr %t37 br label %wcond9 wcond9: %t38 = call i32 @fn_is_op(ptr @.str161) %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 100, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str162) 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 101, 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 @.str164) %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 @.str165) store ptr @.str166, ptr %t55 %t56 = call i32 @fn_is_op(ptr @.str167) %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 102, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str168) store i32 0, ptr @lp_site %t63 = load ptr, ptr %t55 store i32 103, 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 @.str169) %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 @.str170) %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 104, 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 @.str171) %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 @.str172) call void @fn_skipnl() br label %wcond0 wcond0: %t1 = call i32 @fn_is_op(ptr @.str173) %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: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str174, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str175, 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 @.str176) %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 @.str177) 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 105, 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 106, 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 @.str179) %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 @.str180) 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 107, 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 @.str182, 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 @.str183, 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 108, 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 109, 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 110, 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 %t9 = alloca ptr %t15 = 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 = load ptr, ptr %t3 call void @fn_cx_emit(ptr %t7) %t8 = call ptr @fn_node(i32 41) store ptr %t8, ptr %t9 call void @fn_eat_op(ptr @.str186) call void @fn_skipnl() br label %wcond0 wcond0: %t10 = call i32 @fn_is_op(ptr @.str187) %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody1, label %wend2 wbody1: %t14 = call ptr @fn_node(i32 42) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1 %t18 = call ptr @fn_eat_id() store ptr %t18, ptr %t17 call void @fn_eat_op(ptr @.str188) %t19 = load ptr, ptr %t15 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = call ptr @fn_expr() store ptr %t21, ptr %t20 %t22 = load ptr, ptr %t9 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = load ptr, ptr %t15 %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 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 111, 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 ptr, ptr %t41, i32 %t29 store ptr %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 call void @fn_skipnl() %t44 = call i32 @fn_is_op(ptr @.str190) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then5, label %ifend7 then5: %t46 = load i32, ptr @g_pi %t47 = add i32 %t46, 1 store i32 %t47, ptr @g_pi call void @fn_skipnl() br label %ifend7 ifend7: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str191) %t48 = load ptr, ptr %t3 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 %t50 = load ptr, ptr %t9 store ptr %t50, ptr %t49 %t51 = load ptr, ptr %t3 store ptr %t51, ptr %retval br label %ret ret: %t52 = load ptr, ptr %retval ret ptr %t52 } 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str192, 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 @.str193) call void @fn_skipnl() br label %wcond2 wcond2: %t16 = call i32 @fn_is_op(ptr @.str194) %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 112, 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 @.str196) %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 @.str197) %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 %t382 = alloca ptr %t407 = alloca ptr %t421 = alloca ptr %t423 = 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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str198, 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 @.str199) %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 @.str200) %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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str201, 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 @.str202) %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 @.str203) %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 @.str204) %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 @.str205) %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 @.str206) %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 @.str207) %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 @.str208) %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: %t221 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t221, ptr @.fmt_bounds, ptr @.str209, 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: %t241 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str210, 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: %t264 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str211, 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 @.str212) %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: %t285 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str213, 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 @.str214) %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: %t306 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t306, ptr @.fmt_bounds, ptr @.str215, 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 @.str216) %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: %t327 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t327, ptr @.fmt_bounds, ptr @.str217, 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 @.str218) %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: %t348 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t348, ptr @.fmt_bounds, ptr @.str219, 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 @.str220) %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 call void @fn_cx_fnref(ptr %t372) %t373 = load ptr, ptr %t363 store ptr %t373, ptr %retval br label %ret ifend80: %t374 = load ptr, ptr %t10 %t375 = getelementptr inbounds %Cmp_Tok, ptr %t374, i32 0, i32 1 %t376 = load ptr, ptr %t375 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str221) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then81, label %ifend83 then81: %t379 = load i32, ptr @g_pi %t380 = add i32 %t379, 1 store i32 %t380, ptr @g_pi %t381 = call ptr @fn_node(i32 52) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t382 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 8 %t385 = load ptr, ptr %t10 %t386 = getelementptr inbounds %Cmp_Tok, ptr %t385, i32 0, i32 3 %t387 = load i32, ptr %t386 store i32 %t387, ptr %t384 %t388 = load ptr, ptr %t382 %t389 = getelementptr inbounds %Cmp_Node, ptr %t388, i32 0, i32 4 %t390 = call ptr @fn_expr() store ptr %t390, ptr %t389 call void @fn_skipnl() %t391 = call i32 @fn_is_id(ptr @.str222) %t392 = icmp eq i32 %t391, 0 %t393 = zext i1 %t392 to i32 %t394 = icmp ne i32 %t393, 0 br i1 %t394, label %then84, label %ifend86 then84: call void @fn_perr(ptr @.str223) br label %ifend86 ifend86: %t395 = load i32, ptr @g_pi %t396 = add i32 %t395, 1 store i32 %t396, ptr @g_pi call void @fn_skipnl() %t397 = load ptr, ptr %t382 %t398 = getelementptr inbounds %Cmp_Node, ptr %t397, i32 0, i32 5 %t399 = call ptr @fn_block() store ptr %t399, ptr %t398 %t400 = load ptr, ptr %t382 store ptr %t400, ptr %retval br label %ret ifend83: %t401 = load ptr, ptr %t10 %t402 = getelementptr inbounds %Cmp_Tok, ptr %t401, i32 0, i32 1 %t403 = load ptr, ptr %t402 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str224) %t405 = icmp ne i32 %t404, 0 br i1 %t405, label %then87, label %ifend89 then87: store i32 1, ptr @g_g_uses_bytes br label %ifend89 ifend89: %t406 = call ptr @fn_node(i32 33) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t407 %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 1 %t410 = load ptr, ptr %t10 %t411 = getelementptr inbounds %Cmp_Tok, ptr %t410, i32 0, i32 1 %t412 = load ptr, ptr %t411 store ptr %t412, ptr %t409 %t413 = load i32, ptr @g_pi %t414 = add i32 %t413, 1 store i32 %t414, ptr @g_pi %t415 = load ptr, ptr %t407 store ptr %t415, ptr %retval br label %ret ifend31: %t416 = call i32 @fn_is_op(ptr @.str225) %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then90, label %ifend92 then90: %t418 = load i32, ptr @g_pi %t419 = add i32 %t418, 1 store i32 %t419, ptr @g_pi call void @fn_skipnl() %t420 = call ptr @fn_expr() store ptr %t420, ptr %t421 call void @fn_skipnl() call void @fn_eat_op(ptr @.str226) %t422 = load ptr, ptr %t421 store ptr %t422, ptr %retval br label %ret ifend92: %t424 = load i32, ptr @g_g_res_mode %t425 = icmp ne i32 %t424, 0 %t426 = zext i1 %t425 to i32 store i32 %t426, ptr %t423 br i1 %t425, label %sc93, label %scend94 sc93: %t427 = call i32 @fn_is_op(ptr @.str227) %t428 = icmp ne i32 %t427, 0 %t429 = zext i1 %t428 to i32 store i32 %t429, ptr %t423 br label %scend94 scend94: %t430 = load i32, ptr %t423 %t431 = icmp ne i32 %t430, 0 br i1 %t431, label %then95, label %ifend97 then95: %t432 = call ptr @fn_record() store ptr %t432, ptr %retval br label %ret ifend97: call void @fn_perr(ptr @.str228) %t433 = call ptr @fn_node(i32 30) store ptr %t433, ptr %retval br label %ret ret: %t434 = load ptr, ptr %retval ret ptr %t434 } 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 @.str229) %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 @.str230) %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 @.str231) %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 @.str232) %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 @.str233) %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 @.str234) %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 @.str235) %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 @.str236) %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 @.str237) %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 @.str238) %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 @.str239) %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 @.str240) %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 @.str241) %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 @.str242) %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 @.str243) %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 @.str244) %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 @.str245) %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 @.str246) %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 @.str247) %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 @.str248) %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 @.str249) %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 @.str250) %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 @.str251) %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 @.str252) %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 @.str253) %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 @.str254) %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 @.str255) %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 @.str256) %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 @.str257) %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 @.str258) %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 @.str259) %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 @.str260) %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 @.str261) %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 @.str262) %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 @.str263) %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 @.str264) %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 @.str265) %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 @.str266) %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 @.str267) %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 @.str268) %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 @.str269) %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 @.str270) %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 @.str271) %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 @.str272) %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 @.str273) %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 @.str274) %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 @.str275) %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 @.str276) %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 @.str277) %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 @.str278) %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 @.str279) %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 @.str280) %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 @.str281) %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 @.str282) %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 @.str283) %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 @.str284) %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 @.str285) %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 @.str286) %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 @.str287) %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 @.str288) %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 @.str289) %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 @.str290) %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 @.str291) %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 @.str292) %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 @.str293) %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 @.str294) %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 @.str295) %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 @.str296) %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 @.str297) %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 @.str298) %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 @.str299) %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 @.str300) %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 @.str301) %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 @.str302) %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 @.str303) %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 @.str304) %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 @.str305) %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 @.str306) %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 @.str307) %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 @.str308) %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 @.str309) %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 @.str310) %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 @.str311) %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 @.str312) %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 @.str313) %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 @.str314) %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 @.str315) %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 @.str316) %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 @.str317) %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 @.str318) %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 @.str319) %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 @.str320) %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 @.str321) %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 @.str322) %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 @.str323) %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 @.str324) %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 @.str325) %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 @.str326) %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 @.str327) %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 @.str328) %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 @.str329) %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 @.str330) %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 @.str331) %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 @.str332) %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 @.str333) %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 @.str334) %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 @.str335) %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: %t1387 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1387, ptr @.fmt_bounds, ptr @.str336, 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 113, 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 @.str338) %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 @.str339) %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 @.str340) %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 @.str341, 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 @.str342) %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 @.str343, 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 @.str344) %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 @.str345, 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 @.str346) %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 @.str347) %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 @.str348) %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 @.str349) %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 @.str350) %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 @.str351) %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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str352, 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 @.str353) %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 @.str354) %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 @.str355) %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 @.str356) %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str357, 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 @.str358) %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 @.str359) %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 @.str360) %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 @.str361) %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 @.str362) %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 @.str363) %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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str364, 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 @.str365) %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 @.str366, 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 @.str367) %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 @.str368, 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 @.str369) %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 @.str370) %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 @.str371) %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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str372, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str373, 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 114, 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 @.str375) %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 @.str376) %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 @.str377) %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 @.str378) %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 115, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str380, 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 @.str381) %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 @.str382) br label %ifend15 ifend15: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str383) %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 @.str384) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str385, 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 @.str386) %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 @.str387) %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 @.str388) br label %ifend11 ifend11: call void @fn_eat_op(ptr @.str389) 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str390, 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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str391, 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 @.str392) %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 @.str393) %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 @.str394) %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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str395, 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 @.str396) %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 @.str397) %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 @.str398) %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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str399, 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 @.str400) %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 @.str401) %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 @.str402) %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 @.str403) %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 @.str404) %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 @.str405) %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 @.str406) %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 @.str407) %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 @.str408) %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 @.str409) %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: %t209 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str410, 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 @.str411) %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 @.str412) 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 @.str413) %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 @.str414) %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 116, 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 @.str416) %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 @.str417) %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: %t297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str418, 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 @.str419) %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 @.str420) %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 @.str421) %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 @.str422) %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 @.str423) %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 @.str424) %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 @.str425, 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 @.str426) %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 @.str427, 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 117, 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 @.str428) %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 @.str429) %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 @.str430) %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 @.str431) 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 @.str432) %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 @.str433) %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 @.str434) %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 @.str435) 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 @.str436) %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: %t487 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t487, ptr @.fmt_bounds, ptr @.str437, 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 @.str438) %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 @.str439) %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 @.str440) %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 @.str441) %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 @.str442) %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 @.str443) 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 @.str444) %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 118, 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 @.str445) %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 @.str446) call void @fn_skipnl() %t573 = call i32 @fn_is_op(ptr @.str447) %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 119, 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 120, 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 @.str448) %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 @.str449) %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 @.str450) %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 @.str451) %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 @.str452) %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 @.str453) %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: %t671 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t671, ptr @.fmt_bounds, ptr @.str454, 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: %t685 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t685, ptr @.fmt_bounds, ptr @.str455, 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 @.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 %t10 = call i32 @fn_is_op(ptr @.str457) %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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str458, 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 @.str459) %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 @.str460) %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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str461, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str462, 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 @.str463) %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 @.str464) %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 @.str465) %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 @.str466) %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 @.str467) %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 @.str468) %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 @.str469) %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 @.str470) %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 @.str471) %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 @.str472) %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 @.str473) %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 @.str474) %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 @.str475) %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 @.str476) %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 @.str477) %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 @.str478) %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 @.str479) %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 @.str480) %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 @.str481) %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 @.str482) %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 @.str483) %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 @.str484) %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 @.str485) %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 @.str486) %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 @.str487) %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 @.str488) %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 @.str489) %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 @.str490) %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 @.str491) %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 @.str492) %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 @.str493) %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 @.str494) %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 @.str495) %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 @.str496) %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 @.str497) %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 @.str498) %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 @.str499) %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 @.str500) %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 @.str501) %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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str502, 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 @.str503) %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 121, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str504, ptr %t36) store i32 0, ptr @lp_site store i32 122, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str506) 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 @.str507) %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 @.str508) %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 @.str509) %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 123, 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 @.str510) %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 @.str511) %t85 = load ptr, ptr %t3 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 store ptr @.str512, ptr %t86 %t87 = call i32 @fn_is_op(ptr @.str513) %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str514, 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 124, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str516, 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 @.str517) call void @fn_skipnl() %t4 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 store i32 125, 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 126, 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 127, 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 @.str520) %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 @.str521) %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 @.str522) %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 @.str523) %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 @.str524) %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 @.str525) 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 128, 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 129, 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 130, 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 @.str526) %t110 = load ptr, ptr %t3 %t111 = call ptr @fn_ns_lower(ptr %t110) store i32 131, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str527) 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: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str528, 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: %t141 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str529, 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 132, 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: %t161 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t161, ptr @.fmt_bounds, ptr @.str530, 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 133, 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: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str531, 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: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str532, 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 134, 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: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str533, 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 135, 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 @.str534) 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 @.str535) 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 136, 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 @.str537, ptr %retval br label %ret ifend8: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t2 %t28 = add i32 %t27, 1 store i32 137, 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 138, 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 @.str540) 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 @.str541, 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 139, 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 @.str543) 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 140, 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 @.str544) 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 @.str545, 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 141, 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 142, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) store i32 0, ptr @lp_site store i32 143, ptr @lp_site %t57 = call ptr @lp_pak_open(ptr %t56, ptr @.str547) 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 144, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) store i32 0, ptr @lp_site store i32 145, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str548) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) store i32 146, ptr @lp_site %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str549) 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 @.str550, 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 147, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str551, ptr %t3) store i32 0, ptr @lp_site store i32 148, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str553) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr @__stderrp %t8 = load ptr, ptr %t6 %t9 = load ptr, ptr %t6 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 %t12 = zext i32 %t11 to i64 %t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7) %t14 = trunc i64 %t13 to i32 br label %ret ret: ret void } define i32 @fn_is_ns_block(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ns_blocks %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_ns_blocks %t10 = 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str554, 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: %t16 = load ptr, ptr @__stderrp 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str556, 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: %t16 = load ptr, ptr @__stderrp 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: 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 149, 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: %t16 = load ptr, ptr @__stderrp 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: 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str560, 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 ptr @fn_decl_hook(ptr %arg_ev, ptr %arg_sp, ptr %arg_dsp, ptr %arg_att, ptr %arg_det, ptr %arg_en, ptr %arg_dis, ptr %arg_ph) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr %t7 = alloca ptr store ptr %arg_ev, ptr %t0 store ptr %arg_sp, ptr %t1 store ptr %arg_dsp, ptr %t2 store ptr %arg_att, ptr %t3 store ptr %arg_det, ptr %t4 store ptr %arg_en, ptr %t5 store ptr %arg_dis, ptr %t6 store ptr %arg_ph, ptr %t7 %t8 = load ptr, ptr %t0 %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: store ptr @.str561, ptr %retval br label %ret ifend2: %t12 = load ptr, ptr %t1 %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: store ptr @.str562, ptr %retval br label %ret ifend5: %t16 = load ptr, ptr %t2 %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: store ptr @.str563, ptr %retval br label %ret ifend8: %t20 = load ptr, ptr %t3 %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then9, label %ifend11 then9: store ptr @.str564, ptr %retval br label %ret ifend11: %t24 = load ptr, ptr %t4 %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then12, label %ifend14 then12: store ptr @.str565, ptr %retval br label %ret ifend14: %t28 = load ptr, ptr %t5 %t29 = icmp ne ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then15, label %ifend17 then15: store ptr @.str566, ptr %retval br label %ret ifend17: %t32 = load ptr, ptr %t6 %t33 = icmp ne ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then18, label %ifend20 then18: store ptr @.str567, ptr %retval br label %ret ifend20: %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 %then21, label %ifend23 then21: %t40 = load ptr, ptr %t7 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str568) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then24, label %ifend26 then24: store ptr @.str569, ptr %retval br label %ret ifend26: store ptr @.str570, ptr %retval br label %ret ifend23: store ptr null, ptr %retval br label %ret ret: %t43 = load ptr, ptr %retval ret ptr %t43 } define ptr @fn_decl_hook_target(ptr %arg_ev, ptr %arg_sp, ptr %arg_dsp, ptr %arg_att, ptr %arg_det, ptr %arg_en, ptr %arg_dis) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr store ptr %arg_ev, ptr %t0 store ptr %arg_sp, ptr %t1 store ptr %arg_dsp, ptr %t2 store ptr %arg_att, ptr %t3 store ptr %arg_det, ptr %t4 store ptr %arg_en, ptr %t5 store ptr %arg_dis, ptr %t6 %t7 = load ptr, ptr %t0 %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 store ptr %t11, ptr %retval br label %ret ifend2: %t12 = load ptr, ptr %t1 %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 store ptr %t16, ptr %retval br label %ret ifend5: %t17 = load ptr, ptr %t2 %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: %t21 = load ptr, ptr %t2 store ptr %t21, ptr %retval br label %ret ifend8: %t22 = load ptr, ptr %t3 %t23 = icmp ne ptr %t22, null %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: %t26 = load ptr, ptr %t3 store ptr %t26, ptr %retval br label %ret ifend11: %t27 = load ptr, ptr %t4 %t28 = icmp ne ptr %t27, null %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then12, label %ifend14 then12: %t31 = load ptr, ptr %t4 store ptr %t31, ptr %retval br label %ret ifend14: %t32 = load ptr, ptr %t5 %t33 = icmp ne ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then15, label %ifend17 then15: %t36 = load ptr, ptr %t5 store ptr %t36, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t6 store ptr %t37, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define void @fn_parse_one_decl() { entry: %t3 = alloca i32 %t7 = alloca i32 %t11 = alloca i32 %t13 = alloca i32 %t0 = load ptr, ptr @g_prog %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 store i32 %t2, ptr %t3 %t4 = load ptr, ptr @g_g_events %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 store i32 %t6, ptr %t7 %t8 = load ptr, ptr @g_g_rg_var %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t10 = load i32, ptr %t9 store i32 %t10, ptr %t11 %t12 = load i32, ptr @g_g_decl_exported store i32 %t12, ptr %t13 store i32 0, ptr @g_g_decl_exported call void @fn_parse_one_decl_in() %t14 = load i32, ptr @g_g_decl_exported %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then0, label %ifend2 then0: %t16 = load i32, ptr %t3 %t17 = load i32, ptr %t7 %t18 = load i32, ptr %t11 call void @fn_decl_mark_exported(i32 %t16, i32 %t17, i32 %t18) br label %ifend2 ifend2: %t19 = load i32, ptr %t13 store i32 %t19, ptr @g_g_decl_exported br label %ret ret: ret void } define void @fn_decl_mark_exported(i32 %arg_p0, i32 %arg_e0, i32 %arg_r0) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t4 = alloca i32 store i32 %arg_p0, ptr %t0 store i32 %arg_e0, ptr %t1 store i32 %arg_r0, ptr %t2 %t3 = load i32, ptr %t0 store i32 %t3, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_prog %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr @g_prog %t13 = 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 %ixok3, label %ixbad4 ixbad4: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str571, 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 %Cmp_Node, ptr %t21, i32 0, i32 10 store i32 1, ptr %t22 %t23 = load i32, ptr %t4 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t4 br label %wcond0 wend2: %t25 = load i32, ptr %t2 store i32 %t25, ptr %t4 br label %wcond5 wcond5: %t26 = load i32, ptr %t4 %t27 = load ptr, ptr @g_g_rg_var %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 %wbody6, label %wend7 wbody6: %t33 = load ptr, ptr @g_g_rg_var %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 %ixok8, label %ixbad9 ixbad9: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str572, 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 10 store i32 1, ptr %t43 %t44 = load i32, ptr %t4 %t45 = add i32 %t44, 1 store i32 %t45, ptr %t4 br label %wcond5 wend7: %t46 = load i32, ptr %t1 store i32 %t46, ptr %t4 br label %wcond10 wcond10: %t47 = load i32, ptr %t4 %t48 = load ptr, ptr @g_g_events %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 %wbody11, label %wend12 wbody11: %t54 = load ptr, ptr @g_g_events %t55 = load i32, ptr %t4 %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 %ixok13, label %ixbad14 ixbad14: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str573, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok13: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 10 store i32 1, ptr %t64 %t65 = load i32, ptr %t4 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t4 br label %wcond10 wend12: br label %ret ret: ret void } define void @fn_parse_one_decl_in() { 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 %t21 = alloca i32 %t22 = alloca i32 %t26 = alloca i32 %t30 = alloca i32 %t79 = alloca ptr %t174 = alloca i32 %t200 = alloca ptr %t201 = alloca i32 %t220 = alloca i32 %t232 = alloca ptr %t244 = alloca i32 %t260 = alloca i32 %t282 = alloca i32 %t305 = alloca i32 %t349 = alloca ptr %t359 = alloca ptr %t388 = alloca ptr %t400 = alloca ptr %t403 = alloca i32 %t451 = alloca ptr %t503 = alloca ptr %t695 = alloca ptr %t765 = alloca i32 %t766 = alloca i32 %t808 = alloca i32 %t809 = alloca i32 %t851 = alloca i32 %t887 = alloca i32 %t888 = alloca i32 %t930 = alloca i32 %t931 = alloca i32 %t974 = alloca i32 %t975 = alloca i32 %t999 = alloca i32 %t1037 = alloca i32 %t1038 = alloca i32 %t1062 = alloca i32 %t1100 = alloca i32 %t1101 = alloca i32 %t1143 = alloca i32 %t1144 = alloca i32 %t1186 = alloca i32 %t1187 = alloca i32 %t1229 = alloca i32 %t1230 = alloca i32 %t1298 = alloca i32 %t1299 = alloca i32 %t1342 = alloca ptr %t1398 = alloca i32 %t1399 = alloca i32 %t1426 = 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 store i32 0, ptr %t21 br label %wcond0 wcond0: %t23 = call i32 @fn_is_op(ptr @.str574) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t22 br i1 %t24, label %scend4, label %sc3 sc3: %t27 = call i32 @fn_is_id(ptr @.str575) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t26 br i1 %t28, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr @g_toks %t32 = load i32, ptr @g_pi %t33 = add 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 %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str576, 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_Tok, ptr %t41, i32 0, i32 0 %t43 = load i32, ptr %t42 %t44 = icmp eq 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 %t30 br i1 %t46, label %scend10, label %sc9 sc9: %t48 = load ptr, ptr @g_toks %t49 = load i32, ptr @g_pi %t50 = add i32 %t49, 1 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t50, %t54 br i1 %t55, label %ixok11, label %ixbad12 ixbad12: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str577, 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_Tok, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str578) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t30 br label %scend10 scend10: %t64 = load i32, ptr %t30 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t26 br label %scend6 scend6: %t67 = load i32, ptr %t26 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t22 br label %scend4 scend4: %t70 = load i32, ptr %t22 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %wbody1, label %wend2 wbody1: %t72 = call i32 @fn_is_id(ptr @.str579) %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 store i32 1, ptr @g_g_decl_exported call void @fn_skipnl() br label %wcond0 ifend15: %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 %t79 %t80 = load ptr, ptr %t79 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str580) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then16, label %else17 then16: store i32 1, ptr %t0 br label %ifend18 else17: %t83 = load ptr, ptr %t79 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str581) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then19, label %else20 then19: store i32 1, ptr %t10 br label %ifend21 else20: %t86 = load ptr, ptr %t79 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str582) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then22, label %else23 then22: call void @fn_eat_op(ptr @.str583) %t89 = call ptr @fn_eat_id() store ptr %t89, ptr %t9 call void @fn_eat_op(ptr @.str584) br label %ifend24 else23: %t90 = load ptr, ptr %t79 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str585) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then25, label %else26 then25: %t93 = call ptr @fn_parse_queries_anno() store ptr %t93, ptr %t1 br label %ifend27 else26: %t94 = load ptr, ptr %t79 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str586) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then28, label %else29 then28: call void @fn_eat_op(ptr @.str587) %t97 = call ptr @fn_eat_id() store ptr %t97, ptr %t2 call void @fn_eat_op(ptr @.str588) br label %ifend30 else29: %t98 = load ptr, ptr %t79 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str589) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then31, label %else32 then31: call void @fn_eat_op(ptr @.str590) %t101 = call ptr @fn_eat_id() store ptr %t101, ptr %t3 %t102 = call i32 @fn_is_op(ptr @.str591) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then34, label %ifend36 then34: %t104 = load i32, ptr @g_pi %t105 = add i32 %t104, 1 store i32 %t105, ptr @g_pi %t106 = call ptr @fn_eat_id() call void @fn_eat_op(ptr @.str592) %t107 = call ptr @fn_eat_id() store ptr %t107, ptr %t4 br label %ifend36 ifend36: call void @fn_eat_op(ptr @.str593) br label %ifend33 else32: %t108 = load ptr, ptr %t79 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str594) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then37, label %else38 then37: call void @fn_eat_op(ptr @.str595) %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t5 call void @fn_eat_op(ptr @.str596) br label %ifend39 else38: %t112 = load ptr, ptr %t79 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str597) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then40, label %else41 then40: call void @fn_eat_op(ptr @.str598) %t115 = call ptr @fn_eat_id() store ptr %t115, ptr %t6 call void @fn_eat_op(ptr @.str599) br label %ifend42 else41: %t116 = load ptr, ptr %t79 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str600) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then43, label %else44 then43: call void @fn_eat_op(ptr @.str601) %t119 = call ptr @fn_eat_id() store ptr %t119, ptr %t7 call void @fn_eat_op(ptr @.str602) br label %ifend45 else44: %t120 = load ptr, ptr %t79 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str603) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then46, label %else47 then46: call void @fn_eat_op(ptr @.str604) %t123 = call ptr @fn_eat_id() store ptr %t123, ptr %t8 call void @fn_eat_op(ptr @.str605) br label %ifend48 else47: %t124 = load ptr, ptr %t79 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str606) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then49, label %else50 then49: store ptr @.str607, ptr %t11 br label %ifend51 else50: %t127 = load ptr, ptr %t79 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str608) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then52, label %else53 then52: store ptr @.str609, ptr %t11 br label %ifend54 else53: %t130 = load ptr, ptr %t79 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str610) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then55, label %else56 then55: store i32 1, ptr %t12 br label %ifend57 else56: %t133 = load ptr, ptr %t79 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str611) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then58, label %else59 then58: store i32 1, ptr %t13 br label %ifend60 else59: %t136 = load ptr, ptr %t79 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str612) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then61, label %else62 then61: store ptr @.str613, ptr %t14 br label %ifend63 else62: %t139 = load ptr, ptr %t79 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str614) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then64, label %else65 then64: store ptr @.str615, ptr %t14 br label %ifend66 else65: %t142 = load ptr, ptr %t79 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str616) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then67, label %else68 then67: store ptr @.str617, ptr %t15 br label %ifend69 else68: %t145 = load ptr, ptr %t79 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str618) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then70, label %else71 then70: store ptr @.str619, ptr %t15 br label %ifend72 else71: %t148 = load ptr, ptr %t79 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str620) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then73, label %else74 then73: store ptr @.str621, ptr %t16 %t151 = call i32 @fn_is_op(ptr @.str622) %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then76, label %ifend78 then76: %t153 = load i32, ptr @g_pi %t154 = add i32 %t153, 1 store i32 %t154, ptr @g_pi %t155 = call ptr @fn_eat_id() store ptr %t155, ptr %t16 call void @fn_eat_op(ptr @.str623) br label %ifend78 ifend78: br label %ifend75 else74: %t156 = load ptr, ptr %t79 %t157 = call i32 @lp_str_eq(ptr %t156, ptr @.str624) %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then79, label %else80 then79: call void @fn_eat_op(ptr @.str625) %t159 = call ptr @fn_eat_id() store ptr %t159, ptr %t17 call void @fn_eat_op(ptr @.str626) %t160 = call ptr @fn_eat_id() store ptr %t160, ptr %t18 call void @fn_eat_op(ptr @.str627) br label %ifend81 else80: %t161 = load ptr, ptr %t79 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str628) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then82, label %else83 then82: call void @fn_eat_op(ptr @.str629) %t164 = call ptr @fn_eat_id() store ptr %t164, ptr %t19 call void @fn_eat_op(ptr @.str630) br label %ifend84 else83: %t165 = load ptr, ptr %t79 %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str631) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then85, label %else86 then85: store i32 1, ptr %t20 br label %ifend87 else86: %t168 = load ptr, ptr %t79 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str632) %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then88, label %else89 then88: store i32 1, ptr %t21 br label %ifend90 else89: %t171 = load ptr, ptr %t79 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str633) %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then91, label %else92 then91: call void @fn_mc_parse_attr() br label %ifend93 else92: %t175 = load ptr, ptr %t79 %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str634) %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t174 br i1 %t177, label %scend95, label %sc94 sc94: %t179 = load ptr, ptr %t79 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str635) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t174 br label %scend95 scend95: %t183 = load i32, ptr %t174 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then96, label %else97 then96: %t185 = load ptr, ptr %t79 call void @fn_at_decl(ptr %t185) br label %ifend98 else97: %t186 = load ptr, ptr %t79 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str636) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then99, label %else100 then99: %t189 = load ptr, ptr %t79 call void @fn_at_decl(ptr %t189) store i32 1, ptr @g_g_pm_pending br label %ifend101 else100: %t190 = load ptr, ptr %t79 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str637) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then102, label %else103 then102: call void @fn_pm_parse_chunked() br label %ifend104 else103: %t193 = load ptr, ptr %t79 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str638) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then105, label %else106 then105: call void @fn_i18n_parse_textkey() br label %ifend107 else106: %t196 = load ptr, ptr %t79 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str639) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then108, label %else109 then108: call void @fn_eat_op(ptr @.str640) %t199 = call ptr @fn_expr() store ptr %t199, ptr %t200 %t202 = load ptr, ptr %t200 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 0 %t204 = load i32, ptr %t203 %t205 = icmp ne i32 %t204, 31 %t206 = zext i1 %t205 to i32 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t201 br i1 %t207, label %scend112, label %sc111 sc111: %t209 = load ptr, ptr %t200 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 1 %t211 = load ptr, ptr %t210 %t212 = call i64 @strlen(ptr %t211) %t213 = trunc i64 %t212 to i32 %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 %t201 br label %scend112 scend112: %t218 = load i32, ptr %t201 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then113, label %ifend115 then113: call void @fn_perr(ptr @.str641) br label %ifend115 ifend115: call void @fn_eat_op(ptr @.str642) store i32 1, ptr @g_g_aok_pending br label %ifend110 else109: %t221 = load ptr, ptr %t79 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str643) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t220 br i1 %t223, label %scend117, label %sc116 sc116: %t225 = load ptr, ptr %t79 %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str644) %t227 = icmp ne i32 %t226, 0 %t228 = zext i1 %t227 to i32 store i32 %t228, ptr %t220 br label %scend117 scend117: %t229 = load i32, ptr %t220 %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then118, label %else119 then118: call void @fn_eat_op(ptr @.str645) %t231 = call ptr @fn_eat_id() store ptr %t231, ptr %t232 call void @fn_eat_op(ptr @.str646) %t233 = load ptr, ptr %t79 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str647) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then121, label %else122 then121: %t236 = load ptr, ptr %t232 store ptr %t236, ptr @g_g_res_pending_make br label %ifend123 else122: %t237 = load ptr, ptr %t232 store ptr %t237, ptr @g_g_res_pending_free br label %ifend123 ifend123: br label %ifend120 else119: %t238 = load ptr, ptr %t79 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str648) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then124, label %else125 then124: call void @fn_eat_op(ptr @.str649) %t241 = call ptr @fn_expr() store ptr %t241, ptr @g_g_clear_color store i32 1, ptr @g_g_has_clear_color call void @fn_eat_op(ptr @.str650) br label %ifend126 else125: %t242 = call i32 @fn_is_op(ptr @.str651) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then127, label %ifend129 then127: store i32 0, ptr %t244 br label %wcond130 wcond130: %t245 = icmp ne i32 1, 0 br i1 %t245, label %wbody131, label %wend132 wbody131: %t246 = call i32 @fn_is_op(ptr @.str652) %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then133, label %ifend135 then133: %t248 = load i32, ptr %t244 %t249 = add i32 %t248, 1 store i32 %t249, ptr %t244 br label %ifend135 ifend135: %t250 = call i32 @fn_is_op(ptr @.str653) %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %then136, label %ifend138 then136: %t252 = load i32, ptr %t244 %t253 = sub i32 %t252, 1 store i32 %t253, ptr %t244 br label %ifend138 ifend138: %t254 = load i32, ptr @g_pi %t255 = add i32 %t254, 1 store i32 %t255, ptr @g_pi %t256 = load i32, ptr %t244 %t257 = icmp eq i32 %t256, 0 %t258 = zext i1 %t257 to i32 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then139, label %ifend141 then139: br label %wend132 ifend141: br label %wcond130 wend132: br label %ifend129 ifend129: br label %ifend126 ifend126: br label %ifend120 ifend120: br label %ifend110 ifend110: br label %ifend107 ifend107: br label %ifend104 ifend104: br label %ifend101 ifend101: br label %ifend98 ifend98: br label %ifend93 ifend93: br label %ifend90 ifend90: br label %ifend87 ifend87: br label %ifend84 ifend84: br label %ifend81 ifend81: br label %ifend75 ifend75: br label %ifend72 ifend72: br label %ifend69 ifend69: br label %ifend66 ifend66: br label %ifend63 ifend63: br label %ifend60 ifend60: br label %ifend57 ifend57: br label %ifend54 ifend54: br label %ifend51 ifend51: br label %ifend48 ifend48: br label %ifend45 ifend45: br label %ifend42 ifend42: br label %ifend39 ifend39: br label %ifend33 ifend33: br label %ifend30 ifend30: br label %ifend27 ifend27: br label %ifend24 ifend24: br label %ifend21 ifend21: br label %ifend18 ifend18: call void @fn_skipnl() br label %wcond0 wend2: call void @fn_mc_attr_placed() %t261 = call i32 @fn_is_id(ptr @.str654) %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t260 br i1 %t262, label %sc142, label %scend143 sc142: %t264 = load ptr, ptr @g_toks %t265 = load i32, ptr @g_pi %t266 = add i32 %t265, 1 %t267 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t268 = load ptr, ptr %t267 %t269 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t270 = load i32, ptr %t269 %t271 = icmp ult i32 %t266, %t270 br i1 %t271, label %ixok144, label %ixbad145 ixbad145: %t272 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str655, i32 %t266, i32 %t270) call void @exit(i32 1) unreachable ixok144: %t273 = getelementptr inbounds ptr, ptr %t268, i32 %t266 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %Cmp_Tok, ptr %t274, i32 0, i32 1 %t276 = load ptr, ptr %t275 %t277 = call i32 @lp_str_eq(ptr %t276, ptr @.str656) %t278 = icmp ne i32 %t277, 0 %t279 = zext i1 %t278 to i32 store i32 %t279, ptr %t260 br label %scend143 scend143: %t280 = load i32, ptr %t260 %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then146, label %ifend148 then146: call void @fn_mod_parse_friend() br label %ret ifend148: %t283 = call i32 @fn_is_id(ptr @.str657) %t284 = icmp ne i32 %t283, 0 %t285 = zext i1 %t284 to i32 store i32 %t285, ptr %t282 br i1 %t284, label %sc149, label %scend150 sc149: %t286 = load ptr, ptr @g_toks %t287 = load i32, ptr @g_pi %t288 = add i32 %t287, 1 %t289 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 1 %t292 = load i32, ptr %t291 %t293 = icmp ult i32 %t288, %t292 br i1 %t293, label %ixok151, label %ixbad152 ixbad152: %t294 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t294, ptr @.fmt_bounds, ptr @.str658, i32 %t288, i32 %t292) call void @exit(i32 1) unreachable ixok151: %t295 = getelementptr inbounds ptr, ptr %t290, i32 %t288 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %Cmp_Tok, ptr %t296, i32 0, i32 0 %t298 = load i32, ptr %t297 %t299 = icmp eq i32 %t298, 0 %t300 = zext i1 %t299 to i32 %t301 = icmp ne i32 %t300, 0 %t302 = zext i1 %t301 to i32 store i32 %t302, ptr %t282 br label %scend150 scend150: %t303 = load i32, ptr %t282 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then153, label %ifend155 then153: call void @fn_mod_parse_line() br label %ret ifend155: %t306 = call i32 @fn_is_id(ptr @.str659) %t307 = icmp ne i32 %t306, 0 %t308 = zext i1 %t307 to i32 store i32 %t308, ptr %t305 br i1 %t307, label %sc156, label %scend157 sc156: %t309 = load ptr, ptr @g_toks %t310 = load i32, ptr @g_pi %t311 = add i32 %t310, 1 %t312 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 %t315 = load i32, ptr %t314 %t316 = icmp ult i32 %t311, %t315 br i1 %t316, label %ixok158, label %ixbad159 ixbad159: %t317 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t317, ptr @.fmt_bounds, ptr @.str660, i32 %t311, i32 %t315) call void @exit(i32 1) unreachable ixok158: %t318 = getelementptr inbounds ptr, ptr %t313, i32 %t311 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %Cmp_Tok, ptr %t319, i32 0, i32 1 %t321 = load ptr, ptr %t320 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str661) %t323 = icmp ne i32 %t322, 0 %t324 = zext i1 %t323 to i32 store i32 %t324, ptr %t305 br label %scend157 scend157: %t325 = load i32, ptr %t305 %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then160, label %ifend162 then160: %t327 = load i32, ptr @g_pi %t328 = add i32 %t327, 2 store i32 %t328, ptr @g_pi %t329 = load ptr, ptr @g_g_parse_file %t330 = call i32 @fn_is_float_file(ptr %t329) %t331 = icmp eq i32 %t330, 0 %t332 = zext i1 %t331 to i32 %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then163, label %ifend165 then163: %t334 = load ptr, ptr @g_g_parse_file call void @fn_float_file_add(ptr %t334) br label %ifend165 ifend165: br label %ret ifend162: %t335 = call i32 @fn_is_id(ptr @.str662) %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then166, label %ifend168 then166: %t337 = load i32, ptr @g_pi %t338 = add i32 %t337, 1 store i32 %t338, ptr @g_pi %t339 = load ptr, ptr @g_toks %t340 = load i32, ptr @g_pi %t341 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 0 %t342 = load ptr, ptr %t341 %t343 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 1 %t344 = load i32, ptr %t343 %t345 = icmp ult i32 %t340, %t344 br i1 %t345, label %ixok169, label %ixbad170 ixbad170: %t346 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t346, ptr @.fmt_bounds, ptr @.str663, i32 %t340, i32 %t344) call void @exit(i32 1) unreachable ixok169: %t347 = getelementptr inbounds ptr, ptr %t342, i32 %t340 %t348 = load ptr, ptr %t347 store ptr %t348, ptr %t349 %t350 = load ptr, ptr %t349 %t351 = getelementptr inbounds %Cmp_Tok, ptr %t350, i32 0, i32 0 %t352 = load i32, ptr %t351 %t353 = icmp ne i32 %t352, 2 %t354 = zext i1 %t353 to i32 %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then171, label %ifend173 then171: call void @fn_perr(ptr @.str664) br label %ifend173 ifend173: %t356 = load ptr, ptr %t349 %t357 = getelementptr inbounds %Cmp_Tok, ptr %t356, i32 0, i32 1 %t358 = load ptr, ptr %t357 store ptr %t358, ptr %t359 %t360 = load i32, ptr @g_pi %t361 = add i32 %t360, 1 store i32 %t361, ptr @g_pi %t362 = load ptr, ptr %t359 call void @fn_do_import(ptr %t362) br label %ret ifend168: %t363 = call i32 @fn_is_id(ptr @.str665) %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %then174, label %ifend176 then174: %t365 = load ptr, ptr @g_prog %t366 = call ptr @fn_parse_enum() %t367 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 1 %t368 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 2 %t369 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0 %t370 = load i32, ptr %t367 %t371 = load i32, ptr %t368 %t372 = icmp sge i32 %t370, %t371 br i1 %t372, label %grow177, label %put178 grow177: %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 150, 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 %put178 put178: %t382 = load ptr, ptr %t369 %t383 = getelementptr inbounds ptr, ptr %t382, i32 %t370 store ptr %t366, ptr %t383 %t384 = add i32 %t370, 1 store i32 %t384, ptr %t367 br label %ret ifend176: %t385 = call i32 @fn_is_id(ptr @.str667) %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then179, label %ifend181 then179: %t387 = call ptr @fn_parse_event() store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t15 %t390 = icmp ne ptr %t389, null %t391 = zext i1 %t390 to i32 %t392 = icmp ne i32 %t391, 0 br i1 %t392, label %then182, label %ifend184 then182: %t393 = load ptr, ptr %t388 %t394 = getelementptr inbounds %Cmp_Node, ptr %t393, i32 0, i32 3 %t395 = load ptr, ptr %t15 store ptr %t395, ptr %t394 br label %ifend184 ifend184: %t396 = load ptr, ptr %t388 call void @fn_register_event(ptr %t396) br label %ret ifend181: %t397 = call i32 @fn_is_id(ptr @.str668) %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then185, label %ifend187 then185: %t399 = call ptr @fn_parse_component() store ptr %t399, ptr %t400 %t401 = load i32, ptr %t12 %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then188, label %ifend190 then188: store i32 0, ptr %t403 br label %wcond191 wcond191: %t404 = load i32, ptr %t403 %t405 = load ptr, ptr %t400 %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 1 %t409 = load i32, ptr %t408 %t410 = icmp slt i32 %t404, %t409 %t411 = zext i1 %t410 to i32 %t412 = icmp ne i32 %t411, 0 br i1 %t412, label %wbody192, label %wend193 wbody192: %t413 = load ptr, ptr %t400 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 %t415 = load ptr, ptr %t414 %t416 = load i32, ptr %t403 %t417 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 %t420 = load i32, ptr %t419 %t421 = icmp ult i32 %t416, %t420 br i1 %t421, label %ixok194, label %ixbad195 ixbad195: %t422 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t422, ptr @.fmt_bounds, ptr @.str669, i32 %t416, i32 %t420) call void @exit(i32 1) unreachable ixok194: %t423 = getelementptr inbounds ptr, ptr %t418, i32 %t416 %t424 = load ptr, ptr %t423 %t425 = getelementptr inbounds %Cmp_Node, ptr %t424, i32 0, i32 2 store i32 1, ptr %t425 %t426 = load i32, ptr %t403 %t427 = add i32 %t426, 1 store i32 %t427, ptr %t403 br label %wcond191 wend193: br label %ifend190 ifend190: %t428 = load ptr, ptr @g_prog %t429 = load ptr, ptr %t400 %t430 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 1 %t431 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 2 %t432 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 0 %t433 = load i32, ptr %t430 %t434 = load i32, ptr %t431 %t435 = icmp sge i32 %t433, %t434 br i1 %t435, label %grow196, label %put197 grow196: %t436 = mul i32 %t434, 2 %t437 = icmp eq i32 %t434, 0 %t438 = select i1 %t437, i32 8, i32 %t436 %t439 = getelementptr ptr, ptr null, i32 1 %t440 = ptrtoint ptr %t439 to i64 %t441 = zext i32 %t438 to i64 %t442 = mul i64 %t441, %t440 %t443 = load ptr, ptr %t432 store i32 151, ptr @lp_site %t444 = call ptr @lp_realloc(ptr %t443, i64 %t442) store i32 0, ptr @lp_site store ptr %t444, ptr %t432 store i32 %t438, ptr %t431 br label %put197 put197: %t445 = load ptr, ptr %t432 %t446 = getelementptr inbounds ptr, ptr %t445, i32 %t433 store ptr %t429, ptr %t446 %t447 = add i32 %t433, 1 store i32 %t447, ptr %t430 br label %ret ifend187: %t448 = call i32 @fn_is_id(ptr @.str670) %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %then198, label %ifend200 then198: %t450 = call ptr @fn_parse_archetype() store ptr %t450, ptr %t451 %t452 = load i32, ptr %t13 %t453 = icmp ne i32 %t452, 0 br i1 %t453, label %then201, label %ifend203 then201: %t454 = load ptr, ptr %t451 %t455 = getelementptr inbounds %Cmp_Node, ptr %t454, i32 0, i32 2 store i32 1, ptr %t455 br label %ifend203 ifend203: %t456 = load ptr, ptr @g_prog %t457 = load ptr, ptr %t451 %t458 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 1 %t459 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 2 %t460 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 0 %t461 = load i32, ptr %t458 %t462 = load i32, ptr %t459 %t463 = icmp sge i32 %t461, %t462 br i1 %t463, label %grow204, label %put205 grow204: %t464 = mul i32 %t462, 2 %t465 = icmp eq i32 %t462, 0 %t466 = select i1 %t465, i32 8, i32 %t464 %t467 = getelementptr ptr, ptr null, i32 1 %t468 = ptrtoint ptr %t467 to i64 %t469 = zext i32 %t466 to i64 %t470 = mul i64 %t469, %t468 %t471 = load ptr, ptr %t460 store i32 152, ptr @lp_site %t472 = call ptr @lp_realloc(ptr %t471, i64 %t470) store i32 0, ptr @lp_site store ptr %t472, ptr %t460 store i32 %t466, ptr %t459 br label %put205 put205: %t473 = load ptr, ptr %t460 %t474 = getelementptr inbounds ptr, ptr %t473, i32 %t461 store ptr %t457, ptr %t474 %t475 = add i32 %t461, 1 store i32 %t475, ptr %t458 br label %ret ifend200: %t476 = call i32 @fn_is_id(ptr @.str671) %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then206, label %ifend208 then206: call void @fn_parse_scene() br label %ret ifend208: %t478 = call i32 @fn_is_id(ptr @.str672) %t479 = icmp ne i32 %t478, 0 br i1 %t479, label %then209, label %ifend211 then209: %t480 = load ptr, ptr @g_prog %t481 = call ptr @fn_parse_prefab() %t482 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 1 %t483 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 2 %t484 = getelementptr inbounds %LSlice, ptr %t480, i32 0, i32 0 %t485 = load i32, ptr %t482 %t486 = load i32, ptr %t483 %t487 = icmp sge i32 %t485, %t486 br i1 %t487, label %grow212, label %put213 grow212: %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 153, 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 %put213 put213: %t497 = load ptr, ptr %t484 %t498 = getelementptr inbounds ptr, ptr %t497, i32 %t485 store ptr %t481, ptr %t498 %t499 = add i32 %t485, 1 store i32 %t499, ptr %t482 br label %ret ifend211: %t500 = call i32 @fn_is_id(ptr @.str673) %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then214, label %ifend216 then214: %t502 = call ptr @fn_parse_system() store ptr %t502, ptr %t503 %t504 = load i32, ptr %t20 %t505 = icmp ne i32 %t504, 0 br i1 %t505, label %then217, label %ifend219 then217: %t506 = load ptr, ptr @g_g_det_names %t507 = load ptr, ptr %t503 %t508 = getelementptr inbounds %Cmp_Node, ptr %t507, i32 0, i32 1 %t509 = load ptr, ptr %t508 %t510 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1 %t511 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2 %t512 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0 %t513 = load i32, ptr %t510 %t514 = load i32, ptr %t511 %t515 = icmp sge i32 %t513, %t514 br i1 %t515, label %grow220, label %put221 grow220: %t516 = mul i32 %t514, 2 %t517 = icmp eq i32 %t514, 0 %t518 = select i1 %t517, i32 8, i32 %t516 %t519 = getelementptr ptr, ptr null, i32 1 %t520 = ptrtoint ptr %t519 to i64 %t521 = zext i32 %t518 to i64 %t522 = mul i64 %t521, %t520 %t523 = load ptr, ptr %t512 store i32 154, ptr @lp_site %t524 = call ptr @lp_realloc(ptr %t523, i64 %t522) store i32 0, ptr @lp_site store ptr %t524, ptr %t512 store i32 %t518, ptr %t511 br label %put221 put221: %t525 = load ptr, ptr %t512 %t526 = getelementptr inbounds ptr, ptr %t525, i32 %t513 store ptr %t509, ptr %t526 %t527 = add i32 %t513, 1 store i32 %t527, ptr %t510 br label %ifend219 ifend219: %t528 = load i32, ptr @g_g_aok_pending %t529 = icmp ne i32 %t528, 0 br i1 %t529, label %then222, label %ifend224 then222: %t530 = load ptr, ptr @g_g_alloc_ok_names %t531 = load ptr, ptr %t503 %t532 = getelementptr inbounds %Cmp_Node, ptr %t531, i32 0, i32 1 %t533 = load ptr, ptr %t532 %t534 = getelementptr inbounds %LSlice, ptr %t530, i32 0, i32 1 %t535 = getelementptr inbounds %LSlice, ptr %t530, i32 0, i32 2 %t536 = getelementptr inbounds %LSlice, ptr %t530, i32 0, i32 0 %t537 = load i32, ptr %t534 %t538 = load i32, ptr %t535 %t539 = icmp sge i32 %t537, %t538 br i1 %t539, label %grow225, label %put226 grow225: %t540 = mul i32 %t538, 2 %t541 = icmp eq i32 %t538, 0 %t542 = select i1 %t541, i32 8, i32 %t540 %t543 = getelementptr ptr, ptr null, i32 1 %t544 = ptrtoint ptr %t543 to i64 %t545 = zext i32 %t542 to i64 %t546 = mul i64 %t545, %t544 %t547 = load ptr, ptr %t536 store i32 155, ptr @lp_site %t548 = call ptr @lp_realloc(ptr %t547, i64 %t546) store i32 0, ptr @lp_site store ptr %t548, ptr %t536 store i32 %t542, ptr %t535 br label %put226 put226: %t549 = load ptr, ptr %t536 %t550 = getelementptr inbounds ptr, ptr %t549, i32 %t537 store ptr %t533, ptr %t550 %t551 = add i32 %t537, 1 store i32 %t551, ptr %t534 store i32 0, ptr @g_g_aok_pending br label %ifend224 ifend224: %t552 = load ptr, ptr %t14 %t553 = icmp ne ptr %t552, null %t554 = zext i1 %t553 to i32 %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %then227, label %ifend229 then227: %t556 = load ptr, ptr %t14 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str674) %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then230, label %else231 then230: %t559 = load ptr, ptr %t503 %t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 2 store i32 1, ptr %t560 br label %ifend232 else231: %t561 = load ptr, ptr %t503 %t562 = getelementptr inbounds %Cmp_Node, ptr %t561, i32 0, i32 2 store i32 2, ptr %t562 br label %ifend232 ifend232: br label %ifend229 ifend229: %t563 = load ptr, ptr %t503 %t564 = load ptr, ptr %t503 %t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 1 %t566 = load ptr, ptr %t565 %t567 = load ptr, ptr %t9 %t568 = load ptr, ptr %t2 %t569 = load ptr, ptr %t3 %t570 = load ptr, ptr %t5 %t571 = load ptr, ptr %t6 %t572 = load ptr, ptr %t7 %t573 = load ptr, ptr %t8 %t574 = load ptr, ptr %t11 %t575 = call ptr @fn_decl_hook(ptr %t567, ptr %t568, ptr %t569, ptr %t570, ptr %t571, ptr %t572, ptr %t573, ptr %t574) %t576 = load ptr, ptr %t9 %t577 = load ptr, ptr %t2 %t578 = load ptr, ptr %t3 %t579 = load ptr, ptr %t5 %t580 = load ptr, ptr %t6 %t581 = load ptr, ptr %t7 %t582 = load ptr, ptr %t8 %t583 = call ptr @fn_decl_hook_target(ptr %t576, ptr %t577, ptr %t578, ptr %t579, ptr %t580, ptr %t581, ptr %t582) %t584 = load ptr, ptr %t1 %t585 = load i32, ptr %t10 call void @fn_cx_handler(ptr %t563, ptr %t566, ptr %t575, ptr %t583, ptr %t584, i32 %t585, ptr null, ptr null) %t586 = load ptr, ptr %t9 %t587 = icmp ne ptr %t586, null %t588 = zext i1 %t587 to i32 %t589 = icmp ne i32 %t588, 0 br i1 %t589, label %then233, label %ifend235 then233: %t590 = load ptr, ptr %t9 %t591 = load ptr, ptr %t503 %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 4 %t593 = load ptr, ptr %t592 call void @fn_register_onlisten(ptr %t590, ptr %t593) call void @fn_cx_listened() br label %ret ifend235: %t594 = load ptr, ptr %t2 %t595 = icmp ne ptr %t594, null %t596 = zext i1 %t595 to i32 %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then236, label %ifend238 then236: %t598 = load ptr, ptr %t2 %t599 = load ptr, ptr %t503 %t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 4 %t601 = load ptr, ptr %t600 call void @fn_register_onspawn(ptr %t598, ptr %t601) %t602 = load i32, ptr %t10 %t603 = icmp ne i32 %t602, 0 br i1 %t603, label %then239, label %ifend241 then239: %t604 = load ptr, ptr %t2 store i32 156, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr @.str675, ptr %t604) store i32 0, ptr @lp_site store i32 157, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str676) store i32 0, ptr @lp_site call void @lp_free(ptr %t605) call void @fn_ensure_event(ptr %t606, i32 0) br label %ifend241 ifend241: br label %ret ifend238: %t607 = load ptr, ptr %t3 %t608 = icmp ne ptr %t607, null %t609 = zext i1 %t608 to i32 %t610 = icmp ne i32 %t609, 0 br i1 %t610, label %then242, label %ifend244 then242: %t611 = load ptr, ptr %t3 %t612 = load ptr, ptr %t503 %t613 = getelementptr inbounds %Cmp_Node, ptr %t612, i32 0, i32 4 %t614 = load ptr, ptr %t613 %t615 = load ptr, ptr %t4 call void @fn_register_ondespawn(ptr %t611, ptr %t614, ptr %t615) %t616 = load i32, ptr %t10 %t617 = icmp ne i32 %t616, 0 br i1 %t617, label %then245, label %ifend247 then245: %t618 = load ptr, ptr %t3 store i32 158, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr @.str677, ptr %t618) store i32 0, ptr @lp_site store i32 159, ptr @lp_site %t620 = call ptr @lp_str_concat(ptr %t619, ptr @.str678) store i32 0, ptr @lp_site call void @lp_free(ptr %t619) call void @fn_ensure_event(ptr %t620, i32 1) br label %ifend247 ifend247: br label %ret ifend244: %t621 = load ptr, ptr %t5 %t622 = icmp ne ptr %t621, null %t623 = zext i1 %t622 to i32 %t624 = icmp ne i32 %t623, 0 br i1 %t624, label %then248, label %ifend250 then248: %t625 = load ptr, ptr %t5 %t626 = load ptr, ptr %t503 %t627 = getelementptr inbounds %Cmp_Node, ptr %t626, i32 0, i32 4 %t628 = load ptr, ptr %t627 call void @fn_register_onattach(ptr %t625, ptr %t628) %t629 = load i32, ptr %t10 %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then251, label %ifend253 then251: %t631 = load ptr, ptr %t5 store i32 160, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr @.str679, ptr %t631) store i32 0, ptr @lp_site store i32 161, ptr @lp_site %t633 = call ptr @lp_str_concat(ptr %t632, ptr @.str680) store i32 0, ptr @lp_site call void @lp_free(ptr %t632) call void @fn_ensure_event(ptr %t633, i32 0) br label %ifend253 ifend253: br label %ret ifend250: %t634 = load ptr, ptr %t6 %t635 = icmp ne ptr %t634, null %t636 = zext i1 %t635 to i32 %t637 = icmp ne i32 %t636, 0 br i1 %t637, label %then254, label %ifend256 then254: %t638 = load ptr, ptr %t6 %t639 = load ptr, ptr %t503 %t640 = getelementptr inbounds %Cmp_Node, ptr %t639, i32 0, i32 4 %t641 = load ptr, ptr %t640 call void @fn_register_ondetach(ptr %t638, ptr %t641) %t642 = load i32, ptr %t10 %t643 = icmp ne i32 %t642, 0 br i1 %t643, label %then257, label %ifend259 then257: %t644 = load ptr, ptr %t6 store i32 162, ptr @lp_site %t645 = call ptr @lp_str_concat(ptr @.str681, ptr %t644) store i32 0, ptr @lp_site store i32 163, ptr @lp_site %t646 = call ptr @lp_str_concat(ptr %t645, ptr @.str682) store i32 0, ptr @lp_site call void @lp_free(ptr %t645) call void @fn_ensure_event(ptr %t646, i32 0) br label %ifend259 ifend259: br label %ret ifend256: %t647 = load ptr, ptr %t7 %t648 = icmp ne ptr %t647, null %t649 = zext i1 %t648 to i32 %t650 = icmp ne i32 %t649, 0 br i1 %t650, label %then260, label %ifend262 then260: %t651 = load ptr, ptr %t7 %t652 = load ptr, ptr %t503 %t653 = getelementptr inbounds %Cmp_Node, ptr %t652, i32 0, i32 4 %t654 = load ptr, ptr %t653 call void @fn_register_onenable(ptr %t651, ptr %t654) %t655 = load i32, ptr %t10 %t656 = icmp ne i32 %t655, 0 br i1 %t656, label %then263, label %ifend265 then263: %t657 = load ptr, ptr %t7 store i32 164, ptr @lp_site %t658 = call ptr @lp_str_concat(ptr @.str683, ptr %t657) store i32 0, ptr @lp_site store i32 165, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr %t658, ptr @.str684) store i32 0, ptr @lp_site call void @lp_free(ptr %t658) call void @fn_ensure_event(ptr %t659, i32 0) br label %ifend265 ifend265: br label %ret ifend262: %t660 = load ptr, ptr %t8 %t661 = icmp ne ptr %t660, null %t662 = zext i1 %t661 to i32 %t663 = icmp ne i32 %t662, 0 br i1 %t663, label %then266, label %ifend268 then266: %t664 = load ptr, ptr %t8 %t665 = load ptr, ptr %t503 %t666 = getelementptr inbounds %Cmp_Node, ptr %t665, i32 0, i32 4 %t667 = load ptr, ptr %t666 call void @fn_register_ondisable(ptr %t664, ptr %t667) %t668 = load i32, ptr %t10 %t669 = icmp ne i32 %t668, 0 br i1 %t669, label %then269, label %ifend271 then269: %t670 = load ptr, ptr %t8 store i32 166, ptr @lp_site %t671 = call ptr @lp_str_concat(ptr @.str685, ptr %t670) store i32 0, ptr @lp_site store i32 167, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t671, ptr @.str686) store i32 0, ptr @lp_site call void @lp_free(ptr %t671) call void @fn_ensure_event(ptr %t672, i32 0) br label %ifend271 ifend271: br label %ret ifend268: %t673 = load ptr, ptr %t11 %t674 = icmp ne ptr %t673, null %t675 = zext i1 %t674 to i32 %t676 = icmp ne i32 %t675, 0 br i1 %t676, label %then272, label %ifend274 then272: %t677 = load ptr, ptr %t503 %t678 = getelementptr inbounds %Cmp_Node, ptr %t677, i32 0, i32 3 %t679 = load ptr, ptr %t11 store ptr %t679, ptr %t678 %t680 = load i32, ptr %t10 %t681 = icmp ne i32 %t680, 0 br i1 %t681, label %then275, label %ifend277 then275: %t682 = load ptr, ptr %t11 %t683 = call i32 @lp_str_eq(ptr %t682, ptr @.str687) %t684 = icmp ne i32 %t683, 0 br i1 %t684, label %then278, label %else279 then278: call void @fn_ensure_event_empty(ptr @.str688) br label %ifend280 else279: call void @fn_ensure_event_empty(ptr @.str689) br label %ifend280 ifend280: br label %ifend277 ifend277: br label %ifend274 ifend274: %t685 = load ptr, ptr %t1 %t686 = icmp ne ptr %t685, null %t687 = zext i1 %t686 to i32 %t688 = icmp ne i32 %t687, 0 br i1 %t688, label %then281, label %ifend283 then281: %t689 = load ptr, ptr %t1 %t690 = getelementptr inbounds %Cmp_Node, ptr %t689, i32 0, i32 4 %t691 = load ptr, ptr %t503 %t692 = getelementptr inbounds %Cmp_Node, ptr %t691, i32 0, i32 4 %t693 = load ptr, ptr %t692 store ptr %t693, ptr %t690 %t694 = call ptr @fn_node(i32 7) store ptr %t694, ptr %t695 %t696 = load ptr, ptr %t695 %t697 = getelementptr inbounds %Cmp_Node, ptr %t696, i32 0, i32 7 %t698 = load ptr, ptr %t697 %t699 = load ptr, ptr %t1 %t700 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 1 %t701 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 2 %t702 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 0 %t703 = load i32, ptr %t700 %t704 = load i32, ptr %t701 %t705 = icmp sge i32 %t703, %t704 br i1 %t705, label %grow284, label %put285 grow284: %t706 = mul i32 %t704, 2 %t707 = icmp eq i32 %t704, 0 %t708 = select i1 %t707, i32 8, i32 %t706 %t709 = getelementptr ptr, ptr null, i32 1 %t710 = ptrtoint ptr %t709 to i64 %t711 = zext i32 %t708 to i64 %t712 = mul i64 %t711, %t710 %t713 = load ptr, ptr %t702 store i32 168, ptr @lp_site %t714 = call ptr @lp_realloc(ptr %t713, i64 %t712) store i32 0, ptr @lp_site store ptr %t714, ptr %t702 store i32 %t708, ptr %t701 br label %put285 put285: %t715 = load ptr, ptr %t702 %t716 = getelementptr inbounds ptr, ptr %t715, i32 %t703 store ptr %t699, ptr %t716 %t717 = add i32 %t703, 1 store i32 %t717, ptr %t700 %t718 = load ptr, ptr %t503 %t719 = getelementptr inbounds %Cmp_Node, ptr %t718, i32 0, i32 4 %t720 = load ptr, ptr %t695 store ptr %t720, ptr %t719 br label %ifend283 ifend283: %t721 = load ptr, ptr @g_prog %t722 = load ptr, ptr %t503 %t723 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 1 %t724 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 2 %t725 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0 %t726 = load i32, ptr %t723 %t727 = load i32, ptr %t724 %t728 = icmp sge i32 %t726, %t727 br i1 %t728, label %grow286, label %put287 grow286: %t729 = mul i32 %t727, 2 %t730 = icmp eq i32 %t727, 0 %t731 = select i1 %t730, i32 8, i32 %t729 %t732 = getelementptr ptr, ptr null, i32 1 %t733 = ptrtoint ptr %t732 to i64 %t734 = zext i32 %t731 to i64 %t735 = mul i64 %t734, %t733 %t736 = load ptr, ptr %t725 store i32 169, ptr @lp_site %t737 = call ptr @lp_realloc(ptr %t736, i64 %t735) store i32 0, ptr @lp_site store ptr %t737, ptr %t725 store i32 %t731, ptr %t724 br label %put287 put287: %t738 = load ptr, ptr %t725 %t739 = getelementptr inbounds ptr, ptr %t738, i32 %t726 store ptr %t722, ptr %t739 %t740 = add i32 %t726, 1 store i32 %t740, ptr %t723 br label %ret ifend216: %t741 = call i32 @fn_is_id(ptr @.str690) %t742 = icmp ne i32 %t741, 0 br i1 %t742, label %then288, label %ifend290 then288: %t743 = load ptr, ptr @g_prog %t744 = call ptr @fn_parse_ui() %t745 = getelementptr inbounds %LSlice, ptr %t743, i32 0, i32 1 %t746 = getelementptr inbounds %LSlice, ptr %t743, i32 0, i32 2 %t747 = getelementptr inbounds %LSlice, ptr %t743, i32 0, i32 0 %t748 = load i32, ptr %t745 %t749 = load i32, ptr %t746 %t750 = icmp sge i32 %t748, %t749 br i1 %t750, label %grow291, label %put292 grow291: %t751 = mul i32 %t749, 2 %t752 = icmp eq i32 %t749, 0 %t753 = select i1 %t752, i32 8, i32 %t751 %t754 = getelementptr ptr, ptr null, i32 1 %t755 = ptrtoint ptr %t754 to i64 %t756 = zext i32 %t753 to i64 %t757 = mul i64 %t756, %t755 %t758 = load ptr, ptr %t747 store i32 170, ptr @lp_site %t759 = call ptr @lp_realloc(ptr %t758, i64 %t757) store i32 0, ptr @lp_site store ptr %t759, ptr %t747 store i32 %t753, ptr %t746 br label %put292 put292: %t760 = load ptr, ptr %t747 %t761 = getelementptr inbounds ptr, ptr %t760, i32 %t748 store ptr %t744, ptr %t761 %t762 = add i32 %t748, 1 store i32 %t762, ptr %t745 br label %ret ifend290: %t763 = call i32 @fn_is_id(ptr @.str691) %t764 = icmp ne i32 %t763, 0 br i1 %t764, label %then293, label %ifend295 then293: call void @fn_parse_namespace() br label %ret ifend295: %t767 = call i32 @fn_is_id(ptr @.str692) %t768 = icmp ne i32 %t767, 0 %t769 = zext i1 %t768 to i32 store i32 %t769, ptr %t766 br i1 %t768, label %sc296, label %scend297 sc296: %t770 = load ptr, ptr @g_toks %t771 = load i32, ptr @g_pi %t772 = add i32 %t771, 1 %t773 = getelementptr inbounds %LSlice, ptr %t770, i32 0, i32 0 %t774 = load ptr, ptr %t773 %t775 = getelementptr inbounds %LSlice, ptr %t770, i32 0, i32 1 %t776 = load i32, ptr %t775 %t777 = icmp ult i32 %t772, %t776 br i1 %t777, label %ixok298, label %ixbad299 ixbad299: %t778 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t778, ptr @.fmt_bounds, ptr @.str693, i32 %t772, i32 %t776) call void @exit(i32 1) unreachable ixok298: %t779 = getelementptr inbounds ptr, ptr %t774, i32 %t772 %t780 = load ptr, ptr %t779 %t781 = getelementptr inbounds %Cmp_Tok, ptr %t780, i32 0, i32 0 %t782 = load i32, ptr %t781 %t783 = icmp eq i32 %t782, 0 %t784 = zext i1 %t783 to i32 %t785 = icmp ne i32 %t784, 0 %t786 = zext i1 %t785 to i32 store i32 %t786, ptr %t766 br label %scend297 scend297: %t787 = load i32, ptr %t766 %t788 = icmp ne i32 %t787, 0 %t789 = zext i1 %t788 to i32 store i32 %t789, ptr %t765 br i1 %t788, label %sc300, label %scend301 sc300: %t790 = load ptr, ptr @g_toks %t791 = load i32, ptr @g_pi %t792 = add i32 %t791, 2 %t793 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 0 %t794 = load ptr, ptr %t793 %t795 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 1 %t796 = load i32, ptr %t795 %t797 = icmp ult i32 %t792, %t796 br i1 %t797, label %ixok302, label %ixbad303 ixbad303: %t798 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t798, ptr @.fmt_bounds, ptr @.str694, i32 %t792, i32 %t796) call void @exit(i32 1) unreachable ixok302: %t799 = getelementptr inbounds ptr, ptr %t794, i32 %t792 %t800 = load ptr, ptr %t799 %t801 = getelementptr inbounds %Cmp_Tok, ptr %t800, i32 0, i32 1 %t802 = load ptr, ptr %t801 %t803 = call i32 @lp_str_eq(ptr %t802, ptr @.str695) %t804 = icmp ne i32 %t803, 0 %t805 = zext i1 %t804 to i32 store i32 %t805, ptr %t765 br label %scend301 scend301: %t806 = load i32, ptr %t765 %t807 = icmp ne i32 %t806, 0 br i1 %t807, label %then304, label %ifend306 then304: call void @fn_parse_port() br label %ret ifend306: %t810 = call i32 @fn_is_id(ptr @.str696) %t811 = icmp ne i32 %t810, 0 %t812 = zext i1 %t811 to i32 store i32 %t812, ptr %t809 br i1 %t811, label %sc307, label %scend308 sc307: %t813 = load ptr, ptr @g_toks %t814 = load i32, ptr @g_pi %t815 = add i32 %t814, 1 %t816 = getelementptr inbounds %LSlice, ptr %t813, i32 0, i32 0 %t817 = load ptr, ptr %t816 %t818 = getelementptr inbounds %LSlice, ptr %t813, i32 0, i32 1 %t819 = load i32, ptr %t818 %t820 = icmp ult i32 %t815, %t819 br i1 %t820, label %ixok309, label %ixbad310 ixbad310: %t821 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t821, ptr @.fmt_bounds, ptr @.str697, i32 %t815, i32 %t819) call void @exit(i32 1) unreachable ixok309: %t822 = getelementptr inbounds ptr, ptr %t817, i32 %t815 %t823 = load ptr, ptr %t822 %t824 = getelementptr inbounds %Cmp_Tok, ptr %t823, i32 0, i32 0 %t825 = load i32, ptr %t824 %t826 = icmp eq i32 %t825, 0 %t827 = zext i1 %t826 to i32 %t828 = icmp ne i32 %t827, 0 %t829 = zext i1 %t828 to i32 store i32 %t829, ptr %t809 br label %scend308 scend308: %t830 = load i32, ptr %t809 %t831 = icmp ne i32 %t830, 0 %t832 = zext i1 %t831 to i32 store i32 %t832, ptr %t808 br i1 %t831, label %sc311, label %scend312 sc311: %t833 = load ptr, ptr @g_toks %t834 = load i32, ptr @g_pi %t835 = add i32 %t834, 2 %t836 = getelementptr inbounds %LSlice, ptr %t833, i32 0, i32 0 %t837 = load ptr, ptr %t836 %t838 = getelementptr inbounds %LSlice, ptr %t833, i32 0, i32 1 %t839 = load i32, ptr %t838 %t840 = icmp ult i32 %t835, %t839 br i1 %t840, label %ixok313, label %ixbad314 ixbad314: %t841 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t841, ptr @.fmt_bounds, ptr @.str698, i32 %t835, i32 %t839) call void @exit(i32 1) unreachable ixok313: %t842 = getelementptr inbounds ptr, ptr %t837, i32 %t835 %t843 = load ptr, ptr %t842 %t844 = getelementptr inbounds %Cmp_Tok, ptr %t843, i32 0, i32 1 %t845 = load ptr, ptr %t844 %t846 = call i32 @lp_str_eq(ptr %t845, ptr @.str699) %t847 = icmp ne i32 %t846, 0 %t848 = zext i1 %t847 to i32 store i32 %t848, ptr %t808 br label %scend312 scend312: %t849 = load i32, ptr %t808 %t850 = icmp ne i32 %t849, 0 br i1 %t850, label %then315, label %ifend317 then315: call void @fn_parse_bind() br label %ret ifend317: %t852 = call i32 @fn_is_id(ptr @.str700) %t853 = icmp ne i32 %t852, 0 %t854 = zext i1 %t853 to i32 store i32 %t854, ptr %t851 br i1 %t853, label %sc318, label %scend319 sc318: %t855 = load ptr, ptr @g_toks %t856 = load i32, ptr @g_pi %t857 = add i32 %t856, 1 %t858 = getelementptr inbounds %LSlice, ptr %t855, i32 0, i32 0 %t859 = load ptr, ptr %t858 %t860 = getelementptr inbounds %LSlice, ptr %t855, i32 0, i32 1 %t861 = load i32, ptr %t860 %t862 = icmp ult i32 %t857, %t861 br i1 %t862, label %ixok320, label %ixbad321 ixbad321: %t863 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t863, ptr @.fmt_bounds, ptr @.str701, i32 %t857, i32 %t861) call void @exit(i32 1) unreachable ixok320: %t864 = getelementptr inbounds ptr, ptr %t859, i32 %t857 %t865 = load ptr, ptr %t864 %t866 = getelementptr inbounds %Cmp_Tok, ptr %t865, i32 0, i32 1 %t867 = load ptr, ptr %t866 %t868 = call i32 @lp_str_eq(ptr %t867, ptr @.str702) %t869 = icmp ne i32 %t868, 0 %t870 = zext i1 %t869 to i32 store i32 %t870, ptr %t851 br label %scend319 scend319: %t871 = load i32, ptr %t851 %t872 = icmp ne i32 %t871, 0 br i1 %t872, label %then322, label %ifend324 then322: %t873 = load i32, ptr @g_pi %t874 = add i32 %t873, 1 store i32 %t874, ptr @g_pi call void @fn_parse_registry() %t875 = load ptr, ptr @g_g_rg_open %t876 = load ptr, ptr @g_g_rg_open %t877 = getelementptr inbounds %LSlice, ptr %t876, i32 0, i32 1 %t878 = load i32, ptr %t877 %t879 = sub i32 %t878, 1 %t880 = getelementptr inbounds %LSlice, ptr %t875, i32 0, i32 0 %t881 = load ptr, ptr %t880 %t882 = getelementptr inbounds %LSlice, ptr %t875, i32 0, i32 1 %t883 = load i32, ptr %t882 %t884 = icmp ult i32 %t879, %t883 br i1 %t884, label %ixok325, label %ixbad326 ixbad326: %t885 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t885, ptr @.fmt_bounds, ptr @.str703, i32 %t879, i32 %t883) call void @exit(i32 1) unreachable ixok325: %t886 = getelementptr inbounds i32, ptr %t881, i32 %t879 store i32 1, ptr %t886 br label %ret ifend324: %t889 = call i32 @fn_is_id(ptr @.str704) %t890 = icmp ne i32 %t889, 0 %t891 = zext i1 %t890 to i32 store i32 %t891, ptr %t888 br i1 %t890, label %sc327, label %scend328 sc327: %t892 = load ptr, ptr @g_toks %t893 = load i32, ptr @g_pi %t894 = add i32 %t893, 1 %t895 = getelementptr inbounds %LSlice, ptr %t892, i32 0, i32 0 %t896 = load ptr, ptr %t895 %t897 = getelementptr inbounds %LSlice, ptr %t892, i32 0, i32 1 %t898 = load i32, ptr %t897 %t899 = icmp ult i32 %t894, %t898 br i1 %t899, label %ixok329, label %ixbad330 ixbad330: %t900 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t900, ptr @.fmt_bounds, ptr @.str705, i32 %t894, i32 %t898) call void @exit(i32 1) unreachable ixok329: %t901 = getelementptr inbounds ptr, ptr %t896, i32 %t894 %t902 = load ptr, ptr %t901 %t903 = getelementptr inbounds %Cmp_Tok, ptr %t902, i32 0, i32 0 %t904 = load i32, ptr %t903 %t905 = icmp eq i32 %t904, 0 %t906 = zext i1 %t905 to i32 %t907 = icmp ne i32 %t906, 0 %t908 = zext i1 %t907 to i32 store i32 %t908, ptr %t888 br label %scend328 scend328: %t909 = load i32, ptr %t888 %t910 = icmp ne i32 %t909, 0 %t911 = zext i1 %t910 to i32 store i32 %t911, ptr %t887 br i1 %t910, label %sc331, label %scend332 sc331: %t912 = load ptr, ptr @g_toks %t913 = load i32, ptr @g_pi %t914 = add i32 %t913, 2 %t915 = getelementptr inbounds %LSlice, ptr %t912, i32 0, i32 0 %t916 = load ptr, ptr %t915 %t917 = getelementptr inbounds %LSlice, ptr %t912, i32 0, i32 1 %t918 = load i32, ptr %t917 %t919 = icmp ult i32 %t914, %t918 br i1 %t919, label %ixok333, label %ixbad334 ixbad334: %t920 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t920, ptr @.fmt_bounds, ptr @.str706, i32 %t914, i32 %t918) call void @exit(i32 1) unreachable ixok333: %t921 = getelementptr inbounds ptr, ptr %t916, i32 %t914 %t922 = load ptr, ptr %t921 %t923 = getelementptr inbounds %Cmp_Tok, ptr %t922, i32 0, i32 1 %t924 = load ptr, ptr %t923 %t925 = call i32 @lp_str_eq(ptr %t924, ptr @.str707) %t926 = icmp ne i32 %t925, 0 %t927 = zext i1 %t926 to i32 store i32 %t927, ptr %t887 br label %scend332 scend332: %t928 = load i32, ptr %t887 %t929 = icmp ne i32 %t928, 0 br i1 %t929, label %then335, label %ifend337 then335: call void @fn_parse_registry() br label %ret ifend337: %t932 = call i32 @fn_is_id(ptr @.str708) %t933 = icmp ne i32 %t932, 0 %t934 = zext i1 %t933 to i32 store i32 %t934, ptr %t931 br i1 %t933, label %sc338, label %scend339 sc338: %t935 = load ptr, ptr @g_toks %t936 = load i32, ptr @g_pi %t937 = add i32 %t936, 1 %t938 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 0 %t939 = load ptr, ptr %t938 %t940 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 1 %t941 = load i32, ptr %t940 %t942 = icmp ult i32 %t937, %t941 br i1 %t942, label %ixok340, label %ixbad341 ixbad341: %t943 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t943, ptr @.fmt_bounds, ptr @.str709, i32 %t937, i32 %t941) call void @exit(i32 1) unreachable ixok340: %t944 = getelementptr inbounds ptr, ptr %t939, i32 %t937 %t945 = load ptr, ptr %t944 %t946 = getelementptr inbounds %Cmp_Tok, ptr %t945, i32 0, i32 0 %t947 = load i32, ptr %t946 %t948 = icmp eq i32 %t947, 0 %t949 = zext i1 %t948 to i32 %t950 = icmp ne i32 %t949, 0 %t951 = zext i1 %t950 to i32 store i32 %t951, ptr %t931 br label %scend339 scend339: %t952 = load i32, ptr %t931 %t953 = icmp ne i32 %t952, 0 %t954 = zext i1 %t953 to i32 store i32 %t954, ptr %t930 br i1 %t953, label %sc342, label %scend343 sc342: %t955 = load ptr, ptr @g_toks %t956 = load i32, ptr @g_pi %t957 = add i32 %t956, 2 %t958 = getelementptr inbounds %LSlice, ptr %t955, i32 0, i32 0 %t959 = load ptr, ptr %t958 %t960 = getelementptr inbounds %LSlice, ptr %t955, i32 0, i32 1 %t961 = load i32, ptr %t960 %t962 = icmp ult i32 %t957, %t961 br i1 %t962, label %ixok344, label %ixbad345 ixbad345: %t963 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t963, ptr @.fmt_bounds, ptr @.str710, i32 %t957, i32 %t961) call void @exit(i32 1) unreachable ixok344: %t964 = getelementptr inbounds ptr, ptr %t959, i32 %t957 %t965 = load ptr, ptr %t964 %t966 = getelementptr inbounds %Cmp_Tok, ptr %t965, i32 0, i32 0 %t967 = load i32, ptr %t966 %t968 = icmp eq i32 %t967, 0 %t969 = zext i1 %t968 to i32 %t970 = icmp ne i32 %t969, 0 %t971 = zext i1 %t970 to i32 store i32 %t971, ptr %t930 br label %scend343 scend343: %t972 = load i32, ptr %t930 %t973 = icmp ne i32 %t972, 0 br i1 %t973, label %then346, label %ifend348 then346: call void @fn_parse_def() br label %ret ifend348: %t976 = call i32 @fn_is_id(ptr @.str711) %t977 = icmp ne i32 %t976, 0 %t978 = zext i1 %t977 to i32 store i32 %t978, ptr %t975 br i1 %t977, label %sc349, label %scend350 sc349: %t979 = load ptr, ptr @g_toks %t980 = load i32, ptr @g_pi %t981 = add i32 %t980, 1 %t982 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 0 %t983 = load ptr, ptr %t982 %t984 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 1 %t985 = load i32, ptr %t984 %t986 = icmp ult i32 %t981, %t985 br i1 %t986, label %ixok351, label %ixbad352 ixbad352: %t987 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t987, ptr @.fmt_bounds, ptr @.str712, i32 %t981, i32 %t985) call void @exit(i32 1) unreachable ixok351: %t988 = getelementptr inbounds ptr, ptr %t983, i32 %t981 %t989 = load ptr, ptr %t988 %t990 = getelementptr inbounds %Cmp_Tok, ptr %t989, i32 0, i32 0 %t991 = load i32, ptr %t990 %t992 = icmp eq i32 %t991, 0 %t993 = zext i1 %t992 to i32 %t994 = icmp ne i32 %t993, 0 %t995 = zext i1 %t994 to i32 store i32 %t995, ptr %t975 br label %scend350 scend350: %t996 = load i32, ptr %t975 %t997 = icmp ne i32 %t996, 0 %t998 = zext i1 %t997 to i32 store i32 %t998, ptr %t974 br i1 %t997, label %sc353, label %scend354 sc353: %t1000 = load ptr, ptr @g_toks %t1001 = load i32, ptr @g_pi %t1002 = add i32 %t1001, 2 %t1003 = getelementptr inbounds %LSlice, ptr %t1000, i32 0, i32 0 %t1004 = load ptr, ptr %t1003 %t1005 = getelementptr inbounds %LSlice, ptr %t1000, i32 0, i32 1 %t1006 = load i32, ptr %t1005 %t1007 = icmp ult i32 %t1002, %t1006 br i1 %t1007, label %ixok355, label %ixbad356 ixbad356: %t1008 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1008, ptr @.fmt_bounds, ptr @.str713, i32 %t1002, i32 %t1006) call void @exit(i32 1) unreachable ixok355: %t1009 = getelementptr inbounds ptr, ptr %t1004, i32 %t1002 %t1010 = load ptr, ptr %t1009 %t1011 = getelementptr inbounds %Cmp_Tok, ptr %t1010, i32 0, i32 1 %t1012 = load ptr, ptr %t1011 %t1013 = call i32 @lp_str_eq(ptr %t1012, ptr @.str714) %t1014 = icmp ne i32 %t1013, 0 %t1015 = zext i1 %t1014 to i32 store i32 %t1015, ptr %t999 br i1 %t1014, label %scend358, label %sc357 sc357: %t1016 = load ptr, ptr @g_toks %t1017 = load i32, ptr @g_pi %t1018 = add i32 %t1017, 2 %t1019 = getelementptr inbounds %LSlice, ptr %t1016, i32 0, i32 0 %t1020 = load ptr, ptr %t1019 %t1021 = getelementptr inbounds %LSlice, ptr %t1016, i32 0, i32 1 %t1022 = load i32, ptr %t1021 %t1023 = icmp ult i32 %t1018, %t1022 br i1 %t1023, label %ixok359, label %ixbad360 ixbad360: %t1024 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1024, ptr @.fmt_bounds, ptr @.str715, i32 %t1018, i32 %t1022) call void @exit(i32 1) unreachable ixok359: %t1025 = getelementptr inbounds ptr, ptr %t1020, i32 %t1018 %t1026 = load ptr, ptr %t1025 %t1027 = getelementptr inbounds %Cmp_Tok, ptr %t1026, i32 0, i32 1 %t1028 = load ptr, ptr %t1027 %t1029 = call i32 @lp_str_eq(ptr %t1028, ptr @.str716) %t1030 = icmp ne i32 %t1029, 0 %t1031 = zext i1 %t1030 to i32 store i32 %t1031, ptr %t999 br label %scend358 scend358: %t1032 = load i32, ptr %t999 %t1033 = icmp ne i32 %t1032, 0 %t1034 = zext i1 %t1033 to i32 store i32 %t1034, ptr %t974 br label %scend354 scend354: %t1035 = load i32, ptr %t974 %t1036 = icmp ne i32 %t1035, 0 br i1 %t1036, label %then361, label %ifend363 then361: call void @fn_parse_view() br label %ret ifend363: %t1039 = call i32 @fn_is_id(ptr @.str717) %t1040 = icmp ne i32 %t1039, 0 %t1041 = zext i1 %t1040 to i32 store i32 %t1041, ptr %t1038 br i1 %t1040, label %sc364, label %scend365 sc364: %t1042 = load ptr, ptr @g_toks %t1043 = load i32, ptr @g_pi %t1044 = add i32 %t1043, 1 %t1045 = getelementptr inbounds %LSlice, ptr %t1042, i32 0, i32 0 %t1046 = load ptr, ptr %t1045 %t1047 = getelementptr inbounds %LSlice, ptr %t1042, i32 0, i32 1 %t1048 = load i32, ptr %t1047 %t1049 = icmp ult i32 %t1044, %t1048 br i1 %t1049, label %ixok366, label %ixbad367 ixbad367: %t1050 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1050, ptr @.fmt_bounds, ptr @.str718, i32 %t1044, i32 %t1048) call void @exit(i32 1) unreachable ixok366: %t1051 = getelementptr inbounds ptr, ptr %t1046, i32 %t1044 %t1052 = load ptr, ptr %t1051 %t1053 = getelementptr inbounds %Cmp_Tok, ptr %t1052, i32 0, i32 0 %t1054 = load i32, ptr %t1053 %t1055 = icmp eq i32 %t1054, 0 %t1056 = zext i1 %t1055 to i32 %t1057 = icmp ne i32 %t1056, 0 %t1058 = zext i1 %t1057 to i32 store i32 %t1058, ptr %t1038 br label %scend365 scend365: %t1059 = load i32, ptr %t1038 %t1060 = icmp ne i32 %t1059, 0 %t1061 = zext i1 %t1060 to i32 store i32 %t1061, ptr %t1037 br i1 %t1060, label %sc368, label %scend369 sc368: %t1063 = load ptr, ptr @g_toks %t1064 = load i32, ptr @g_pi %t1065 = add i32 %t1064, 2 %t1066 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 0 %t1067 = load ptr, ptr %t1066 %t1068 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 1 %t1069 = load i32, ptr %t1068 %t1070 = icmp ult i32 %t1065, %t1069 br i1 %t1070, label %ixok370, label %ixbad371 ixbad371: %t1071 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1071, ptr @.fmt_bounds, ptr @.str719, i32 %t1065, i32 %t1069) call void @exit(i32 1) unreachable ixok370: %t1072 = getelementptr inbounds ptr, ptr %t1067, i32 %t1065 %t1073 = load ptr, ptr %t1072 %t1074 = getelementptr inbounds %Cmp_Tok, ptr %t1073, i32 0, i32 1 %t1075 = load ptr, ptr %t1074 %t1076 = call i32 @lp_str_eq(ptr %t1075, ptr @.str720) %t1077 = icmp ne i32 %t1076, 0 %t1078 = zext i1 %t1077 to i32 store i32 %t1078, ptr %t1062 br i1 %t1077, label %scend373, label %sc372 sc372: %t1079 = load ptr, ptr @g_toks %t1080 = load i32, ptr @g_pi %t1081 = add i32 %t1080, 2 %t1082 = getelementptr inbounds %LSlice, ptr %t1079, i32 0, i32 0 %t1083 = load ptr, ptr %t1082 %t1084 = getelementptr inbounds %LSlice, ptr %t1079, i32 0, i32 1 %t1085 = load i32, ptr %t1084 %t1086 = icmp ult i32 %t1081, %t1085 br i1 %t1086, label %ixok374, label %ixbad375 ixbad375: %t1087 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1087, ptr @.fmt_bounds, ptr @.str721, i32 %t1081, i32 %t1085) call void @exit(i32 1) unreachable ixok374: %t1088 = getelementptr inbounds ptr, ptr %t1083, i32 %t1081 %t1089 = load ptr, ptr %t1088 %t1090 = getelementptr inbounds %Cmp_Tok, ptr %t1089, i32 0, i32 1 %t1091 = load ptr, ptr %t1090 %t1092 = call i32 @lp_str_eq(ptr %t1091, ptr @.str722) %t1093 = icmp ne i32 %t1092, 0 %t1094 = zext i1 %t1093 to i32 store i32 %t1094, ptr %t1062 br label %scend373 scend373: %t1095 = load i32, ptr %t1062 %t1096 = icmp ne i32 %t1095, 0 %t1097 = zext i1 %t1096 to i32 store i32 %t1097, ptr %t1037 br label %scend369 scend369: %t1098 = load i32, ptr %t1037 %t1099 = icmp ne i32 %t1098, 0 br i1 %t1099, label %then376, label %ifend378 then376: call void @fn_parse_ui_component() br label %ret ifend378: %t1102 = call i32 @fn_is_id(ptr @.str723) %t1103 = icmp ne i32 %t1102, 0 %t1104 = zext i1 %t1103 to i32 store i32 %t1104, ptr %t1101 br i1 %t1103, label %sc379, label %scend380 sc379: %t1105 = load ptr, ptr @g_toks %t1106 = load i32, ptr @g_pi %t1107 = add i32 %t1106, 1 %t1108 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 0 %t1109 = load ptr, ptr %t1108 %t1110 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 1 %t1111 = load i32, ptr %t1110 %t1112 = icmp ult i32 %t1107, %t1111 br i1 %t1112, label %ixok381, label %ixbad382 ixbad382: %t1113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1113, ptr @.fmt_bounds, ptr @.str724, i32 %t1107, i32 %t1111) call void @exit(i32 1) unreachable ixok381: %t1114 = getelementptr inbounds ptr, ptr %t1109, i32 %t1107 %t1115 = load ptr, ptr %t1114 %t1116 = getelementptr inbounds %Cmp_Tok, ptr %t1115, i32 0, i32 0 %t1117 = load i32, ptr %t1116 %t1118 = icmp eq i32 %t1117, 0 %t1119 = zext i1 %t1118 to i32 %t1120 = icmp ne i32 %t1119, 0 %t1121 = zext i1 %t1120 to i32 store i32 %t1121, ptr %t1101 br label %scend380 scend380: %t1122 = load i32, ptr %t1101 %t1123 = icmp ne i32 %t1122, 0 %t1124 = zext i1 %t1123 to i32 store i32 %t1124, ptr %t1100 br i1 %t1123, label %sc383, label %scend384 sc383: %t1125 = load ptr, ptr @g_toks %t1126 = load i32, ptr @g_pi %t1127 = add i32 %t1126, 2 %t1128 = getelementptr inbounds %LSlice, ptr %t1125, i32 0, i32 0 %t1129 = load ptr, ptr %t1128 %t1130 = getelementptr inbounds %LSlice, ptr %t1125, i32 0, i32 1 %t1131 = load i32, ptr %t1130 %t1132 = icmp ult i32 %t1127, %t1131 br i1 %t1132, label %ixok385, label %ixbad386 ixbad386: %t1133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1133, ptr @.fmt_bounds, ptr @.str725, i32 %t1127, i32 %t1131) call void @exit(i32 1) unreachable ixok385: %t1134 = getelementptr inbounds ptr, ptr %t1129, i32 %t1127 %t1135 = load ptr, ptr %t1134 %t1136 = getelementptr inbounds %Cmp_Tok, ptr %t1135, i32 0, i32 1 %t1137 = load ptr, ptr %t1136 %t1138 = call i32 @lp_str_eq(ptr %t1137, ptr @.str726) %t1139 = icmp ne i32 %t1138, 0 %t1140 = zext i1 %t1139 to i32 store i32 %t1140, ptr %t1100 br label %scend384 scend384: %t1141 = load i32, ptr %t1100 %t1142 = icmp ne i32 %t1141, 0 br i1 %t1142, label %then387, label %ifend389 then387: call void @fn_parse_state() br label %ret ifend389: %t1145 = call i32 @fn_is_id(ptr @.str727) %t1146 = icmp ne i32 %t1145, 0 %t1147 = zext i1 %t1146 to i32 store i32 %t1147, ptr %t1144 br i1 %t1146, label %sc390, label %scend391 sc390: %t1148 = load ptr, ptr @g_toks %t1149 = load i32, ptr @g_pi %t1150 = add i32 %t1149, 1 %t1151 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 0 %t1152 = load ptr, ptr %t1151 %t1153 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 1 %t1154 = load i32, ptr %t1153 %t1155 = icmp ult i32 %t1150, %t1154 br i1 %t1155, label %ixok392, label %ixbad393 ixbad393: %t1156 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1156, ptr @.fmt_bounds, ptr @.str728, i32 %t1150, i32 %t1154) call void @exit(i32 1) unreachable ixok392: %t1157 = getelementptr inbounds ptr, ptr %t1152, i32 %t1150 %t1158 = load ptr, ptr %t1157 %t1159 = getelementptr inbounds %Cmp_Tok, ptr %t1158, i32 0, i32 0 %t1160 = load i32, ptr %t1159 %t1161 = icmp eq i32 %t1160, 0 %t1162 = zext i1 %t1161 to i32 %t1163 = icmp ne i32 %t1162, 0 %t1164 = zext i1 %t1163 to i32 store i32 %t1164, ptr %t1144 br label %scend391 scend391: %t1165 = load i32, ptr %t1144 %t1166 = icmp ne i32 %t1165, 0 %t1167 = zext i1 %t1166 to i32 store i32 %t1167, ptr %t1143 br i1 %t1166, label %sc394, label %scend395 sc394: %t1168 = load ptr, ptr @g_toks %t1169 = load i32, ptr @g_pi %t1170 = add i32 %t1169, 2 %t1171 = getelementptr inbounds %LSlice, ptr %t1168, i32 0, i32 0 %t1172 = load ptr, ptr %t1171 %t1173 = getelementptr inbounds %LSlice, ptr %t1168, i32 0, i32 1 %t1174 = load i32, ptr %t1173 %t1175 = icmp ult i32 %t1170, %t1174 br i1 %t1175, label %ixok396, label %ixbad397 ixbad397: %t1176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1176, ptr @.fmt_bounds, ptr @.str729, i32 %t1170, i32 %t1174) call void @exit(i32 1) unreachable ixok396: %t1177 = getelementptr inbounds ptr, ptr %t1172, i32 %t1170 %t1178 = load ptr, ptr %t1177 %t1179 = getelementptr inbounds %Cmp_Tok, ptr %t1178, i32 0, i32 1 %t1180 = load ptr, ptr %t1179 %t1181 = call i32 @lp_str_eq(ptr %t1180, ptr @.str730) %t1182 = icmp ne i32 %t1181, 0 %t1183 = zext i1 %t1182 to i32 store i32 %t1183, ptr %t1143 br label %scend395 scend395: %t1184 = load i32, ptr %t1143 %t1185 = icmp ne i32 %t1184, 0 br i1 %t1185, label %then398, label %ifend400 then398: call void @fn_parse_action() br label %ret ifend400: %t1188 = call i32 @fn_is_id(ptr @.str731) %t1189 = icmp ne i32 %t1188, 0 %t1190 = zext i1 %t1189 to i32 store i32 %t1190, ptr %t1187 br i1 %t1189, label %sc401, label %scend402 sc401: %t1191 = load ptr, ptr @g_toks %t1192 = load i32, ptr @g_pi %t1193 = add i32 %t1192, 1 %t1194 = getelementptr inbounds %LSlice, ptr %t1191, i32 0, i32 0 %t1195 = load ptr, ptr %t1194 %t1196 = getelementptr inbounds %LSlice, ptr %t1191, i32 0, i32 1 %t1197 = load i32, ptr %t1196 %t1198 = icmp ult i32 %t1193, %t1197 br i1 %t1198, label %ixok403, label %ixbad404 ixbad404: %t1199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1199, ptr @.fmt_bounds, ptr @.str732, i32 %t1193, i32 %t1197) call void @exit(i32 1) unreachable ixok403: %t1200 = getelementptr inbounds ptr, ptr %t1195, i32 %t1193 %t1201 = load ptr, ptr %t1200 %t1202 = getelementptr inbounds %Cmp_Tok, ptr %t1201, i32 0, i32 0 %t1203 = load i32, ptr %t1202 %t1204 = icmp eq i32 %t1203, 0 %t1205 = zext i1 %t1204 to i32 %t1206 = icmp ne i32 %t1205, 0 %t1207 = zext i1 %t1206 to i32 store i32 %t1207, ptr %t1187 br label %scend402 scend402: %t1208 = load i32, ptr %t1187 %t1209 = icmp ne i32 %t1208, 0 %t1210 = zext i1 %t1209 to i32 store i32 %t1210, ptr %t1186 br i1 %t1209, label %sc405, label %scend406 sc405: %t1211 = load ptr, ptr @g_toks %t1212 = load i32, ptr @g_pi %t1213 = add i32 %t1212, 2 %t1214 = getelementptr inbounds %LSlice, ptr %t1211, i32 0, i32 0 %t1215 = load ptr, ptr %t1214 %t1216 = getelementptr inbounds %LSlice, ptr %t1211, i32 0, i32 1 %t1217 = load i32, ptr %t1216 %t1218 = icmp ult i32 %t1213, %t1217 br i1 %t1218, label %ixok407, label %ixbad408 ixbad408: %t1219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1219, ptr @.fmt_bounds, ptr @.str733, i32 %t1213, i32 %t1217) call void @exit(i32 1) unreachable ixok407: %t1220 = getelementptr inbounds ptr, ptr %t1215, i32 %t1213 %t1221 = load ptr, ptr %t1220 %t1222 = getelementptr inbounds %Cmp_Tok, ptr %t1221, i32 0, i32 1 %t1223 = load ptr, ptr %t1222 %t1224 = call i32 @lp_str_eq(ptr %t1223, ptr @.str734) %t1225 = icmp ne i32 %t1224, 0 %t1226 = zext i1 %t1225 to i32 store i32 %t1226, ptr %t1186 br label %scend406 scend406: %t1227 = load i32, ptr %t1186 %t1228 = icmp ne i32 %t1227, 0 br i1 %t1228, label %then409, label %ifend411 then409: call void @fn_parse_reducer() br label %ret ifend411: %t1231 = call i32 @fn_is_id(ptr @.str735) %t1232 = icmp ne i32 %t1231, 0 %t1233 = zext i1 %t1232 to i32 store i32 %t1233, ptr %t1230 br i1 %t1232, label %sc412, label %scend413 sc412: %t1234 = load ptr, ptr @g_toks %t1235 = load i32, ptr @g_pi %t1236 = add i32 %t1235, 1 %t1237 = getelementptr inbounds %LSlice, ptr %t1234, i32 0, i32 0 %t1238 = load ptr, ptr %t1237 %t1239 = getelementptr inbounds %LSlice, ptr %t1234, i32 0, i32 1 %t1240 = load i32, ptr %t1239 %t1241 = icmp ult i32 %t1236, %t1240 br i1 %t1241, label %ixok414, label %ixbad415 ixbad415: %t1242 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1242, ptr @.fmt_bounds, ptr @.str736, i32 %t1236, i32 %t1240) call void @exit(i32 1) unreachable ixok414: %t1243 = getelementptr inbounds ptr, ptr %t1238, i32 %t1236 %t1244 = load ptr, ptr %t1243 %t1245 = getelementptr inbounds %Cmp_Tok, ptr %t1244, i32 0, i32 0 %t1246 = load i32, ptr %t1245 %t1247 = icmp eq i32 %t1246, 0 %t1248 = zext i1 %t1247 to i32 %t1249 = icmp ne i32 %t1248, 0 %t1250 = zext i1 %t1249 to i32 store i32 %t1250, ptr %t1230 br label %scend413 scend413: %t1251 = load i32, ptr %t1230 %t1252 = icmp ne i32 %t1251, 0 %t1253 = zext i1 %t1252 to i32 store i32 %t1253, ptr %t1229 br i1 %t1252, label %sc416, label %scend417 sc416: %t1254 = load ptr, ptr @g_toks %t1255 = load i32, ptr @g_pi %t1256 = add i32 %t1255, 2 %t1257 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 0 %t1258 = load ptr, ptr %t1257 %t1259 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 1 %t1260 = load i32, ptr %t1259 %t1261 = icmp ult i32 %t1256, %t1260 br i1 %t1261, label %ixok418, label %ixbad419 ixbad419: %t1262 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1262, ptr @.fmt_bounds, ptr @.str737, i32 %t1256, i32 %t1260) call void @exit(i32 1) unreachable ixok418: %t1263 = getelementptr inbounds ptr, ptr %t1258, i32 %t1256 %t1264 = load ptr, ptr %t1263 %t1265 = getelementptr inbounds %Cmp_Tok, ptr %t1264, i32 0, i32 1 %t1266 = load ptr, ptr %t1265 %t1267 = call i32 @lp_str_eq(ptr %t1266, ptr @.str738) %t1268 = icmp ne i32 %t1267, 0 %t1269 = zext i1 %t1268 to i32 store i32 %t1269, ptr %t1229 br label %scend417 scend417: %t1270 = load i32, ptr %t1229 %t1271 = icmp ne i32 %t1270, 0 br i1 %t1271, label %then420, label %ifend422 then420: call void @fn_parse_row_reducer() br label %ret ifend422: %t1272 = call i32 @fn_is_id(ptr @.str739) %t1273 = icmp ne i32 %t1272, 0 br i1 %t1273, label %then423, label %ifend425 then423: %t1274 = load i32, ptr @g_g_allow_globals %t1275 = icmp eq i32 %t1274, 0 %t1276 = zext i1 %t1275 to i32 %t1277 = icmp ne i32 %t1276, 0 br i1 %t1277, label %then426, label %ifend428 then426: call void @fn_perr(ptr @.str740) br label %ifend428 ifend428: %t1278 = load ptr, ptr @g_prog %t1279 = call ptr @fn_parse_var() %t1280 = getelementptr inbounds %LSlice, ptr %t1278, i32 0, i32 1 %t1281 = getelementptr inbounds %LSlice, ptr %t1278, i32 0, i32 2 %t1282 = getelementptr inbounds %LSlice, ptr %t1278, i32 0, i32 0 %t1283 = load i32, ptr %t1280 %t1284 = load i32, ptr %t1281 %t1285 = icmp sge i32 %t1283, %t1284 br i1 %t1285, label %grow429, label %put430 grow429: %t1286 = mul i32 %t1284, 2 %t1287 = icmp eq i32 %t1284, 0 %t1288 = select i1 %t1287, i32 8, i32 %t1286 %t1289 = getelementptr ptr, ptr null, i32 1 %t1290 = ptrtoint ptr %t1289 to i64 %t1291 = zext i32 %t1288 to i64 %t1292 = mul i64 %t1291, %t1290 %t1293 = load ptr, ptr %t1282 store i32 171, ptr @lp_site %t1294 = call ptr @lp_realloc(ptr %t1293, i64 %t1292) store i32 0, ptr @lp_site store ptr %t1294, ptr %t1282 store i32 %t1288, ptr %t1281 br label %put430 put430: %t1295 = load ptr, ptr %t1282 %t1296 = getelementptr inbounds ptr, ptr %t1295, i32 %t1283 store ptr %t1279, ptr %t1296 %t1297 = add i32 %t1283, 1 store i32 %t1297, ptr %t1280 br label %ret ifend425: %t1300 = call i32 @fn_is_id(ptr @.str741) %t1301 = icmp ne i32 %t1300, 0 %t1302 = zext i1 %t1301 to i32 store i32 %t1302, ptr %t1299 br i1 %t1301, label %sc431, label %scend432 sc431: %t1303 = load ptr, ptr @g_toks %t1304 = load i32, ptr @g_pi %t1305 = add i32 %t1304, 1 %t1306 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 0 %t1307 = load ptr, ptr %t1306 %t1308 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 1 %t1309 = load i32, ptr %t1308 %t1310 = icmp ult i32 %t1305, %t1309 br i1 %t1310, label %ixok433, label %ixbad434 ixbad434: %t1311 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1311, ptr @.fmt_bounds, ptr @.str742, i32 %t1305, i32 %t1309) call void @exit(i32 1) unreachable ixok433: %t1312 = getelementptr inbounds ptr, ptr %t1307, i32 %t1305 %t1313 = load ptr, ptr %t1312 %t1314 = getelementptr inbounds %Cmp_Tok, ptr %t1313, i32 0, i32 0 %t1315 = load i32, ptr %t1314 %t1316 = icmp eq i32 %t1315, 0 %t1317 = zext i1 %t1316 to i32 %t1318 = icmp ne i32 %t1317, 0 %t1319 = zext i1 %t1318 to i32 store i32 %t1319, ptr %t1299 br label %scend432 scend432: %t1320 = load i32, ptr %t1299 %t1321 = icmp ne i32 %t1320, 0 %t1322 = zext i1 %t1321 to i32 store i32 %t1322, ptr %t1298 br i1 %t1321, label %sc435, label %scend436 sc435: %t1323 = load ptr, ptr @g_toks %t1324 = load i32, ptr @g_pi %t1325 = add i32 %t1324, 2 %t1326 = getelementptr inbounds %LSlice, ptr %t1323, i32 0, i32 0 %t1327 = load ptr, ptr %t1326 %t1328 = getelementptr inbounds %LSlice, ptr %t1323, i32 0, i32 1 %t1329 = load i32, ptr %t1328 %t1330 = icmp ult i32 %t1325, %t1329 br i1 %t1330, label %ixok437, label %ixbad438 ixbad438: %t1331 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1331, ptr @.fmt_bounds, ptr @.str743, i32 %t1325, i32 %t1329) call void @exit(i32 1) unreachable ixok437: %t1332 = getelementptr inbounds ptr, ptr %t1327, i32 %t1325 %t1333 = load ptr, ptr %t1332 %t1334 = getelementptr inbounds %Cmp_Tok, ptr %t1333, i32 0, i32 1 %t1335 = load ptr, ptr %t1334 %t1336 = call i32 @lp_str_eq(ptr %t1335, ptr @.str744) %t1337 = icmp ne i32 %t1336, 0 %t1338 = zext i1 %t1337 to i32 store i32 %t1338, ptr %t1298 br label %scend436 scend436: %t1339 = load i32, ptr %t1298 %t1340 = icmp ne i32 %t1339, 0 br i1 %t1340, label %then439, label %ifend441 then439: %t1341 = call ptr @fn_parse_var() store ptr %t1341, ptr %t1342 %t1343 = load ptr, ptr %t1342 %t1344 = getelementptr inbounds %Cmp_Node, ptr %t1343, i32 0, i32 12 store i32 1, ptr %t1344 %t1345 = load ptr, ptr %t1342 %t1346 = getelementptr inbounds %Cmp_Node, ptr %t1345, i32 0, i32 4 %t1347 = load ptr, ptr %t1346 %t1348 = icmp eq ptr %t1347, null %t1349 = zext i1 %t1348 to i32 %t1350 = icmp ne i32 %t1349, 0 br i1 %t1350, label %then442, label %ifend444 then442: %t1351 = load ptr, ptr %t1342 %t1352 = getelementptr inbounds %Cmp_Node, ptr %t1351, i32 0, i32 1 %t1353 = load ptr, ptr %t1352 store i32 172, ptr @lp_site %t1354 = call ptr @lp_str_concat(ptr @.str745, ptr %t1353) store i32 0, ptr @lp_site store i32 173, ptr @lp_site %t1355 = call ptr @lp_str_concat(ptr %t1354, ptr @.str746) store i32 0, ptr @lp_site call void @lp_free(ptr %t1354) call void @fn_perr(ptr %t1355) br label %ifend444 ifend444: %t1356 = load ptr, ptr @g_prog %t1357 = load ptr, ptr %t1342 %t1358 = getelementptr inbounds %LSlice, ptr %t1356, i32 0, i32 1 %t1359 = getelementptr inbounds %LSlice, ptr %t1356, i32 0, i32 2 %t1360 = getelementptr inbounds %LSlice, ptr %t1356, i32 0, i32 0 %t1361 = load i32, ptr %t1358 %t1362 = load i32, ptr %t1359 %t1363 = icmp sge i32 %t1361, %t1362 br i1 %t1363, label %grow445, label %put446 grow445: %t1364 = mul i32 %t1362, 2 %t1365 = icmp eq i32 %t1362, 0 %t1366 = select i1 %t1365, i32 8, i32 %t1364 %t1367 = getelementptr ptr, ptr null, i32 1 %t1368 = ptrtoint ptr %t1367 to i64 %t1369 = zext i32 %t1366 to i64 %t1370 = mul i64 %t1369, %t1368 %t1371 = load ptr, ptr %t1360 store i32 174, ptr @lp_site %t1372 = call ptr @lp_realloc(ptr %t1371, i64 %t1370) store i32 0, ptr @lp_site store ptr %t1372, ptr %t1360 store i32 %t1366, ptr %t1359 br label %put446 put446: %t1373 = load ptr, ptr %t1360 %t1374 = getelementptr inbounds ptr, ptr %t1373, i32 %t1361 store ptr %t1357, ptr %t1374 %t1375 = add i32 %t1361, 1 store i32 %t1375, ptr %t1358 br label %ret ifend441: %t1376 = call i32 @fn_is_id(ptr @.str747) %t1377 = icmp ne i32 %t1376, 0 br i1 %t1377, label %then447, label %ifend449 then447: %t1378 = load ptr, ptr @g_prog %t1379 = call ptr @fn_parse_const() %t1380 = getelementptr inbounds %LSlice, ptr %t1378, i32 0, i32 1 %t1381 = getelementptr inbounds %LSlice, ptr %t1378, i32 0, i32 2 %t1382 = getelementptr inbounds %LSlice, ptr %t1378, i32 0, i32 0 %t1383 = load i32, ptr %t1380 %t1384 = load i32, ptr %t1381 %t1385 = icmp sge i32 %t1383, %t1384 br i1 %t1385, label %grow450, label %put451 grow450: %t1386 = mul i32 %t1384, 2 %t1387 = icmp eq i32 %t1384, 0 %t1388 = select i1 %t1387, i32 8, i32 %t1386 %t1389 = getelementptr ptr, ptr null, i32 1 %t1390 = ptrtoint ptr %t1389 to i64 %t1391 = zext i32 %t1388 to i64 %t1392 = mul i64 %t1391, %t1390 %t1393 = load ptr, ptr %t1382 store i32 175, ptr @lp_site %t1394 = call ptr @lp_realloc(ptr %t1393, i64 %t1392) store i32 0, ptr @lp_site store ptr %t1394, ptr %t1382 store i32 %t1388, ptr %t1381 br label %put451 put451: %t1395 = load ptr, ptr %t1382 %t1396 = getelementptr inbounds ptr, ptr %t1395, i32 %t1383 store ptr %t1379, ptr %t1396 %t1397 = add i32 %t1383, 1 store i32 %t1397, ptr %t1380 br label %ret ifend449: store i32 0, ptr %t1398 %t1400 = call i32 @fn_is_id(ptr @.str748) %t1401 = icmp ne i32 %t1400, 0 %t1402 = zext i1 %t1401 to i32 store i32 %t1402, ptr %t1399 br i1 %t1401, label %sc452, label %scend453 sc452: %t1403 = load ptr, ptr @g_toks %t1404 = load i32, ptr @g_pi %t1405 = add i32 %t1404, 1 %t1406 = getelementptr inbounds %LSlice, ptr %t1403, i32 0, i32 0 %t1407 = load ptr, ptr %t1406 %t1408 = getelementptr inbounds %LSlice, ptr %t1403, i32 0, i32 1 %t1409 = load i32, ptr %t1408 %t1410 = icmp ult i32 %t1405, %t1409 br i1 %t1410, label %ixok454, label %ixbad455 ixbad455: %t1411 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1411, ptr @.fmt_bounds, ptr @.str749, i32 %t1405, i32 %t1409) call void @exit(i32 1) unreachable ixok454: %t1412 = getelementptr inbounds ptr, ptr %t1407, i32 %t1405 %t1413 = load ptr, ptr %t1412 %t1414 = getelementptr inbounds %Cmp_Tok, ptr %t1413, i32 0, i32 1 %t1415 = load ptr, ptr %t1414 %t1416 = call i32 @lp_str_eq(ptr %t1415, ptr @.str750) %t1417 = icmp ne i32 %t1416, 0 %t1418 = zext i1 %t1417 to i32 store i32 %t1418, ptr %t1399 br label %scend453 scend453: %t1419 = load i32, ptr %t1399 %t1420 = icmp ne i32 %t1419, 0 br i1 %t1420, label %then456, label %ifend458 then456: %t1421 = load i32, ptr @g_pi %t1422 = add i32 %t1421, 1 store i32 %t1422, ptr @g_pi store i32 1, ptr %t1398 br label %ifend458 ifend458: %t1423 = call i32 @fn_is_id(ptr @.str751) %t1424 = icmp ne i32 %t1423, 0 br i1 %t1424, label %then459, label %ifend461 then459: %t1425 = call ptr @fn_parse_fn() store ptr %t1425, ptr %t1426 %t1427 = load i32, ptr %t1398 %t1428 = icmp ne i32 %t1427, 0 br i1 %t1428, label %then462, label %ifend464 then462: %t1429 = load ptr, ptr %t1426 %t1430 = getelementptr inbounds %Cmp_Node, ptr %t1429, i32 0, i32 12 store i32 1, ptr %t1430 br label %ifend464 ifend464: %t1431 = load i32, ptr %t20 %t1432 = icmp ne i32 %t1431, 0 br i1 %t1432, label %then465, label %ifend467 then465: %t1433 = load ptr, ptr @g_g_det_names %t1434 = load ptr, ptr %t1426 %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 %grow468, label %put469 grow468: %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 176, 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 %put469 put469: %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 br label %ifend467 ifend467: %t1455 = load i32, ptr %t21 %t1456 = icmp ne i32 %t1455, 0 br i1 %t1456, label %then470, label %ifend472 then470: %t1457 = load ptr, ptr @g_g_rv_nodes %t1458 = load ptr, ptr %t1426 %t1459 = getelementptr inbounds %LSlice, ptr %t1457, i32 0, i32 1 %t1460 = getelementptr inbounds %LSlice, ptr %t1457, i32 0, i32 2 %t1461 = getelementptr inbounds %LSlice, ptr %t1457, i32 0, i32 0 %t1462 = load i32, ptr %t1459 %t1463 = load i32, ptr %t1460 %t1464 = icmp sge i32 %t1462, %t1463 br i1 %t1464, label %grow473, label %put474 grow473: %t1465 = mul i32 %t1463, 2 %t1466 = icmp eq i32 %t1463, 0 %t1467 = select i1 %t1466, i32 8, i32 %t1465 %t1468 = getelementptr ptr, ptr null, i32 1 %t1469 = ptrtoint ptr %t1468 to i64 %t1470 = zext i32 %t1467 to i64 %t1471 = mul i64 %t1470, %t1469 %t1472 = load ptr, ptr %t1461 store i32 177, ptr @lp_site %t1473 = call ptr @lp_realloc(ptr %t1472, i64 %t1471) store i32 0, ptr @lp_site store ptr %t1473, ptr %t1461 store i32 %t1467, ptr %t1460 br label %put474 put474: %t1474 = load ptr, ptr %t1461 %t1475 = getelementptr inbounds ptr, ptr %t1474, i32 %t1462 store ptr %t1458, ptr %t1475 %t1476 = add i32 %t1462, 1 store i32 %t1476, ptr %t1459 br label %ifend472 ifend472: %t1477 = load i32, ptr @g_g_aok_pending %t1478 = icmp ne i32 %t1477, 0 br i1 %t1478, label %then475, label %ifend477 then475: %t1479 = load ptr, ptr @g_g_alloc_ok_names %t1480 = load ptr, ptr %t1426 %t1481 = getelementptr inbounds %Cmp_Node, ptr %t1480, i32 0, i32 1 %t1482 = load ptr, ptr %t1481 %t1483 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 1 %t1484 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 2 %t1485 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 0 %t1486 = load i32, ptr %t1483 %t1487 = load i32, ptr %t1484 %t1488 = icmp sge i32 %t1486, %t1487 br i1 %t1488, label %grow478, label %put479 grow478: %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 178, 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 %put479 put479: %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 i32 0, ptr @g_g_aok_pending br label %ifend477 ifend477: %t1501 = load ptr, ptr @g_g_res_pending_make %t1502 = icmp ne ptr %t1501, null %t1503 = zext i1 %t1502 to i32 %t1504 = icmp ne i32 %t1503, 0 br i1 %t1504, label %then480, label %ifend482 then480: %t1505 = load ptr, ptr @g_g_res_make_fn %t1506 = load ptr, ptr %t1426 %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 %grow483, label %put484 grow483: %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 179, 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 %put484 put484: %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_make_kind %t1528 = load ptr, ptr @g_g_res_pending_make %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 %grow485, label %put486 grow485: %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 180, 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 %put486 put486: %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_make br label %ifend482 ifend482: %t1547 = load ptr, ptr @g_g_res_pending_free %t1548 = icmp ne ptr %t1547, null %t1549 = zext i1 %t1548 to i32 %t1550 = icmp ne i32 %t1549, 0 br i1 %t1550, label %then487, label %ifend489 then487: %t1551 = load ptr, ptr @g_g_res_free_fn %t1552 = load ptr, ptr %t1426 %t1553 = getelementptr inbounds %Cmp_Node, ptr %t1552, i32 0, i32 1 %t1554 = load ptr, ptr %t1553 %t1555 = getelementptr inbounds %LSlice, ptr %t1551, i32 0, i32 1 %t1556 = getelementptr inbounds %LSlice, ptr %t1551, i32 0, i32 2 %t1557 = getelementptr inbounds %LSlice, ptr %t1551, i32 0, i32 0 %t1558 = load i32, ptr %t1555 %t1559 = load i32, ptr %t1556 %t1560 = icmp sge i32 %t1558, %t1559 br i1 %t1560, label %grow490, label %put491 grow490: %t1561 = mul i32 %t1559, 2 %t1562 = icmp eq i32 %t1559, 0 %t1563 = select i1 %t1562, i32 8, i32 %t1561 %t1564 = getelementptr ptr, ptr null, i32 1 %t1565 = ptrtoint ptr %t1564 to i64 %t1566 = zext i32 %t1563 to i64 %t1567 = mul i64 %t1566, %t1565 %t1568 = load ptr, ptr %t1557 store i32 181, ptr @lp_site %t1569 = call ptr @lp_realloc(ptr %t1568, i64 %t1567) store i32 0, ptr @lp_site store ptr %t1569, ptr %t1557 store i32 %t1563, ptr %t1556 br label %put491 put491: %t1570 = load ptr, ptr %t1557 %t1571 = getelementptr inbounds ptr, ptr %t1570, i32 %t1558 store ptr %t1554, ptr %t1571 %t1572 = add i32 %t1558, 1 store i32 %t1572, ptr %t1555 %t1573 = load ptr, ptr @g_g_res_free_kind %t1574 = load ptr, ptr @g_g_res_pending_free %t1575 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 1 %t1576 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 2 %t1577 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 0 %t1578 = load i32, ptr %t1575 %t1579 = load i32, ptr %t1576 %t1580 = icmp sge i32 %t1578, %t1579 br i1 %t1580, label %grow492, label %put493 grow492: %t1581 = mul i32 %t1579, 2 %t1582 = icmp eq i32 %t1579, 0 %t1583 = select i1 %t1582, i32 8, i32 %t1581 %t1584 = getelementptr ptr, ptr null, i32 1 %t1585 = ptrtoint ptr %t1584 to i64 %t1586 = zext i32 %t1583 to i64 %t1587 = mul i64 %t1586, %t1585 %t1588 = load ptr, ptr %t1577 store i32 182, ptr @lp_site %t1589 = call ptr @lp_realloc(ptr %t1588, i64 %t1587) store i32 0, ptr @lp_site store ptr %t1589, ptr %t1577 store i32 %t1583, ptr %t1576 br label %put493 put493: %t1590 = load ptr, ptr %t1577 %t1591 = getelementptr inbounds ptr, ptr %t1590, i32 %t1578 store ptr %t1574, ptr %t1591 %t1592 = add i32 %t1578, 1 store i32 %t1592, ptr %t1575 store ptr null, ptr @g_g_res_pending_free br label %ifend489 ifend489: %t1593 = load i32, ptr %t0 %t1594 = icmp ne i32 %t1593, 0 br i1 %t1594, label %then494, label %ifend496 then494: %t1595 = load ptr, ptr %t1426 %t1596 = getelementptr inbounds %Cmp_Node, ptr %t1595, i32 0, i32 2 store i32 1, ptr %t1596 br label %ifend496 ifend496: %t1597 = load ptr, ptr %t16 %t1598 = icmp ne ptr %t1597, null %t1599 = zext i1 %t1598 to i32 %t1600 = icmp ne i32 %t1599, 0 br i1 %t1600, label %then497, label %ifend499 then497: %t1601 = load ptr, ptr @g_g_mod_sys_fn %t1602 = load ptr, ptr %t1426 %t1603 = getelementptr inbounds %Cmp_Node, ptr %t1602, i32 0, i32 1 %t1604 = load ptr, ptr %t1603 %t1605 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 1 %t1606 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 2 %t1607 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 0 %t1608 = load i32, ptr %t1605 %t1609 = load i32, ptr %t1606 %t1610 = icmp sge i32 %t1608, %t1609 br i1 %t1610, label %grow500, label %put501 grow500: %t1611 = mul i32 %t1609, 2 %t1612 = icmp eq i32 %t1609, 0 %t1613 = select i1 %t1612, i32 8, i32 %t1611 %t1614 = getelementptr ptr, ptr null, i32 1 %t1615 = ptrtoint ptr %t1614 to i64 %t1616 = zext i32 %t1613 to i64 %t1617 = mul i64 %t1616, %t1615 %t1618 = load ptr, ptr %t1607 store i32 183, ptr @lp_site %t1619 = call ptr @lp_realloc(ptr %t1618, i64 %t1617) store i32 0, ptr @lp_site store ptr %t1619, ptr %t1607 store i32 %t1613, ptr %t1606 br label %put501 put501: %t1620 = load ptr, ptr %t1607 %t1621 = getelementptr inbounds ptr, ptr %t1620, i32 %t1608 store ptr %t1604, ptr %t1621 %t1622 = add i32 %t1608, 1 store i32 %t1622, ptr %t1605 %t1623 = load ptr, ptr @g_g_mod_sys_phase %t1624 = load ptr, ptr %t16 %t1625 = getelementptr inbounds %LSlice, ptr %t1623, i32 0, i32 1 %t1626 = getelementptr inbounds %LSlice, ptr %t1623, i32 0, i32 2 %t1627 = getelementptr inbounds %LSlice, ptr %t1623, i32 0, i32 0 %t1628 = load i32, ptr %t1625 %t1629 = load i32, ptr %t1626 %t1630 = icmp sge i32 %t1628, %t1629 br i1 %t1630, label %grow502, label %put503 grow502: %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 184, 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 %put503 put503: %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 br label %ifend499 ifend499: %t1643 = load ptr, ptr %t17 %t1644 = icmp ne ptr %t1643, null %t1645 = zext i1 %t1644 to i32 %t1646 = icmp ne i32 %t1645, 0 br i1 %t1646, label %then504, label %ifend506 then504: %t1647 = load ptr, ptr @g_g_esys_comp %t1648 = load ptr, ptr %t17 %t1649 = getelementptr inbounds %LSlice, ptr %t1647, i32 0, i32 1 %t1650 = getelementptr inbounds %LSlice, ptr %t1647, i32 0, i32 2 %t1651 = getelementptr inbounds %LSlice, ptr %t1647, i32 0, i32 0 %t1652 = load i32, ptr %t1649 %t1653 = load i32, ptr %t1650 %t1654 = icmp sge i32 %t1652, %t1653 br i1 %t1654, label %grow507, label %put508 grow507: %t1655 = mul i32 %t1653, 2 %t1656 = icmp eq i32 %t1653, 0 %t1657 = select i1 %t1656, i32 8, i32 %t1655 %t1658 = getelementptr ptr, ptr null, i32 1 %t1659 = ptrtoint ptr %t1658 to i64 %t1660 = zext i32 %t1657 to i64 %t1661 = mul i64 %t1660, %t1659 %t1662 = load ptr, ptr %t1651 store i32 185, ptr @lp_site %t1663 = call ptr @lp_realloc(ptr %t1662, i64 %t1661) store i32 0, ptr @lp_site store ptr %t1663, ptr %t1651 store i32 %t1657, ptr %t1650 br label %put508 put508: %t1664 = load ptr, ptr %t1651 %t1665 = getelementptr inbounds ptr, ptr %t1664, i32 %t1652 store ptr %t1648, ptr %t1665 %t1666 = add i32 %t1652, 1 store i32 %t1666, ptr %t1649 %t1667 = load ptr, ptr @g_g_esys_fn %t1668 = load ptr, ptr %t1426 %t1669 = getelementptr inbounds %Cmp_Node, ptr %t1668, i32 0, i32 1 %t1670 = load ptr, ptr %t1669 %t1671 = getelementptr inbounds %LSlice, ptr %t1667, i32 0, i32 1 %t1672 = getelementptr inbounds %LSlice, ptr %t1667, i32 0, i32 2 %t1673 = getelementptr inbounds %LSlice, ptr %t1667, i32 0, i32 0 %t1674 = load i32, ptr %t1671 %t1675 = load i32, ptr %t1672 %t1676 = icmp sge i32 %t1674, %t1675 br i1 %t1676, label %grow509, label %put510 grow509: %t1677 = mul i32 %t1675, 2 %t1678 = icmp eq i32 %t1675, 0 %t1679 = select i1 %t1678, i32 8, i32 %t1677 %t1680 = getelementptr ptr, ptr null, i32 1 %t1681 = ptrtoint ptr %t1680 to i64 %t1682 = zext i32 %t1679 to i64 %t1683 = mul i64 %t1682, %t1681 %t1684 = load ptr, ptr %t1673 store i32 186, ptr @lp_site %t1685 = call ptr @lp_realloc(ptr %t1684, i64 %t1683) store i32 0, ptr @lp_site store ptr %t1685, ptr %t1673 store i32 %t1679, ptr %t1672 br label %put510 put510: %t1686 = load ptr, ptr %t1673 %t1687 = getelementptr inbounds ptr, ptr %t1686, i32 %t1674 store ptr %t1670, ptr %t1687 %t1688 = add i32 %t1674, 1 store i32 %t1688, ptr %t1671 %t1689 = load ptr, ptr @g_g_esys_phase %t1690 = load ptr, ptr %t18 %t1691 = getelementptr inbounds %LSlice, ptr %t1689, i32 0, i32 1 %t1692 = getelementptr inbounds %LSlice, ptr %t1689, i32 0, i32 2 %t1693 = getelementptr inbounds %LSlice, ptr %t1689, i32 0, i32 0 %t1694 = load i32, ptr %t1691 %t1695 = load i32, ptr %t1692 %t1696 = icmp sge i32 %t1694, %t1695 br i1 %t1696, label %grow511, label %put512 grow511: %t1697 = mul i32 %t1695, 2 %t1698 = icmp eq i32 %t1695, 0 %t1699 = select i1 %t1698, i32 8, i32 %t1697 %t1700 = getelementptr ptr, ptr null, i32 1 %t1701 = ptrtoint ptr %t1700 to i64 %t1702 = zext i32 %t1699 to i64 %t1703 = mul i64 %t1702, %t1701 %t1704 = load ptr, ptr %t1693 store i32 187, ptr @lp_site %t1705 = call ptr @lp_realloc(ptr %t1704, i64 %t1703) store i32 0, ptr @lp_site store ptr %t1705, ptr %t1693 store i32 %t1699, ptr %t1692 br label %put512 put512: %t1706 = load ptr, ptr %t1693 %t1707 = getelementptr inbounds ptr, ptr %t1706, i32 %t1694 store ptr %t1690, ptr %t1707 %t1708 = add i32 %t1694, 1 store i32 %t1708, ptr %t1691 br label %ifend506 ifend506: %t1709 = load ptr, ptr %t19 %t1710 = icmp ne ptr %t1709, null %t1711 = zext i1 %t1710 to i32 %t1712 = icmp ne i32 %t1711, 0 br i1 %t1712, label %then513, label %ifend515 then513: %t1713 = load ptr, ptr %t19 call void @fn_register_namespace(ptr %t1713) br label %ifend515 ifend515: %t1714 = load ptr, ptr @g_prog %t1715 = load ptr, ptr %t1426 %t1716 = getelementptr inbounds %LSlice, ptr %t1714, i32 0, i32 1 %t1717 = getelementptr inbounds %LSlice, ptr %t1714, i32 0, i32 2 %t1718 = getelementptr inbounds %LSlice, ptr %t1714, i32 0, i32 0 %t1719 = load i32, ptr %t1716 %t1720 = load i32, ptr %t1717 %t1721 = icmp sge i32 %t1719, %t1720 br i1 %t1721, label %grow516, label %put517 grow516: %t1722 = mul i32 %t1720, 2 %t1723 = icmp eq i32 %t1720, 0 %t1724 = select i1 %t1723, i32 8, i32 %t1722 %t1725 = getelementptr ptr, ptr null, i32 1 %t1726 = ptrtoint ptr %t1725 to i64 %t1727 = zext i32 %t1724 to i64 %t1728 = mul i64 %t1727, %t1726 %t1729 = load ptr, ptr %t1718 store i32 188, ptr @lp_site %t1730 = call ptr @lp_realloc(ptr %t1729, i64 %t1728) store i32 0, ptr @lp_site store ptr %t1730, ptr %t1718 store i32 %t1724, ptr %t1717 br label %put517 put517: %t1731 = load ptr, ptr %t1718 %t1732 = getelementptr inbounds ptr, ptr %t1731, i32 %t1719 store ptr %t1715, ptr %t1732 %t1733 = add i32 %t1719, 1 store i32 %t1733, ptr %t1716 br label %ret ifend461: %t1734 = call i32 @fn_is_id(ptr @.str752) %t1735 = icmp ne i32 %t1734, 0 br i1 %t1735, label %then518, label %ifend520 then518: %t1736 = load ptr, ptr @g_prog %t1737 = call ptr @fn_parse_extern() %t1738 = getelementptr inbounds %LSlice, ptr %t1736, i32 0, i32 1 %t1739 = getelementptr inbounds %LSlice, ptr %t1736, i32 0, i32 2 %t1740 = getelementptr inbounds %LSlice, ptr %t1736, i32 0, i32 0 %t1741 = load i32, ptr %t1738 %t1742 = load i32, ptr %t1739 %t1743 = icmp sge i32 %t1741, %t1742 br i1 %t1743, label %grow521, label %put522 grow521: %t1744 = mul i32 %t1742, 2 %t1745 = icmp eq i32 %t1742, 0 %t1746 = select i1 %t1745, i32 8, i32 %t1744 %t1747 = getelementptr ptr, ptr null, i32 1 %t1748 = ptrtoint ptr %t1747 to i64 %t1749 = zext i32 %t1746 to i64 %t1750 = mul i64 %t1749, %t1748 %t1751 = load ptr, ptr %t1740 store i32 189, ptr @lp_site %t1752 = call ptr @lp_realloc(ptr %t1751, i64 %t1750) store i32 0, ptr @lp_site store ptr %t1752, ptr %t1740 store i32 %t1746, ptr %t1739 br label %put522 put522: %t1753 = load ptr, ptr %t1740 %t1754 = getelementptr inbounds ptr, ptr %t1753, i32 %t1741 store ptr %t1737, ptr %t1754 %t1755 = add i32 %t1741, 1 store i32 %t1755, ptr %t1738 br label %ret ifend520: %t1756 = call i32 @fn_is_id(ptr @.str753) %t1757 = icmp ne i32 %t1756, 0 br i1 %t1757, label %then523, label %ifend525 then523: %t1758 = load ptr, ptr @g_prog %t1759 = call ptr @fn_parse_main() %t1760 = getelementptr inbounds %LSlice, ptr %t1758, i32 0, i32 1 %t1761 = getelementptr inbounds %LSlice, ptr %t1758, i32 0, i32 2 %t1762 = getelementptr inbounds %LSlice, ptr %t1758, i32 0, i32 0 %t1763 = load i32, ptr %t1760 %t1764 = load i32, ptr %t1761 %t1765 = icmp sge i32 %t1763, %t1764 br i1 %t1765, label %grow526, label %put527 grow526: %t1766 = mul i32 %t1764, 2 %t1767 = icmp eq i32 %t1764, 0 %t1768 = select i1 %t1767, i32 8, i32 %t1766 %t1769 = getelementptr ptr, ptr null, i32 1 %t1770 = ptrtoint ptr %t1769 to i64 %t1771 = zext i32 %t1768 to i64 %t1772 = mul i64 %t1771, %t1770 %t1773 = load ptr, ptr %t1762 store i32 190, ptr @lp_site %t1774 = call ptr @lp_realloc(ptr %t1773, i64 %t1772) store i32 0, ptr @lp_site store ptr %t1774, ptr %t1762 store i32 %t1768, ptr %t1761 br label %put527 put527: %t1775 = load ptr, ptr %t1762 %t1776 = getelementptr inbounds ptr, ptr %t1775, i32 %t1763 store ptr %t1759, ptr %t1776 %t1777 = add i32 %t1763, 1 store i32 %t1777, ptr %t1760 br label %ret ifend525: %t1778 = call i32 @fn_is_id(ptr @.str754) %t1779 = icmp ne i32 %t1778, 0 br i1 %t1779, label %then528, label %ifend530 then528: %t1780 = load ptr, ptr @g_g_tests %t1781 = call ptr @fn_parse_test() %t1782 = getelementptr inbounds %LSlice, ptr %t1780, i32 0, i32 1 %t1783 = getelementptr inbounds %LSlice, ptr %t1780, i32 0, i32 2 %t1784 = getelementptr inbounds %LSlice, ptr %t1780, i32 0, i32 0 %t1785 = load i32, ptr %t1782 %t1786 = load i32, ptr %t1783 %t1787 = icmp sge i32 %t1785, %t1786 br i1 %t1787, label %grow531, label %put532 grow531: %t1788 = mul i32 %t1786, 2 %t1789 = icmp eq i32 %t1786, 0 %t1790 = select i1 %t1789, i32 8, i32 %t1788 %t1791 = getelementptr ptr, ptr null, i32 1 %t1792 = ptrtoint ptr %t1791 to i64 %t1793 = zext i32 %t1790 to i64 %t1794 = mul i64 %t1793, %t1792 %t1795 = load ptr, ptr %t1784 store i32 191, ptr @lp_site %t1796 = call ptr @lp_realloc(ptr %t1795, i64 %t1794) store i32 0, ptr @lp_site store ptr %t1796, ptr %t1784 store i32 %t1790, ptr %t1783 br label %put532 put532: %t1797 = load ptr, ptr %t1784 %t1798 = getelementptr inbounds ptr, ptr %t1797, i32 %t1785 store ptr %t1781, ptr %t1798 %t1799 = add i32 %t1785, 1 store i32 %t1799, ptr %t1782 br label %ret ifend530: %t1800 = call ptr @fn_tok_desc() store i32 192, ptr @lp_site %t1801 = call ptr @lp_str_concat(ptr @.str755, ptr %t1800) store i32 0, ptr @lp_site call void @fn_perr(ptr %t1801) 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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str756, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str757, 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 @.str758) 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str759, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str760, 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 @.str761) 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 193, 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 194, 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 195, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str764, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str765, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str766, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str767, 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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str768, 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: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str769, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str770, 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: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str771, 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 196, 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 @.str772) 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 197, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str773) store i32 0, ptr @lp_site %t146 = load ptr, ptr %t123 store i32 198, 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 199, 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 @.str775) 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 @.str776, 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 200, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str777) store i32 0, ptr @lp_site store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 store i32 201, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str778) 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 202, 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 @.str780) 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 @.str781) %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 203, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str782, ptr %t49) store i32 0, ptr @lp_site store i32 204, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str783) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t26 store i32 205, 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 206, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str784) 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 207, 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 @.str785, ptr @.str786) %t117 = call ptr @fn_ensure_slash(ptr %t116) %t118 = load ptr, ptr %t0 store i32 208, 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 209, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str787) store i32 0, ptr @lp_site %t148 = load ptr, ptr %t0 store i32 210, 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 211, 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 @.str788) %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 @.str789) %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 212, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr @.str790, ptr %t342) store i32 0, ptr @lp_site call void @fn_perr(ptr %t343) br label %ifend88 ifend88: store ptr @.str791, 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 213, 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: %t393 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t393, ptr @.fmt_bounds, ptr @.str792, 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 @.str793) %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 @.str794) %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 @.str795) %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 @.str796) %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str797, 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 @.str798, ptr @g_cur_dir call void @fn_do_import(ptr @.str799) %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 @.str800) 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 @.str801) %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 @.str802) %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 @.str803, ptr @g_cur_dir call void @fn_do_import(ptr @.str804) %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 @.str805, ptr @g_cur_dir call void @fn_do_import(ptr @.str806) %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 @.str807, ptr @g_cur_dir call void @fn_do_import(ptr @.str808) call void @fn_do_import(ptr @.str809) %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 @.str810, ptr @g_cur_dir call void @fn_do_import(ptr @.str811) %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 @.str812, ptr @g_cur_dir call void @fn_do_import(ptr @.str813) %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 @.str814, ptr @g_cur_dir call void @fn_do_import(ptr @.str815) %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 @.str816, ptr @g_cur_dir call void @fn_do_import(ptr @.str817) %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 @.str818, ptr @g_cur_dir call void @fn_do_import(ptr @.str819) %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 @.str820, ptr @g_cur_dir call void @fn_do_import(ptr @.str821) %t54 = load ptr, ptr %t1 store ptr %t54, ptr @g_cur_dir br label %ifend35 ifend35: %t56 = call i32 @fn_rt_wants_unmet(ptr @.str822) %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 @.str823) %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 @.str824, ptr @g_cur_dir call void @fn_do_import(ptr @.str825) %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 @.str826, ptr @g_cur_dir call void @fn_do_import(ptr @.str827) %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 @.str828, ptr @g_cur_dir call void @fn_do_import(ptr @.str829) call void @fn_do_import(ptr @.str830) call void @fn_do_import(ptr @.str831) %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 @.str832, ptr @g_cur_dir call void @fn_do_import(ptr @.str833) call void @fn_do_import(ptr @.str834) %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 @.str835, ptr @g_cur_dir call void @fn_do_import(ptr @.str836) call void @fn_do_import(ptr @.str837) call void @fn_do_import(ptr @.str838) %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 @.str839, ptr @g_cur_dir call void @fn_do_import(ptr @.str840) call void @fn_do_import(ptr @.str841) call void @fn_do_import(ptr @.str842) call void @fn_do_import(ptr @.str843) call void @fn_do_import(ptr @.str844) call void @fn_do_import(ptr @.str845) call void @fn_do_import(ptr @.str846) %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 @.str847) 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 @.str848, ptr @g_cur_dir call void @fn_do_import(ptr @.str849) %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 @.str850, ptr @g_cur_dir call void @fn_do_import(ptr @.str851) call void @fn_do_import(ptr @.str852) %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 @.str853, ptr @g_cur_dir call void @fn_do_import(ptr @.str854) call void @fn_do_import(ptr @.str855) %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 @.str856, ptr @g_cur_dir call void @fn_do_import(ptr @.str857) %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 @.str858, ptr @g_cur_dir call void @fn_do_import(ptr @.str859) %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 @.str860, ptr @g_cur_dir call void @fn_do_import(ptr @.str861) %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 @.str862, ptr @g_cur_dir call void @fn_do_import(ptr @.str863) %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 @.str864, ptr @g_cur_dir call void @fn_do_import(ptr @.str865) %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 @.str866, ptr @g_cur_dir call void @fn_do_import(ptr @.str867) %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 @.str868, ptr @g_cur_dir call void @fn_do_import(ptr @.str869) %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 @.str870, ptr @g_cur_dir call void @fn_do_import(ptr @.str871) call void @fn_do_import(ptr @.str872) %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 @.str873, ptr @g_cur_dir %t122 = call ptr @fn_find_comp(ptr @.str874) %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 @.str875) %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 @.str876) br label %ifend105 ifend105: %t134 = call ptr @fn_find_comp(ptr @.str877) %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 @.str878) call void @fn_do_import(ptr @.str879) br label %ifend108 ifend108: %t138 = call ptr @fn_find_comp(ptr @.str880) %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 @.str881) call void @fn_do_import(ptr @.str882) br label %ifend111 ifend111: %t142 = call ptr @fn_find_comp(ptr @.str883) %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 @.str884) call void @fn_do_import(ptr @.str885) br label %ifend114 ifend114: %t146 = call ptr @fn_find_comp(ptr @.str886) %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 @.str887) br label %ifend117 ifend117: %t151 = call ptr @fn_find_comp(ptr @.str888) %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 @.str889) %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 @.str890) call void @fn_do_import(ptr @.str891) 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 214, 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 215, 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 216, 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 217, 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 218, 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 219, 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 220, 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 221, 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 222, 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 223, 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 224, 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 225, 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 226, 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 227, 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 228, 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 229, 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 230, 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 231, 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 232, 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 233, 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 234, 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 @.str893, 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 235, 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 @.str894, 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 236, 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 @.str895, 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 237, 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 @.str896, 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 238, 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 @.str897, 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 239, 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 @.str898, 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 240, 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 @.str899, 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 241, 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 @.str900, 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 242, 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 @.str901, 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 243, 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 @.str902, 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 244, 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 @.str903, 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 245, 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 @.str904, 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 246, 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 @.str905, 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 247, 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 @.str906, 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 248, 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 @.str907, 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 249, 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 @.str908, 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 250, 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 @.str909, 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 251, 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 @.str910, 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 252, 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 @.str911, 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 253, 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 @.str912, 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 254, 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 @.str913, 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 255, 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 256, 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 257, 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 258, 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 @.str914, ptr @g_g_game_name br label %wcond42 wcond42: %t543 = call i32 @fn_is_id(ptr @.str915) %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: %t554 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t554, ptr @.fmt_bounds, ptr @.str916, 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 @.str917) %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 @.str918) %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 @.str919) %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 @.str920) %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 @.str921) %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 @.str922) 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: %t602 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t602, ptr @.fmt_bounds, ptr @.str923, 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 @.str924) %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 %t24 = alloca i32 %t25 = alloca i32 %t31 = alloca ptr %t32 = alloca i32 %t33 = alloca i32 %t64 = alloca i32 %t104 = alloca ptr %t105 = alloca i32 %t150 = alloca i32 %t167 = alloca ptr %t206 = alloca i32 %t345 = 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 @.str925) %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 @.str926) 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 @.str927) %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 store i32 0, ptr %t24 store i32 0, ptr %t25 br label %wcond9 wcond9: %t26 = call i32 @fn_is_op(ptr @.str928) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody10, label %wend11 wbody10: %t28 = load i32, ptr @g_pi %t29 = add i32 %t28, 1 store i32 %t29, ptr @g_pi %t30 = call ptr @fn_eat_id() store ptr %t30, ptr %t31 %t34 = load ptr, ptr %t31 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str929) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t33 br i1 %t36, label %scend13, label %sc12 sc12: %t38 = load ptr, ptr %t31 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str930) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t33 br label %scend13 scend13: %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 %scend15, label %sc14 sc14: %t45 = load ptr, ptr %t31 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str931) %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t32 br label %scend15 scend15: %t49 = load i32, ptr %t32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then16, label %else17 then16: %t51 = load ptr, ptr %t31 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str932) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then19, label %else20 then19: store i32 1, ptr %t18 br label %ifend21 else20: %t54 = load ptr, ptr %t31 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str933) %t56 = icmp ne i32 %t55, 0 br i1 %t56, 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: %t57 = load i32, ptr %t23 %t58 = icmp slt i32 %t57, 0 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then25, label %ifend27 then25: %t61 = call i32 @fn_at_group() store i32 %t61, ptr %t23 br label %ifend27 ifend27: %t62 = load i32, ptr %t23 %t63 = load ptr, ptr %t31 call void @fn_at_push(i32 %t62, ptr %t63, ptr @.str934, ptr null, i32 0) br label %ifend18 else17: %t65 = load ptr, ptr %t31 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str935) %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t64 br i1 %t67, label %scend29, label %sc28 sc28: %t69 = load ptr, ptr %t31 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str936) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t64 br label %scend29 scend29: %t73 = load i32, ptr %t64 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then30, label %else31 then30: %t75 = load ptr, ptr %t31 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str937) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then33, label %else34 then33: store i32 1, ptr %t24 br label %ifend35 else34: store i32 1, ptr %t25 br label %ifend35 ifend35: %t78 = load i32, ptr %t23 %t79 = icmp slt i32 %t78, 0 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then36, label %ifend38 then36: %t82 = call i32 @fn_at_group() store i32 %t82, ptr %t23 br label %ifend38 ifend38: %t83 = load i32, ptr %t23 %t84 = load ptr, ptr %t31 call void @fn_at_push(i32 %t83, ptr %t84, ptr @.str938, ptr null, i32 0) br label %ifend32 else31: %t85 = load ptr, ptr %t31 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str939) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then39, label %else40 then39: call void @fn_eat_op(ptr @.str940) %t88 = call ptr @fn_eat_id() store ptr %t88, ptr @g_g_own_pending call void @fn_eat_op(ptr @.str941) %t89 = load i32, ptr %t23 %t90 = icmp slt i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then42, label %ifend44 then42: %t93 = call i32 @fn_at_group() store i32 %t93, ptr %t23 br label %ifend44 ifend44: %t94 = load i32, ptr %t23 %t95 = load ptr, ptr %t31 %t96 = load ptr, ptr @g_g_own_pending store i32 259, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str942, ptr %t96) store i32 0, ptr @lp_site store i32 260, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str944) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr @g_g_own_pending call void @fn_at_push(i32 %t94, ptr %t95, ptr %t98, ptr %t99, i32 1) br label %ifend41 else40: %t100 = load ptr, ptr %t31 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str945) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then45, label %else46 then45: call void @fn_eat_op(ptr @.str946) %t103 = call ptr @fn_expr() store ptr %t103, ptr %t104 %t106 = load ptr, ptr %t104 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 0 %t108 = load i32, ptr %t107 %t109 = icmp ne i32 %t108, 30 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t105 br i1 %t111, label %scend49, label %sc48 sc48: %t113 = load ptr, ptr %t104 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 2 %t115 = load i32, ptr %t114 %t116 = icmp sle 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 %t105 br label %scend49 scend49: %t120 = load i32, ptr %t105 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then50, label %ifend52 then50: call void @fn_perr(ptr @.str947) br label %ifend52 ifend52: %t122 = load ptr, ptr %t104 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 2 %t124 = load i32, ptr %t123 store i32 %t124, ptr %t21 call void @fn_eat_op(ptr @.str948) %t125 = load i32, ptr %t23 %t126 = icmp slt i32 %t125, 0 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then53, label %ifend55 then53: %t129 = call i32 @fn_at_group() store i32 %t129, ptr %t23 br label %ifend55 ifend55: %t130 = load i32, ptr %t23 %t131 = load ptr, ptr %t31 %t132 = load i32, ptr %t21 %t133 = call ptr @fn_itoa(i32 %t132) store i32 261, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr @.str949, ptr %t133) store i32 0, ptr @lp_site store i32 262, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str950) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load i32, ptr %t21 %t137 = call ptr @fn_itoa(i32 %t136) call void @fn_at_push(i32 %t130, ptr %t131, ptr %t135, ptr %t137, i32 1) br label %ifend47 else46: %t138 = load ptr, ptr %t31 %t139 = call i32 @fn_at_field_known(ptr %t138) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then56, label %else57 then56: %t141 = load i32, ptr %t23 %t142 = icmp slt i32 %t141, 0 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then59, label %ifend61 then59: %t145 = call i32 @fn_at_group() store i32 %t145, ptr %t23 br label %ifend61 ifend61: %t146 = load i32, ptr %t23 %t147 = load ptr, ptr %t31 call void @fn_at_field(i32 %t146, ptr %t147) br label %ifend58 else57: %t148 = call i32 @fn_is_op(ptr @.str951) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then62, label %ifend64 then62: store i32 0, ptr %t150 br label %wcond65 wcond65: %t151 = icmp ne i32 1, 0 br i1 %t151, label %wbody66, label %wend67 wbody66: %t152 = call i32 @fn_is_op(ptr @.str952) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then68, label %ifend70 then68: %t154 = load i32, ptr %t150 %t155 = add i32 %t154, 1 store i32 %t155, ptr %t150 br label %ifend70 ifend70: %t156 = call i32 @fn_is_op(ptr @.str953) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then71, label %ifend73 then71: %t158 = load i32, ptr %t150 %t159 = sub i32 %t158, 1 store i32 %t159, ptr %t150 br label %ifend73 ifend73: %t160 = load i32, ptr @g_pi %t161 = add i32 %t160, 1 store i32 %t161, ptr @g_pi %t162 = load i32, ptr %t150 %t163 = icmp eq i32 %t162, 0 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then74, label %ifend76 then74: br label %wend67 ifend76: br label %wcond65 wend67: br label %ifend64 ifend64: br label %ifend58 ifend58: br label %ifend47 ifend47: br label %ifend41 ifend41: br label %ifend32 ifend32: br label %ifend18 ifend18: call void @fn_skipnl() br label %wcond9 wend11: %t166 = call ptr @fn_node(i32 1) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = call ptr @fn_eat_id() store ptr %t170, ptr %t169 call void @fn_eat_op(ptr @.str954) %t171 = load ptr, ptr %t167 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 3 %t173 = call ptr @fn_ptype() store ptr %t173, ptr %t172 %t174 = load ptr, ptr %t167 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 19 %t176 = load i32, ptr %t23 store i32 %t176, ptr %t175 %t177 = load i32, ptr %t20 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then77, label %ifend79 then77: %t179 = load ptr, ptr @g_g_frame_fields %t180 = load ptr, ptr %t3 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 store i32 263, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str955) store i32 0, ptr @lp_site %t184 = load ptr, ptr %t167 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 1 %t186 = load ptr, ptr %t185 store i32 264, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t183, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t188 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t189 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 2 %t190 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t191 = load i32, ptr %t188 %t192 = load i32, ptr %t189 %t193 = icmp sge i32 %t191, %t192 br i1 %t193, label %grow80, label %put81 grow80: %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 265, 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 %put81 put81: %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 br label %ifend79 ifend79: %t207 = load i32, ptr %t24 %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t206 br i1 %t208, label %scend83, label %sc82 sc82: %t210 = load i32, ptr %t25 %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t206 br label %scend83 scend83: %t213 = load i32, ptr %t206 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then84, label %ifend86 then84: %t215 = load ptr, ptr %t3 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t216 %t218 = load ptr, ptr %t167 %t219 = load i32, ptr %t24 %t220 = load i32, ptr %t25 call void @fn_rr_field_attr(ptr %t217, ptr %t218, i32 %t219, i32 %t220) br label %ifend86 ifend86: %t221 = load i32, ptr %t21 %t222 = icmp sgt i32 %t221, 0 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then87, label %ifend89 then87: %t225 = load ptr, ptr @g_g_cap_keys %t226 = load ptr, ptr %t3 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 1 %t228 = load ptr, ptr %t227 store i32 266, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str956) store i32 0, ptr @lp_site %t230 = load ptr, ptr %t167 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 1 %t232 = load ptr, ptr %t231 store i32 267, 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) %t234 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t235 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 2 %t236 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 %t237 = load i32, ptr %t234 %t238 = load i32, ptr %t235 %t239 = icmp sge i32 %t237, %t238 br i1 %t239, label %grow90, label %put91 grow90: %t240 = mul i32 %t238, 2 %t241 = icmp eq i32 %t238, 0 %t242 = select i1 %t241, i32 8, i32 %t240 %t243 = getelementptr ptr, ptr null, i32 1 %t244 = ptrtoint ptr %t243 to i64 %t245 = zext i32 %t242 to i64 %t246 = mul i64 %t245, %t244 %t247 = load ptr, ptr %t236 store i32 268, ptr @lp_site %t248 = call ptr @lp_realloc(ptr %t247, i64 %t246) store i32 0, ptr @lp_site store ptr %t248, ptr %t236 store i32 %t242, ptr %t235 br label %put91 put91: %t249 = load ptr, ptr %t236 %t250 = getelementptr inbounds ptr, ptr %t249, i32 %t237 store ptr %t233, ptr %t250 %t251 = add i32 %t237, 1 store i32 %t251, ptr %t234 %t252 = load ptr, ptr @g_g_cap_vals %t253 = load i32, ptr %t21 %t254 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 1 %t255 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 2 %t256 = getelementptr inbounds %LSlice, ptr %t252, i32 0, i32 0 %t257 = load i32, ptr %t254 %t258 = load i32, ptr %t255 %t259 = icmp sge i32 %t257, %t258 br i1 %t259, label %grow92, label %put93 grow92: %t260 = mul i32 %t258, 2 %t261 = icmp eq i32 %t258, 0 %t262 = select i1 %t261, i32 8, i32 %t260 %t263 = getelementptr i32, 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 269, 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 %put93 put93: %t269 = load ptr, ptr %t256 %t270 = getelementptr inbounds i32, ptr %t269, i32 %t257 store i32 %t253, ptr %t270 %t271 = add i32 %t257, 1 store i32 %t271, ptr %t254 br label %ifend89 ifend89: %t272 = load ptr, ptr @g_g_own_pending %t273 = icmp ne ptr %t272, null %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then94, label %ifend96 then94: %t276 = load ptr, ptr @g_g_own_type %t277 = load ptr, ptr %t3 %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 %grow97, label %put98 grow97: %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 270, 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 %put98 put98: %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 %t298 = load ptr, ptr @g_g_own_field %t299 = load ptr, ptr %t167 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 1 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 1 %t303 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 2 %t304 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 %t305 = load i32, ptr %t302 %t306 = load i32, ptr %t303 %t307 = icmp sge i32 %t305, %t306 br i1 %t307, label %grow99, label %put100 grow99: %t308 = mul i32 %t306, 2 %t309 = icmp eq i32 %t306, 0 %t310 = select i1 %t309, i32 8, i32 %t308 %t311 = getelementptr ptr, ptr null, i32 1 %t312 = ptrtoint ptr %t311 to i64 %t313 = zext i32 %t310 to i64 %t314 = mul i64 %t313, %t312 %t315 = load ptr, ptr %t304 store i32 271, ptr @lp_site %t316 = call ptr @lp_realloc(ptr %t315, i64 %t314) store i32 0, ptr @lp_site store ptr %t316, ptr %t304 store i32 %t310, ptr %t303 br label %put100 put100: %t317 = load ptr, ptr %t304 %t318 = getelementptr inbounds ptr, ptr %t317, i32 %t305 store ptr %t301, ptr %t318 %t319 = add i32 %t305, 1 store i32 %t319, ptr %t302 %t320 = load ptr, ptr @g_g_own_kind %t321 = load ptr, ptr @g_g_own_pending %t322 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 1 %t323 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 2 %t324 = getelementptr inbounds %LSlice, ptr %t320, i32 0, i32 0 %t325 = load i32, ptr %t322 %t326 = load i32, ptr %t323 %t327 = icmp sge i32 %t325, %t326 br i1 %t327, label %grow101, label %put102 grow101: %t328 = mul i32 %t326, 2 %t329 = icmp eq i32 %t326, 0 %t330 = select i1 %t329, i32 8, i32 %t328 %t331 = getelementptr ptr, ptr null, i32 1 %t332 = ptrtoint ptr %t331 to i64 %t333 = zext i32 %t330 to i64 %t334 = mul i64 %t333, %t332 %t335 = load ptr, ptr %t324 store i32 272, ptr @lp_site %t336 = call ptr @lp_realloc(ptr %t335, i64 %t334) store i32 0, ptr @lp_site store ptr %t336, ptr %t324 store i32 %t330, ptr %t323 br label %put102 put102: %t337 = load ptr, ptr %t324 %t338 = getelementptr inbounds ptr, ptr %t337, i32 %t325 store ptr %t321, ptr %t338 %t339 = add i32 %t325, 1 store i32 %t339, ptr %t322 store ptr null, ptr @g_g_own_pending br label %ifend96 ifend96: %t340 = call i32 @fn_is_op(ptr @.str957) %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then103, label %ifend105 then103: %t342 = load i32, ptr @g_pi %t343 = add i32 %t342, 1 store i32 %t343, ptr @g_pi %t344 = load i32, ptr @g_pi store i32 %t344, ptr %t345 %t346 = load ptr, ptr %t167 %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 4 %t348 = call ptr @fn_expr() store ptr %t348, ptr %t347 %t349 = load ptr, ptr %t167 %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 20 %t351 = load ptr, ptr @g_toks %t352 = load i32, ptr %t345 %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 %ixok106, label %ixbad107 ixbad107: %t358 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t358, ptr @.fmt_bounds, ptr @.str958, i32 %t352, i32 %t356) call void @exit(i32 1) unreachable ixok106: %t359 = getelementptr inbounds ptr, ptr %t354, i32 %t352 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %Cmp_Tok, ptr %t360, i32 0, i32 7 %t362 = load i32, ptr %t361 store i32 %t362, ptr %t350 %t363 = load ptr, ptr %t167 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 21 %t365 = load ptr, ptr @g_toks %t366 = load i32, ptr @g_pi %t367 = sub i32 %t366, 1 %t368 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0 %t369 = load ptr, ptr %t368 %t370 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 1 %t371 = load i32, ptr %t370 %t372 = icmp ult i32 %t367, %t371 br i1 %t372, label %ixok108, label %ixbad109 ixbad109: %t373 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t373, ptr @.fmt_bounds, ptr @.str959, i32 %t367, i32 %t371) call void @exit(i32 1) unreachable ixok108: %t374 = getelementptr inbounds ptr, ptr %t369, i32 %t367 %t375 = load ptr, ptr %t374 %t376 = getelementptr inbounds %Cmp_Tok, ptr %t375, i32 0, i32 8 %t377 = load i32, ptr %t376 store i32 %t377, ptr %t364 br label %ifend105 ifend105: %t378 = load i32, ptr %t19 %t379 = icmp ne i32 %t378, 0 br i1 %t379, label %then110, label %ifend112 then110: %t380 = load ptr, ptr %t167 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 2 store i32 1, ptr %t381 br label %ifend112 ifend112: %t382 = load i32, ptr %t18 %t383 = icmp ne i32 %t382, 0 br i1 %t383, label %then113, label %else114 then113: %t384 = load ptr, ptr %t3 %t385 = getelementptr inbounds %Cmp_Node, ptr %t384, i32 0, i32 1 %t386 = load ptr, ptr %t385 %t387 = load ptr, ptr %t167 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 1 %t389 = load ptr, ptr %t388 %t390 = load ptr, ptr %t167 %t391 = getelementptr inbounds %Cmp_Node, ptr %t390, i32 0, i32 3 %t392 = load ptr, ptr %t391 %t393 = load ptr, ptr %t167 %t394 = getelementptr inbounds %Cmp_Node, ptr %t393, i32 0, i32 4 %t395 = load ptr, ptr %t394 call void @fn_register_computed(ptr %t386, ptr %t389, ptr %t392, ptr %t395) br label %ifend115 else114: %t396 = load ptr, ptr %t3 %t397 = getelementptr inbounds %Cmp_Node, ptr %t396, i32 0, i32 7 %t398 = load ptr, ptr %t397 %t399 = load ptr, ptr %t167 %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 %grow116, label %put117 grow116: %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 273, 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 %put117 put117: %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 br label %ifend115 ifend115: %t418 = call i32 @fn_is_op(ptr @.str960) %t419 = icmp ne i32 %t418, 0 br i1 %t419, label %then118, label %ifend120 then118: %t420 = load i32, ptr @g_pi %t421 = add i32 %t420, 1 store i32 %t421, ptr @g_pi br label %ifend120 ifend120: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str961) call void @fn_gen_enter(ptr null) %t422 = load ptr, ptr %t3 store ptr %t422, ptr %retval br label %ret ret: %t423 = load ptr, ptr %retval ret ptr %t423 } 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 @.str962) %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 @.str963) 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 @.str964) %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 @.str965) %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 @.str966) %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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str967, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str968, 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 274, 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 @.str970) %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 @.str971) %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 @.str972, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str973, 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 @.str974) %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 @.str975) %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 @.str976) %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 @.str977) %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 @.str978) %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 275, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str979, ptr %t67) store i32 0, ptr @lp_site store i32 276, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str981) 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 @.str982) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str983) %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 @.str984) %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 277, 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 @.str986) 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 278, 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 @.str987) %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 @.str988) %t72 = call i32 @fn_is_id(ptr @.str989) %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 @.str990) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str991) %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 279, 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 @.str993) %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 @.str994) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str995) %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 @.str996) 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 @.str997, 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 i32 %t85 = alloca ptr %t116 = alloca ptr %t133 = alloca ptr %t135 = alloca ptr call void @fn_eat_op(ptr @.str998) %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 @.str999) %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 @.str1000) %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 @.str1001) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1002) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str1003) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str1004) %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 280, 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 281, 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 @.str1006) %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 = load i32, ptr @g_pi store i32 %t82, ptr %t83 %t84 = call ptr @fn_expr() store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t50 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 20 %t88 = load ptr, ptr @g_toks %t89 = load i32, ptr %t83 %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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1007, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok19: %t96 = getelementptr inbounds ptr, ptr %t91, i32 %t89 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %Cmp_Tok, ptr %t97, i32 0, i32 7 %t99 = load i32, ptr %t98 store i32 %t99, ptr %t87 %t100 = load ptr, ptr %t50 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 21 %t102 = load ptr, ptr @g_toks %t103 = load i32, ptr @g_pi %t104 = sub i32 %t103, 1 %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 %t104, %t108 br i1 %t109, label %ixok21, label %ixbad22 ixbad22: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str1008, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok21: %t111 = getelementptr inbounds ptr, ptr %t106, i32 %t104 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Tok, ptr %t112, i32 0, i32 8 %t114 = load i32, ptr %t113 store i32 %t114, ptr %t101 call void @fn_eat_op(ptr @.str1009) %t115 = call ptr @fn_node(i32 33) store ptr %t115, ptr %t116 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 %t119 = load ptr, ptr %t21 store ptr %t119, ptr %t118 %t120 = load ptr, ptr %t4 %t121 = load ptr, ptr %t85 %t122 = load ptr, ptr %t116 %t123 = call ptr @fn_qualify_fields(ptr %t121, ptr %t122) %t124 = call ptr @fn_mk_and(ptr %t120, ptr %t123) store ptr %t124, ptr %t4 br label %ifend18 ifend18: %t125 = call i32 @fn_is_op(ptr @.str1010) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then23, label %ifend25 then23: %t127 = load i32, ptr @g_pi %t128 = add i32 %t127, 1 store i32 %t128, ptr @g_pi br label %ifend25 ifend25: call void @fn_skipnl() br label %wcond9 wend11: call void @fn_eat_op(ptr @.str1011) br label %ifend8 else7: %t129 = load ptr, ptr %t12 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str1012) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then26, label %else27 then26: %t132 = call ptr @fn_eat_id() store ptr %t132, ptr %t133 %t134 = call ptr @fn_node(i32 33) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 1 %t138 = load ptr, ptr %t133 store ptr %t138, ptr %t137 %t139 = load ptr, ptr %t135 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 2 store i32 1, ptr %t140 %t141 = load ptr, ptr %t3 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = load ptr, ptr %t135 %t145 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t146 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 2 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t148 = load i32, ptr %t145 %t149 = load i32, ptr %t146 %t150 = icmp sge i32 %t148, %t149 br i1 %t150, label %grow29, label %put30 grow29: %t151 = mul i32 %t149, 2 %t152 = icmp eq i32 %t149, 0 %t153 = select i1 %t152, i32 8, i32 %t151 %t154 = getelementptr ptr, ptr null, i32 1 %t155 = ptrtoint ptr %t154 to i64 %t156 = zext i32 %t153 to i64 %t157 = mul i64 %t156, %t155 %t158 = load ptr, ptr %t147 store i32 282, ptr @lp_site %t159 = call ptr @lp_realloc(ptr %t158, i64 %t157) store i32 0, ptr @lp_site store ptr %t159, ptr %t147 store i32 %t153, ptr %t146 br label %put30 put30: %t160 = load ptr, ptr %t147 %t161 = getelementptr inbounds ptr, ptr %t160, i32 %t148 store ptr %t144, ptr %t161 %t162 = add i32 %t148, 1 store i32 %t162, ptr %t145 br label %ifend28 else27: %t163 = call ptr @fn_expr() br label %ifend28 ifend28: br label %ifend8 ifend8: %t164 = call i32 @fn_is_op(ptr @.str1013) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then31, label %ifend33 then31: %t166 = load i32, ptr @g_pi %t167 = add i32 %t166, 1 store i32 %t167, ptr @g_pi br label %ifend33 ifend33: call void @fn_skipnl() br label %wcond0 wend2: call void @fn_eat_op(ptr @.str1014) %t168 = load ptr, ptr %t1 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 6 %t170 = load ptr, ptr %t3 store ptr %t170, ptr %t169 %t171 = load ptr, ptr %t1 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 5 %t173 = load ptr, ptr %t4 store ptr %t173, ptr %t172 %t174 = load ptr, ptr %t1 store ptr %t174, ptr %retval br label %ret ret: %t175 = load ptr, ptr %retval ret ptr %t175 } 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 @.str1015) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str1016) %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 @.str1017) %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 283, 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 @.str1019) %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 @.str1020) %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 @.str1021) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str1022) %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 %t61 = alloca i32 %t126 = alloca ptr %t135 = alloca ptr %t149 = alloca i32 %t151 = alloca ptr %t152 = alloca ptr %t181 = alloca ptr %t197 = alloca ptr %t204 = alloca ptr %t210 = alloca ptr %t223 = alloca ptr %t243 = 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 @.str1023) %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 @.str1024) %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 @.str1025) %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 @.str1026) %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 @.str1027) %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 @.str1028) %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 @.str1029) %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 @.str1030) %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 = load i32, ptr @g_pi store i32 %t60, ptr %t61 %t62 = call ptr @fn_expr() store ptr %t62, ptr %t11 %t63 = load ptr, ptr %t3 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 20 %t65 = load ptr, ptr @g_toks %t66 = load i32, ptr %t61 %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 %ixok20, label %ixbad21 ixbad21: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str1031, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok20: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Tok, ptr %t74, i32 0, i32 7 %t76 = load i32, ptr %t75 store i32 %t76, ptr %t64 %t77 = load ptr, ptr %t3 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 21 %t79 = load ptr, ptr @g_toks %t80 = load i32, ptr @g_pi %t81 = sub i32 %t80, 1 %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 %t81, %t85 br i1 %t86, label %ixok22, label %ixbad23 ixbad23: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str1032, i32 %t81, i32 %t85) call void @exit(i32 1) unreachable ixok22: %t88 = getelementptr inbounds ptr, ptr %t83, i32 %t81 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Tok, ptr %t89, i32 0, i32 8 %t91 = load i32, ptr %t90 store i32 %t91, ptr %t78 %t92 = call i32 @fn_is_id(ptr @.str1033) %t93 = icmp eq i32 %t92, 0 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then24, label %ifend26 then24: call void @fn_perr(ptr @.str1034) br label %ifend26 ifend26: %t96 = load i32, ptr @g_pi %t97 = add i32 %t96, 1 store i32 %t97, ptr @g_pi %t98 = call ptr @fn_eat_id() store ptr %t98, ptr %t12 br label %ifend19 else18: %t99 = call i32 @fn_is_id(ptr @.str1035) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then27, label %else28 then27: %t101 = load i32, ptr @g_pi %t102 = add i32 %t101, 1 store i32 %t102, ptr @g_pi %t103 = call i32 @fn_is_id(ptr @.str1036) %t104 = icmp eq i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then30, label %ifend32 then30: call void @fn_perr(ptr @.str1037) br label %ifend32 ifend32: %t107 = load i32, ptr @g_pi %t108 = add i32 %t107, 1 store i32 %t108, ptr @g_pi %t109 = call ptr @fn_eat_id() store ptr %t109, ptr %t13 store i32 1, ptr @g_g_uses_atlas br label %ifend29 else28: %t110 = load i32, ptr @g_pi %t111 = add i32 %t110, 1 store i32 %t111, ptr @g_pi store i32 1, ptr %t10 br label %ifend29 ifend29: br label %ifend19 ifend19: br label %ifend16 ifend16: br label %ifend13 ifend13: br label %wcond0 wend2: %t112 = load i32, ptr @g_g_scene_count %t113 = add i32 %t112, 1 store i32 %t113, ptr @g_g_scene_count %t114 = load i32, ptr %t10 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then33, label %ifend35 then33: %t116 = load ptr, ptr %t3 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store i32 284, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str1038, ptr %t118) store i32 0, ptr @lp_site store i32 285, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str1040) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) call void @fn_ensure_event_empty(ptr %t120) %t121 = load ptr, ptr %t3 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 store i32 286, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str1041, ptr %t123) store i32 0, ptr @lp_site store i32 287, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1042) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) call void @fn_ensure_event_empty(ptr %t125) br label %ifend35 ifend35: store ptr @.str1043, ptr %t126 call void @fn_skipnl() call void @fn_eat_op(ptr @.str1044) br label %wcond36 wcond36: %t127 = icmp ne i32 1, 0 br i1 %t127, label %wbody37, label %wend38 wbody37: call void @fn_skipnl() %t128 = call i32 @fn_is_op(ptr @.str1045) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then39, label %ifend41 then39: br label %wend38 ifend41: %t130 = call i32 @fn_is_id(ptr @.str1046) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then42, label %ifend44 then42: %t132 = load i32, ptr @g_pi %t133 = add i32 %t132, 1 store i32 %t133, ptr @g_pi %t134 = call ptr @fn_eat_id() store ptr %t134, ptr %t135 %t136 = load ptr, ptr @g_toks %t137 = load i32, ptr @g_pi %t138 = sub i32 %t137, 1 %t139 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t142 = load i32, ptr %t141 %t143 = icmp ult i32 %t138, %t142 br i1 %t143, label %ixok45, label %ixbad46 ixbad46: %t144 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t144, ptr @.fmt_bounds, ptr @.str1047, i32 %t138, i32 %t142) call void @exit(i32 1) unreachable ixok45: %t145 = getelementptr inbounds ptr, ptr %t140, i32 %t138 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Tok, ptr %t146, i32 0, i32 5 %t148 = load i32, ptr %t147 store i32 %t148, ptr %t149 %t150 = call ptr @fn_parse_entry_params() store ptr %t150, ptr %t151 call void @fn_skipnl() store ptr null, ptr %t152 %t153 = load ptr, ptr %t135 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1048) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then47, label %else48 then47: %t156 = load ptr, ptr %t3 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 4 %t158 = call ptr @fn_block() store ptr %t158, ptr %t157 %t159 = load ptr, ptr %t3 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 %t161 = load ptr, ptr %t160 store ptr %t161, ptr %t152 br label %ifend49 else48: %t162 = load ptr, ptr %t135 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str1049) %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then50, label %else51 then50: %t165 = load ptr, ptr %t3 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 5 %t167 = call ptr @fn_block() store ptr %t167, ptr %t166 %t168 = load ptr, ptr %t3 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 5 %t170 = load ptr, ptr %t169 store ptr %t170, ptr %t152 br label %ifend52 else51: call void @fn_perr(ptr @.str1050) br label %ifend52 ifend52: br label %ifend49 ifend49: %t171 = load ptr, ptr %t152 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 14 %t173 = load i32, ptr %t149 store i32 %t173, ptr %t172 %t174 = load ptr, ptr %t152 %t175 = load ptr, ptr %t151 call void @fn_entry_bind(ptr %t174, ptr %t175) br label %wcond36 ifend44: %t176 = call i32 @fn_is_id(ptr @.str1051) %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then53, label %ifend55 then53: %t178 = load i32, ptr @g_pi %t179 = add i32 %t178, 1 store i32 %t179, ptr @g_pi %t180 = call ptr @fn_eat_id() store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t126 %t183 = load ptr, ptr %t181 store i32 288, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t182, ptr %t183) store i32 0, ptr @lp_site store i32 289, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str1052) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) store ptr %t185, ptr %t126 %t186 = call i32 @fn_is_id(ptr @.str1053) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then56, label %ifend58 then56: %t188 = load i32, ptr @g_pi %t189 = add i32 %t188, 1 store i32 %t189, ptr @g_pi %t190 = load ptr, ptr %t181 store i32 290, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr @.str1054, ptr %t190) store i32 0, ptr @lp_site store i32 291, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str1055) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) call void @fn_ensure_event_empty(ptr %t192) %t193 = load ptr, ptr %t181 store i32 292, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr @.str1056, ptr %t193) store i32 0, ptr @lp_site store i32 293, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str1057) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) call void @fn_ensure_event_empty(ptr %t195) br label %ifend58 ifend58: call void @fn_skipnl() call void @fn_eat_op(ptr @.str1058) %t196 = call ptr @fn_node(i32 33) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 %t200 = load ptr, ptr %t181 store ptr %t200, ptr %t199 br label %wcond59 wcond59: %t201 = icmp ne i32 1, 0 br i1 %t201, label %wbody60, label %wend61 wbody60: call void @fn_skipnl() %t202 = call i32 @fn_is_op(ptr @.str1059) %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then62, label %ifend64 then62: br label %wend61 ifend64: store ptr null, ptr %t204 br label %wcond65 wcond65: %t205 = call i32 @fn_is_op(ptr @.str1060) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %wbody66, label %wend67 wbody66: %t207 = load i32, ptr @g_pi %t208 = add i32 %t207, 1 store i32 %t208, ptr @g_pi %t209 = call ptr @fn_eat_id() store ptr %t209, ptr %t210 %t211 = load ptr, ptr %t210 %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str1061) %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then68, label %else69 then68: %t214 = call ptr @fn_parse_queries_anno() store ptr %t214, ptr %t204 br label %ifend70 else69: %t215 = load ptr, ptr %t210 store i32 294, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr @.str1062, ptr %t215) store i32 0, ptr @lp_site store i32 295, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str1063) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) call void @fn_perr(ptr %t217) br label %ifend70 ifend70: call void @fn_skipnl() br label %wcond65 wend67: %t218 = call i32 @fn_is_id(ptr @.str1064) %t219 = icmp eq i32 %t218, 0 %t220 = zext i1 %t219 to i32 %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then71, label %ifend73 then71: call void @fn_perr(ptr @.str1065) br label %ifend73 ifend73: %t222 = call ptr @fn_parse_system() store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t223 %t225 = load ptr, ptr %t223 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 1 %t227 = load ptr, ptr %t226 %t228 = load ptr, ptr %t204 %t229 = load ptr, ptr %t3 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 1 %t231 = load ptr, ptr %t230 %t232 = load ptr, ptr %t181 call void @fn_cx_handler(ptr %t224, ptr %t227, ptr null, ptr null, ptr %t228, i32 0, ptr %t231, ptr %t232) %t233 = load ptr, ptr %t204 %t234 = icmp ne ptr %t233, null %t235 = zext i1 %t234 to i32 %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then74, label %ifend76 then74: %t237 = load ptr, ptr %t204 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 4 %t239 = load ptr, ptr %t223 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 4 %t241 = load ptr, ptr %t240 store ptr %t241, ptr %t238 %t242 = call ptr @fn_node(i32 7) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 %t246 = load ptr, ptr %t245 %t247 = load ptr, ptr %t204 %t248 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t249 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 2 %t250 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t251 = load i32, ptr %t248 %t252 = load i32, ptr %t249 %t253 = icmp sge i32 %t251, %t252 br i1 %t253, label %grow77, label %put78 grow77: %t254 = mul i32 %t252, 2 %t255 = icmp eq i32 %t252, 0 %t256 = select i1 %t255, i32 8, i32 %t254 %t257 = getelementptr ptr, ptr null, i32 1 %t258 = ptrtoint ptr %t257 to i64 %t259 = zext i32 %t256 to i64 %t260 = mul i64 %t259, %t258 %t261 = load ptr, ptr %t250 store i32 296, ptr @lp_site %t262 = call ptr @lp_realloc(ptr %t261, i64 %t260) store i32 0, ptr @lp_site store ptr %t262, ptr %t250 store i32 %t256, ptr %t249 br label %put78 put78: %t263 = load ptr, ptr %t250 %t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251 store ptr %t247, ptr %t264 %t265 = add i32 %t251, 1 store i32 %t265, ptr %t248 %t266 = load ptr, ptr %t223 %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 4 %t268 = load ptr, ptr %t243 store ptr %t268, ptr %t267 br label %ifend76 ifend76: %t269 = load ptr, ptr %t223 %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 1 %t271 = load ptr, ptr %t3 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 1 %t273 = load ptr, ptr %t272 store i32 297, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str1066) store i32 0, ptr @lp_site %t275 = load ptr, ptr %t223 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 1 %t277 = load ptr, ptr %t276 store i32 298, 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 ptr %t278, ptr %t270 %t279 = load ptr, ptr %t223 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 6 %t281 = load ptr, ptr %t3 store ptr %t281, ptr %t280 %t282 = load ptr, ptr %t223 %t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 5 %t284 = load ptr, ptr %t197 store ptr %t284, ptr %t283 %t285 = load ptr, ptr @g_prog %t286 = load ptr, ptr %t223 %t287 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 %t288 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 2 %t289 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 %t290 = load i32, ptr %t287 %t291 = load i32, ptr %t288 %t292 = icmp sge i32 %t290, %t291 br i1 %t292, label %grow79, label %put80 grow79: %t293 = mul i32 %t291, 2 %t294 = icmp eq i32 %t291, 0 %t295 = select i1 %t294, i32 8, i32 %t293 %t296 = getelementptr ptr, ptr null, i32 1 %t297 = ptrtoint ptr %t296 to i64 %t298 = zext i32 %t295 to i64 %t299 = mul i64 %t298, %t297 %t300 = load ptr, ptr %t289 store i32 299, ptr @lp_site %t301 = call ptr @lp_realloc(ptr %t300, i64 %t299) store i32 0, ptr @lp_site store ptr %t301, ptr %t289 store i32 %t295, ptr %t288 br label %put80 put80: %t302 = load ptr, ptr %t289 %t303 = getelementptr inbounds ptr, ptr %t302, i32 %t290 store ptr %t286, ptr %t303 %t304 = add i32 %t290, 1 store i32 %t304, ptr %t287 call void @fn_skipnl() br label %wcond59 wend61: call void @fn_eat_op(ptr @.str1067) br label %wcond36 ifend55: call void @fn_perr(ptr @.str1068) br label %wcond36 wend38: call void @fn_eat_op(ptr @.str1069) %t305 = load ptr, ptr %t11 %t306 = icmp ne ptr %t305, null %t307 = zext i1 %t306 to i32 %t308 = icmp ne i32 %t307, 0 br i1 %t308, label %then81, label %ifend83 then81: %t309 = load ptr, ptr %t3 %t310 = load ptr, ptr %t11 %t311 = load ptr, ptr %t12 call void @fn_scene_add_timer(ptr %t309, ptr %t310, ptr %t311) br label %ifend83 ifend83: %t312 = load ptr, ptr %t13 %t313 = icmp ne ptr %t312, null %t314 = zext i1 %t313 to i32 %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then84, label %ifend86 then84: %t316 = load ptr, ptr %t3 %t317 = load ptr, ptr %t13 call void @fn_scene_add_loader(ptr %t316, ptr %t317) br label %ifend86 ifend86: %t318 = load ptr, ptr %t126 %t319 = load ptr, ptr %t12 %t320 = load ptr, ptr %t13 %t321 = load i32, ptr %t10 call void @fn_cx_scene(ptr %t318, ptr %t319, ptr %t320, i32 %t321) %t322 = load ptr, ptr @g_g_scenes %t323 = load ptr, ptr %t3 %t324 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 1 %t325 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 2 %t326 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0 %t327 = load i32, ptr %t324 %t328 = load i32, ptr %t325 %t329 = icmp sge i32 %t327, %t328 br i1 %t329, label %grow87, label %put88 grow87: %t330 = mul i32 %t328, 2 %t331 = icmp eq i32 %t328, 0 %t332 = select i1 %t331, i32 8, i32 %t330 %t333 = getelementptr ptr, ptr null, i32 1 %t334 = ptrtoint ptr %t333 to i64 %t335 = zext i32 %t332 to i64 %t336 = mul i64 %t335, %t334 %t337 = load ptr, ptr %t326 store i32 300, ptr @lp_site %t338 = call ptr @lp_realloc(ptr %t337, i64 %t336) store i32 0, ptr @lp_site store ptr %t338, ptr %t326 store i32 %t332, ptr %t325 br label %put88 put88: %t339 = load ptr, ptr %t326 %t340 = getelementptr inbounds ptr, ptr %t339, i32 %t327 store ptr %t323, ptr %t340 %t341 = add i32 %t327, 1 store i32 %t341, ptr %t324 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 301, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1070) 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 @.str1072, 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 @.str1073, 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 @.str1074, 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 302, 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 303, 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 @.str1075, 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 @.str1076, 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 304, 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 305, 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 306, 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 307, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str1077) 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 @.str1078, 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 @.str1079, 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 308, 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 309, 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 310, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str1080, ptr %t5) store i32 0, ptr @lp_site store i32 311, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1082) 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 @.str1083, 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 312, 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 @.str1084, 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 313, 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 314, 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str1085, 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 315, 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 316, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str1086) 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 @.str1087, 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 @.str1088, 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 317, 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 @.str1089, 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 318, 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 319, 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 320, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1090, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1091, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str1092, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1093, 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 @.str1094) %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 @.str1095) %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 @.str1096, 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 @.str1097, 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 321, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str1098, 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 322, 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 323, 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 @.str1100, 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: %t192 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t192, ptr @.fmt_bounds, ptr @.str1101, 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 @.str1102) 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 @.str1103) %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 @.str1104) %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 @.str1105) %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 324, 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 @.str1107) %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 @.str1108) 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 325, 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 @.str1109) %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 @.str1110) %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 @.str1111) 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 @.str1112) %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 @.str1113) %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 @.str1114) %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 326, 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 @.str1116) %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 @.str1117) %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 @.str1118) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str1119) %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 @.str1120) %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 327, 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 @.str1122) %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 @.str1123) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str1124, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str1125) %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 @.str1126) %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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str1127, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1128, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str1129, 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str1130, 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 @.str1131) %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 @.str1132) %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 328, 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 @.str1134) %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 @.str1135) %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 329, 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 @.str1136) 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 @.str1137) 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 @.str1138) %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 @.str1139) store ptr @.str1140, ptr %t0 br label %wcond0 wcond0: %t1 = call i32 @fn_is_op(ptr @.str1141) %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 330, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1142) 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 331, 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 @.str1144) %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 @.str1145) %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 @.str1146, 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 332, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str1147) 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 333, ptr @lp_site %t61 = call ptr @lp_str_slice(ptr %t57, i32 %t58, i32 %t60) store i32 0, ptr @lp_site store i32 334, 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 335, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str1149) 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 336, 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 337, 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 338, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str1151, 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 339, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1153, 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 @.str1154, 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 340, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1155) 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str1157, 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 341, 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 342, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1158) 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str1159, 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 343, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1160, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1161, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1162, 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str1163, 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 344, 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 345, 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 346, 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 347, 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 348, 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: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str1164, 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 349, 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 @.str1165) %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 350, 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 @.str1167) %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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1168, 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 @.str1169, ptr %t21 br label %wend2 ifend5: %t22 = call i32 @fn_is_op(ptr @.str1170) %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 351, 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 @.str1171) %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 @.str1172) %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 @.str1173, ptr %t6 br label %wcond3 wcond3: %t11 = call i32 @fn_is_op(ptr @.str1174) %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 352, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1175) 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 353, 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 @.str1177) %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 @.str1178) br label %ifend2 ifend2: call void @fn_eat_op(ptr @.str1179) %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 354, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1180) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t5 store i32 355, 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 356, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str1181) 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 357, 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 358, 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 359, 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 360, 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 361, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1182, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1183, 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 362, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1185, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1186, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str1187, 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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str1188, 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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1189, 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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str1190, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1191, 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 363, 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 364, 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 365, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1192, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1193, 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 366, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str1194, ptr %t3) store i32 0, ptr @lp_site store i32 367, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1196) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1197, 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 @.str1198, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_eat_id() store i32 368, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t1, ptr %t2) store i32 0, ptr @lp_site store i32 369, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1200) 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 @.str1201) %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 370, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) store i32 0, ptr @lp_site store i32 371, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1202) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1203, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1204, 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 @.str1205, 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 @.str1206) %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 372, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str1207, ptr %t14) store i32 0, ptr @lp_site store i32 373, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1209) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t4 store i32 374, 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 375, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1210) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 376, 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 377, 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 378, 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 @.str1211) %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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1212, 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 @.str1213) %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 @.str1214) %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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1215, 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 @.str1216, ptr %t59 %t60 = call i32 @fn_is_id(ptr @.str1217) %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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str1218, 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str1219, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str1220, 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 379, 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 380, 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 381, 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 382, 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 383, 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 @.str1222, ptr %t6 %t7 = call i32 @fn_is_id(ptr @.str1223) %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 384, 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 385, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1225, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1226, 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 @.str1227) %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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str1228, 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 386, 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 @.str1230, 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 387, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str1231) 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 388, ptr @lp_site %t63 = call ptr @lp_str_slice(ptr %t59, i32 %t60, i32 %t62) store i32 0, ptr @lp_site store i32 389, 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 390, 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 391, 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 @.str1233) %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 @.str1234) %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 @.str1235) %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 @.str1236) %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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1237, 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 392, 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 393, 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 394, 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 @.str1239) %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 395, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str1240, 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 @.str1242, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1243, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1244, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str1245, 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 396, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str1246, ptr %t65) store i32 0, ptr @lp_site store i32 397, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1248) 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 398, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) store i32 0, ptr @lp_site store i32 399, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1249) 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 400, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str1250, ptr %t3) store i32 0, ptr @lp_site %t5 = load ptr, ptr %t0 store i32 401, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str1252, ptr %t5) store i32 0, ptr @lp_site store i32 402, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1253) 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1254, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1255, 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 403, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str1256, ptr %t33) store i32 0, ptr @lp_site %t35 = load ptr, ptr %t0 store i32 404, 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 405, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1257) 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 406, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str1258, ptr %t39) store i32 0, ptr @lp_site store i32 407, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1259) 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 @.str1260) %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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str1261, 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 408, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t71, ptr %t72) store i32 0, ptr @lp_site store i32 409, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str1262) 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 410, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) store i32 0, ptr @lp_site store i32 411, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1263) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1264, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str1266, 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 @.str1265, 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 @.str1267) 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 @.str1268, ptr %retval br label %ret ifend5: %t9 = call i32 @lp_fs_is_dir(ptr @.str1269) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then6, label %ifend8 then6: store ptr @.str1270, ptr %retval br label %ret ifend8: store ptr @.str1271, 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 412, 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 413, 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 414, 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 415, 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 416, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1273, 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 417, ptr @lp_site %t35 = call ptr @lp_str_slice(ptr %t25, i32 0, i32 %t34) store i32 0, ptr @lp_site store i32 418, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1275) 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 419, 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 420, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1276) 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 421, 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: %t148 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str1277, 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 @.str1278) %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: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str1279, 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: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str1280, 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 422, 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 423, 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 @.str1281, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1283, 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 424, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str1282, ptr %t19) store i32 0, ptr @lp_site store i32 425, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1285) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) store i32 426, 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 @.str1286, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1287, 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 427, ptr @lp_site %t34 = call ptr @lp_str_slice(ptr %t31, i32 0, i32 %t33) store i32 0, ptr @lp_site store i32 428, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str1288, ptr %t34) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store i32 429, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1290) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) store i32 430, 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 @.str1291, ptr %t40 br label %ifend10 ifend10: %t47 = load ptr, ptr %t20 %t48 = call ptr @fn_win_path(ptr %t47) store i32 431, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str1292, ptr %t48) store i32 0, ptr @lp_site store i32 432, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str1293) 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 433, 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 434, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str1294) 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 435, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str1295, ptr %t57) store i32 0, ptr @lp_site store i32 436, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str1296) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t23 store i32 437, 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 438, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str1297) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) store i32 439, 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 440, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1298) 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 441, 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 442, 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 443, 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 444, 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 445, 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 446, 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 447, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1301, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1302, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1303, 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 448, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str1304, ptr %t24) store i32 0, ptr @lp_site store i32 449, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1306) 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 450, 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 451, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1307) 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 452, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str1308, ptr %t13) store i32 0, ptr @lp_site store i32 453, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1310) 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 454, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1311, 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 455, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str1312, ptr %t38) store i32 0, ptr @lp_site store i32 456, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1313) 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 457, 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 458, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str1314) 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 459, 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 460, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1315) 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str1316, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str1317, 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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str1318, 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 461, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str1319, ptr %t109) store i32 0, ptr @lp_site store i32 462, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1320) 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: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str1321, 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 463, 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: %t148 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str1322, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str1323, 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 464, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str1324, ptr %t182) store i32 0, ptr @lp_site store i32 465, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str1325) 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: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str1326, 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 466, 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 467, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str1327) 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: %t221 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t221, ptr @.fmt_bounds, ptr @.str1328, 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: %t253 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t253, ptr @.fmt_bounds, ptr @.str1329, 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: %t318 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t318, ptr @.fmt_bounds, ptr @.str1330, 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: %t336 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t336, ptr @.fmt_bounds, ptr @.str1331, 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: %t362 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t362, ptr @.fmt_bounds, ptr @.str1332, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1333, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1334, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1335, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str1336, 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 468, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str1337, ptr %t41) store i32 0, ptr @lp_site store i32 469, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1339) 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 470, 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 471, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1340) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t5 store i32 472, 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 473, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1341) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t5 store i32 474, 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 475, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str1342) 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 476, 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 @.str1343) 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 477, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str1344, ptr %t83) store i32 0, ptr @lp_site store i32 478, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str1345) 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 479, 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 480, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str1346) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t60 store i32 481, 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 482, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1347) 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 483, 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 484, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str1348, ptr %t100) store i32 0, ptr @lp_site store i32 485, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str1349) 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 486, 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 487, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str1350, ptr %t108) store i32 0, ptr @lp_site store i32 488, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1351) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t97 store i32 489, 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 490, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str1352) store i32 0, ptr @lp_site call void @lp_free(ptr %t112) %t114 = load ptr, ptr %t5 store i32 491, 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 492, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str1353) 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 493, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str1354, ptr %t122) store i32 0, ptr @lp_site store i32 494, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str1355) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = load ptr, ptr %t4 store i32 495, 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 496, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1356) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = load ptr, ptr %t97 store i32 497, 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 498, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1357) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t5 store i32 499, 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 500, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str1358) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1359, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str1360, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str1361, 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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str1362, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str1363, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1364, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str1365, 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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str1366, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str1367, 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str1368, 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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str1369, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str1370, 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 @.str1371, 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str1372, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1373, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str1374, 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 @.str1375) %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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1376, 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 501, 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 502, 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 503, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str1378) store i32 0, ptr @lp_site %t146 = load ptr, ptr %t34 store i32 504, 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 505, 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 506, 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 507, 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 508, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1380, 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str1381, 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 509, 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 510, 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str1382, 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: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str1383, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str1384, 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: %t160 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t160, ptr @.fmt_bounds, ptr @.str1385, 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 511, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str1386, 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: %t216 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str1387, 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: %t234 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t234, ptr @.fmt_bounds, ptr @.str1388, 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 512, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1389, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str1390, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str1391, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str1392, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1393, 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 513, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str1394, ptr %t3) store i32 0, ptr @lp_site store i32 514, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1396) 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str1397, 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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str1398, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str1399, 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 515, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t105, ptr %t119) store i32 0, ptr @lp_site store i32 516, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str1401) 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 517, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t145, ptr %t148) store i32 0, ptr @lp_site store i32 518, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str1402) 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: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str1403, 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: %t193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str1404, 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: %t211 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t211, ptr @.fmt_bounds, ptr @.str1405, 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 519, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t201, ptr %t215) store i32 0, ptr @lp_site store i32 520, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str1406) 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1407, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1408, 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 @.str1409) %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1410, 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: %t117 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str1411, 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 @.str1412) %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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str1413, 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str1414, 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: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str1415, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1416, 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: %t40 = load ptr, ptr @__stderrp 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 521, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str1417, ptr %t42) store i32 0, ptr @lp_site store i32 522, 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 523, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str1421, ptr %t47) store i32 0, ptr @lp_site store i32 524, 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: %t60 = load ptr, ptr @__stderrp 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 525, 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: %t88 = load ptr, ptr @__stderrp 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: %t117 = load ptr, ptr @__stderrp 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: %t25 = load ptr, ptr @__stderrp 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 @.str1428) %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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str1429, 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 526, 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 527, 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 528, 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 529, 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 530, 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: %t15 = load ptr, ptr @__stderrp 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 @.str1433, 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 @.str1434) %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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1435, 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 @.str1436, 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 531, 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 532, 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 533, 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 534, 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 535, 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 536, 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 537, 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 538, ptr @lp_site %t65 = call ptr @lp_str_slice(ptr %t62, i32 %t63, i32 %t64) store i32 0, ptr @lp_site store i32 539, 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 540, ptr @lp_site %t77 = call ptr @lp_str_slice(ptr %t73, i32 %t74, i32 %t76) store i32 0, ptr @lp_site store i32 541, 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: %t35 = load ptr, ptr @__stderrp 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str1442, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1443, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str1444, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1445, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1446, 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str1447, 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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str1448, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1449, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str1450, 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: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str1451, 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str1452, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str1453, 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str1454, 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: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str1455, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str1456, 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: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str1457, 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: %t231 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str1458, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1459, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str1460, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1461, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str1462, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1463, 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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1465, 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 542, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr @.str1464, ptr %t99) store i32 0, ptr @lp_site store i32 543, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str1467) 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str1468, 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 544, 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 545, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str1469) 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str1470, 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 546, 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 547, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1471) 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 @.str1472) %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 548, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str1474, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str1475, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1476, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str1477, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str1478, 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 549, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1479, 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 550, 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 551, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str1480, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1482, 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 552, 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 553, 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 554, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1484, 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 @.str1485) %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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1486, 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 555, 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 @.str1488) %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 @.str1489) %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 @.str1490) %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 556, 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 @.str1491) %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 @.str1492) %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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str1493, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str1494, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str1495, 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 557, 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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str1497, 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: %t181 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t181, ptr @.fmt_bounds, ptr @.str1498, 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 558, 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 559, 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: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str1499, 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 560, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str1500, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1501, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1502, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str1503, 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 561, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str1505, 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 @.str1506, 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 562, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str1507, 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 563, 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 564, 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 565, 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 566, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1509, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str1510, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str1511, 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 @.str1512) %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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str1513, 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 @.str1514) 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str1515, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str1516, 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 @.str1517, 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 567, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr @.str1518, ptr %t104) store i32 0, ptr @lp_site store i32 568, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str1520) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load ptr, ptr %t13 store i32 569, 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 570, 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 571, 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 572, 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_g_red_rec %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2 %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t175 = load i32, ptr %t172 %t176 = load i32, ptr %t173 %t177 = icmp sge i32 %t175, %t176 br i1 %t177, label %grow25, label %put26 grow25: %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 573, 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 %put26 put26: %t187 = load ptr, ptr %t174 %t188 = getelementptr inbounds ptr, ptr %t187, i32 %t175 store ptr null, ptr %t188 %t189 = add i32 %t175, 1 store i32 %t189, ptr %t172 %t190 = load ptr, ptr @g_g_red_mc %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t192 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 2 %t193 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t194 = load i32, ptr %t191 %t195 = load i32, ptr %t192 %t196 = icmp sge i32 %t194, %t195 br i1 %t196, label %grow27, label %put28 grow27: %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 574, 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 %put28 put28: %t206 = load ptr, ptr %t193 %t207 = getelementptr inbounds ptr, ptr %t206, i32 %t194 store ptr null, ptr %t207 %t208 = add i32 %t194, 1 store i32 %t208, ptr %t191 %t209 = load ptr, ptr @g_g_red_tbl %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 2 %t212 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t213 = load i32, ptr %t210 %t214 = load i32, ptr %t211 %t215 = icmp sge i32 %t213, %t214 br i1 %t215, label %grow29, label %put30 grow29: %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 575, 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 %put30 put30: %t225 = load ptr, ptr %t212 %t226 = getelementptr inbounds ptr, ptr %t225, i32 %t213 store ptr null, ptr %t226 %t227 = add i32 %t213, 1 store i32 %t227, ptr %t210 %t228 = load ptr, ptr @g_g_red_tgt %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 2 %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t232 = load i32, ptr %t229 %t233 = load i32, ptr %t230 %t234 = icmp sge i32 %t232, %t233 br i1 %t234, label %grow31, label %put32 grow31: %t235 = mul i32 %t233, 2 %t236 = icmp eq i32 %t233, 0 %t237 = select i1 %t236, i32 8, i32 %t235 %t238 = getelementptr ptr, ptr null, i32 1 %t239 = ptrtoint ptr %t238 to i64 %t240 = zext i32 %t237 to i64 %t241 = mul i64 %t240, %t239 %t242 = load ptr, ptr %t231 store i32 576, 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 %put32 put32: %t244 = load ptr, ptr %t231 %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232 store ptr null, ptr %t245 %t246 = add i32 %t232, 1 store i32 %t246, ptr %t229 %t247 = load ptr, ptr @g_prog %t248 = load ptr, ptr %t101 %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 %grow33, label %put34 grow33: %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 577, 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 %put34 put34: %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 %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: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str1521, 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 @.str1522) %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 578, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str1523, 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 @.str1525, 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 579, 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 580, 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 581, 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 582, 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 583, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1526, 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 %t43 = alloca i32 %t109 = alloca ptr %t115 = alloca i32 call void @fn_machines_finish() call void @fn_rows_finish_checks() 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 ptr, ptr @g_g_red_rec %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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1527, 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 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %else6 then5: %t21 = load i32, ptr %t0 call void @fn_rr_check(i32 %t21) br label %ifend7 else6: %t22 = load i32, ptr %t0 call void @fn_red_check(i32 %t22) br label %ifend7 ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t0 br label %wcond8 wcond8: %t25 = load i32, ptr %t0 %t26 = load ptr, ptr @g_g_dsp_ids %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: %t32 = load ptr, ptr @g_g_dsp_names %t33 = load i32, ptr %t0 %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 %ixok11, label %ixbad12 ixbad12: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str1528, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok11: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 %t42 = call i32 @fn_act_index(ptr %t41) store i32 %t42, ptr %t43 %t44 = load i32, ptr %t43 %t45 = icmp slt i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then13, label %ifend15 then13: %t48 = load ptr, ptr @g_g_dsp_at %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 %ixok16, label %ixbad17 ixbad17: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str1529, i32 %t49, i32 %t53) call void @exit(i32 1) unreachable ixok16: %t56 = getelementptr inbounds ptr, ptr %t51, i32 %t49 %t57 = load ptr, ptr %t56 %t58 = load ptr, ptr @g_g_dsp_names %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 %ixok18, label %ixbad19 ixbad19: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str1531, i32 %t59, i32 %t63) call void @exit(i32 1) unreachable ixok18: %t66 = getelementptr inbounds ptr, ptr %t61, i32 %t59 %t67 = load ptr, ptr %t66 store i32 584, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str1530, ptr %t67) store i32 0, ptr @lp_site store i32 585, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str1533) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr @g_g_dsp_names %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 %ixok20, label %ixbad21 ixbad21: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str1534, i32 %t71, i32 %t75) call void @exit(i32 1) unreachable ixok20: %t78 = getelementptr inbounds ptr, ptr %t73, i32 %t71 %t79 = load ptr, ptr %t78 store i32 586, 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) store i32 587, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1535) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr @g_g_dsp_names %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 %ixok22, label %ixbad23 ixbad23: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str1536, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok22: %t90 = getelementptr inbounds ptr, ptr %t85, i32 %t83 %t91 = load ptr, ptr %t90 store i32 588, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t81, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 589, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1537) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_act_err(ptr %t57, ptr %t93) br label %ifend15 ifend15: %t94 = load ptr, ptr @g_g_dsp_ids %t95 = load i32, ptr %t0 %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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str1538, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok24: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 2 %t105 = load i32, ptr %t43 store i32 %t105, ptr %t104 %t106 = load i32, ptr %t0 %t107 = add i32 %t106, 1 store i32 %t107, ptr %t0 br label %wcond8 wend10: %t108 = load ptr, ptr @g_g_parse_file store ptr %t108, ptr %t109 %t110 = load ptr, ptr @g_g_act_main %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 @g_g_act_main store ptr %t114, ptr %t109 br label %ifend28 ifend28: store i32 1, ptr %t115 %t116 = load ptr, ptr @g_g_act_names %t117 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp eq i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then29, label %ifend31 then29: %t122 = load ptr, ptr %t109 %t123 = load i32, ptr %t115 call void @fn_vw_parse(ptr @.str1539, ptr %t122, i32 %t123, i32 1) br label %ret ifend31: %t124 = call ptr @fn_act_src() %t125 = load ptr, ptr %t109 %t126 = load i32, ptr %t115 call void @fn_vw_parse(ptr %t124, ptr %t125, i32 %t126, 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 %t293 = 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1540, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1541, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1542, 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 590, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str1543, ptr %t40) store i32 0, ptr @lp_site store i32 591, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str1545) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t33 store i32 592, 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 593, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str1546) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t33 store i32 594, 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 595, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1547) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t33 store i32 596, 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 597, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1548) 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 598, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str1549, ptr %t58) store i32 0, ptr @lp_site store i32 599, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1550) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr %t33 store i32 600, 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 601, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1551) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t22 store i32 602, 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 603, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str1552) 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 604, 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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str1553, 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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str1554, 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 605, 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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str1555, 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 606, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str1556, ptr %t161) store i32 0, ptr @lp_site store i32 607, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1557) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) %t164 = load ptr, ptr %t33 store i32 608, 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 609, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str1558) 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 610, 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 611, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1559) 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 612, 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 613, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1560) 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 614, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str1561, ptr %t184) store i32 0, ptr @lp_site store i32 615, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str1562) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t33 store i32 616, 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 617, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1563) 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 618, 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 619, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str1564) 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 620, 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 621, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str1565) 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 622, 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 623, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str1566) 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 624, 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 625, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str1567) 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 626, 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 627, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str1568) 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: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str1569, 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: %t256 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t256, ptr @.fmt_bounds, ptr @.str1570, 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 628, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr @.str1571, ptr %t270) store i32 0, ptr @lp_site store i32 629, ptr @lp_site %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str1572) store i32 0, ptr @lp_site call void @lp_free(ptr %t271) %t273 = load ptr, ptr %t33 store i32 630, 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 631, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str1573) 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 632, 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 633, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str1574) store i32 0, ptr @lp_site call void @lp_free(ptr %t278) %t280 = load ptr, ptr %t22 store i32 634, 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 635, ptr @lp_site %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str1575) store i32 0, ptr @lp_site call void @lp_free(ptr %t281) %t283 = load ptr, ptr %t33 store i32 636, 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 637, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1576) 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: %t294 = load ptr, ptr @g_g_red_state %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 %ixok49, label %ixbad50 ixbad50: %t301 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t301, ptr @.fmt_bounds, ptr @.str1577, i32 %t295, i32 %t299) call void @exit(i32 1) unreachable ixok49: %t302 = getelementptr inbounds ptr, ptr %t297, i32 %t295 %t303 = load ptr, ptr %t302 %t304 = load ptr, ptr %t22 %t305 = call i32 @lp_str_eq(ptr %t303, ptr %t304) %t306 = icmp ne i32 %t305, 0 %t307 = zext i1 %t306 to i32 store i32 %t307, ptr %t293 br i1 %t306, label %sc51, label %scend52 sc51: %t308 = load ptr, ptr @g_g_red_action %t309 = load i32, ptr %t286 %t310 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 0 %t311 = load ptr, ptr %t310 %t312 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 1 %t313 = load i32, ptr %t312 %t314 = icmp ult i32 %t309, %t313 br i1 %t314, label %ixok53, label %ixbad54 ixbad54: %t315 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t315, ptr @.fmt_bounds, ptr @.str1578, i32 %t309, i32 %t313) call void @exit(i32 1) unreachable ixok53: %t316 = getelementptr inbounds ptr, ptr %t311, i32 %t309 %t317 = load ptr, ptr %t316 %t318 = load ptr, ptr %t33 %t319 = call i32 @lp_str_eq(ptr %t317, ptr %t318) %t320 = icmp ne i32 %t319, 0 %t321 = zext i1 %t320 to i32 store i32 %t321, ptr %t293 br label %scend52 scend52: %t322 = load i32, ptr %t293 %t323 = icmp ne i32 %t322, 0 %t324 = zext i1 %t323 to i32 store i32 %t324, ptr %t292 br i1 %t323, label %sc55, label %scend56 sc55: %t325 = load ptr, ptr @g_g_red_rec %t326 = load i32, ptr %t286 %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 %ixok57, label %ixbad58 ixbad58: %t332 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t332, ptr @.fmt_bounds, ptr @.str1579, i32 %t326, i32 %t330) call void @exit(i32 1) unreachable ixok57: %t333 = getelementptr inbounds ptr, ptr %t328, i32 %t326 %t334 = load ptr, ptr %t333 %t335 = icmp eq ptr %t334, null %t336 = zext i1 %t335 to i32 %t337 = icmp ne i32 %t336, 0 %t338 = zext i1 %t337 to i32 store i32 %t338, ptr %t292 br label %scend56 scend56: %t339 = load i32, ptr %t292 %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then59, label %ifend61 then59: %t341 = load ptr, ptr %t11 %t342 = load ptr, ptr %t22 store i32 638, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr @.str1580, ptr %t342) store i32 0, ptr @lp_site store i32 639, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr %t343, ptr @.str1581) store i32 0, ptr @lp_site call void @lp_free(ptr %t343) %t345 = load ptr, ptr %t33 store i32 640, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t344, ptr %t345) store i32 0, ptr @lp_site call void @lp_free(ptr %t344) store i32 641, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str1582) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) %t348 = load ptr, ptr @g_g_red_nodes %t349 = load i32, ptr %t286 %t350 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 0 %t351 = load ptr, ptr %t350 %t352 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 1 %t353 = load i32, ptr %t352 %t354 = icmp ult i32 %t349, %t353 br i1 %t354, label %ixok62, label %ixbad63 ixbad63: %t355 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t355, ptr @.fmt_bounds, ptr @.str1583, i32 %t349, i32 %t353) call void @exit(i32 1) unreachable ixok62: %t356 = getelementptr inbounds ptr, ptr %t351, i32 %t349 %t357 = load ptr, ptr %t356 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 9 %t359 = load ptr, ptr %t358 store i32 642, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t347, ptr %t359) store i32 0, ptr @lp_site call void @lp_free(ptr %t347) store i32 643, ptr @lp_site %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str1584) store i32 0, ptr @lp_site call void @lp_free(ptr %t360) %t362 = load ptr, ptr @g_g_red_nodes %t363 = load i32, ptr %t286 %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 %ixok64, label %ixbad65 ixbad65: %t369 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str1585, i32 %t363, i32 %t367) call void @exit(i32 1) unreachable ixok64: %t370 = getelementptr inbounds ptr, ptr %t365, i32 %t363 %t371 = load ptr, ptr %t370 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 8 %t373 = load i32, ptr %t372 %t374 = call ptr @fn_itoa(i32 %t373) store i32 644, ptr @lp_site %t375 = call ptr @lp_str_concat(ptr %t361, ptr %t374) store i32 0, ptr @lp_site call void @lp_free(ptr %t361) store i32 645, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr %t375, ptr @.str1586) store i32 0, ptr @lp_site call void @lp_free(ptr %t375) call void @fn_act_err(ptr %t341, ptr %t376) br label %ifend61 ifend61: %t377 = load i32, ptr %t286 %t378 = add i32 %t377, 1 store i32 %t378, 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 %t86 = alloca ptr %t99 = alloca i32 %t128 = alloca ptr store ptr @.str1587, 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 646, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str1588, ptr %t11) store i32 0, ptr @lp_site store i32 647, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1590) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1591, 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 648, 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 649, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1592) 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str1593, 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 650, 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 651, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1594) 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 652, 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 653, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1595) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) store i32 654, 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 %t46 = call ptr @fn_rr_fields_src() store i32 655, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store i32 0, ptr @lp_site store i32 656, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1596) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) store ptr %t48, ptr %t0 %t49 = load ptr, ptr %t0 %t50 = call ptr @fn_act_new_src() store i32 657, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store i32 0, ptr @lp_site store ptr %t51, ptr %t0 %t52 = load ptr, ptr %t0 %t53 = call ptr @fn_rr_wrappers_src() store i32 658, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) store i32 0, ptr @lp_site store ptr %t54, ptr %t0 %t55 = load ptr, ptr %t0 store i32 659, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1597) store i32 0, ptr @lp_site store ptr %t56, ptr %t0 %t57 = load ptr, ptr %t0 store i32 660, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str1598) store i32 0, ptr @lp_site store ptr %t58, ptr %t0 %t59 = load ptr, ptr %t0 store i32 661, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1599) store i32 0, ptr @lp_site store ptr %t60, ptr %t0 %t61 = load ptr, ptr %t0 %t62 = call ptr @fn_itoa(i32 64) store i32 662, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str1600, ptr %t62) store i32 0, ptr @lp_site store i32 663, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str1601) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) store i32 664, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t61, ptr %t64) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) store ptr %t65, ptr %t0 %t66 = load ptr, ptr %t0 store i32 665, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1602) store i32 0, ptr @lp_site store ptr %t67, ptr %t0 store i32 0, ptr %t1 br label %wcond7 wcond7: %t68 = load i32, ptr %t1 %t69 = load ptr, ptr @g_g_act_names %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 %wbody8, label %wend9 wbody8: %t75 = load ptr, ptr @g_g_act_names %t76 = load i32, ptr %t1 %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 %ixok10, label %ixbad11 ixbad11: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str1603, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok10: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 %t85 = call ptr @fn_red_sorted(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp sgt i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then12, label %ifend14 then12: %t93 = load ptr, ptr %t0 %t94 = load i32, ptr %t1 %t95 = call ptr @fn_itoa(i32 %t94) store i32 666, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str1604, ptr %t95) store i32 0, ptr @lp_site store i32 667, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str1605) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 668, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t93, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) store ptr %t98, ptr %t0 store i32 0, ptr %t99 br label %wcond15 wcond15: %t100 = load i32, ptr %t99 %t101 = load ptr, ptr %t86 %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 br i1 %t106, label %wbody16, label %wend17 wbody16: %t107 = load ptr, ptr @g_g_red_nodes %t108 = load ptr, ptr %t86 %t109 = load i32, ptr %t99 %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 %ixok18, label %ixbad19 ixbad19: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str1606, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok18: %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 %ixok20, label %ixbad21 ixbad21: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str1607, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok20: %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 store ptr %t127, ptr %t128 %t129 = load ptr, ptr @g_g_red_rec %t130 = load ptr, ptr %t86 %t131 = load i32, ptr %t99 %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 %ixok22, label %ixbad23 ixbad23: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str1608, i32 %t131, i32 %t135) call void @exit(i32 1) unreachable ixok22: %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 %ixok24, label %ixbad25 ixbad25: %t145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str1609, i32 %t139, i32 %t143) call void @exit(i32 1) unreachable ixok24: %t146 = getelementptr inbounds ptr, ptr %t141, i32 %t139 %t147 = load ptr, ptr %t146 %t148 = icmp ne ptr %t147, null %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then26, label %ifend28 then26: %t151 = load ptr, ptr %t86 %t152 = load i32, ptr %t99 %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 %ixok29, label %ixbad30 ixbad30: %t158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str1610, i32 %t152, i32 %t156) call void @exit(i32 1) unreachable ixok29: %t159 = getelementptr inbounds i32, ptr %t154, i32 %t152 %t160 = load i32, ptr %t159 %t161 = call ptr @fn_rr_wrap_name(i32 %t160) store ptr %t161, ptr %t128 br label %ifend28 ifend28: %t162 = load ptr, ptr %t0 %t163 = load ptr, ptr %t128 store i32 669, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr @.str1611, ptr %t163) store i32 0, ptr @lp_site store i32 670, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str1612) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) store i32 671, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t162, ptr %t165) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) store ptr %t166, ptr %t0 %t167 = load i32, ptr %t99 %t168 = add i32 %t167, 1 store i32 %t168, ptr %t99 br label %wcond15 wend17: %t169 = load ptr, ptr %t0 store i32 672, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str1613) store i32 0, ptr @lp_site store ptr %t170, ptr %t0 br label %ifend14 ifend14: %t171 = load i32, ptr %t1 %t172 = add i32 %t171, 1 store i32 %t172, ptr %t1 br label %wcond7 wend9: %t173 = load ptr, ptr %t0 store i32 673, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str1614) store i32 0, ptr @lp_site store ptr %t174, ptr %t0 store i32 0, ptr %t1 br label %wcond31 wcond31: %t175 = load i32, ptr %t1 %t176 = load ptr, ptr @g_g_act_names %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 %wbody32, label %wend33 wbody32: %t182 = load ptr, ptr %t0 %t183 = load i32, ptr %t1 %t184 = call ptr @fn_itoa(i32 %t183) store i32 674, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str1615, ptr %t184) store i32 0, ptr @lp_site store i32 675, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str1616) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) store i32 676, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t182, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) store ptr %t187, ptr %t0 %t188 = load i32, ptr %t1 %t189 = add i32 %t188, 1 store i32 %t189, ptr %t1 br label %wcond31 wend33: %t190 = load ptr, ptr %t0 store i32 677, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str1617) store i32 0, ptr @lp_site store ptr %t191, ptr %t0 %t192 = load ptr, ptr %t0 store i32 678, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str1618) store i32 0, ptr @lp_site store ptr %t193, ptr %t0 store i32 0, ptr %t1 br label %wcond34 wcond34: %t194 = load i32, ptr %t1 %t195 = load ptr, ptr @g_g_act_names %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 %wbody35, label %wend36 wbody35: %t201 = load ptr, ptr %t0 %t202 = load i32, ptr %t1 %t203 = call ptr @fn_itoa(i32 %t202) store i32 679, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str1619, ptr %t203) store i32 0, ptr @lp_site store i32 680, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str1620) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = load ptr, ptr @g_g_act_names %t207 = load i32, ptr %t1 %t208 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t209 = load ptr, ptr %t208 %t210 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t211 = load i32, ptr %t210 %t212 = icmp ult i32 %t207, %t211 br i1 %t212, label %ixok37, label %ixbad38 ixbad38: %t213 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t213, ptr @.fmt_bounds, ptr @.str1621, i32 %t207, i32 %t211) call void @exit(i32 1) unreachable ixok37: %t214 = getelementptr inbounds ptr, ptr %t209, i32 %t207 %t215 = load ptr, ptr %t214 store i32 681, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t205, ptr %t215) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) store i32 682, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str1622) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) store i32 683, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t201, ptr %t217) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) store ptr %t218, ptr %t0 %t219 = load i32, ptr %t1 %t220 = add i32 %t219, 1 store i32 %t220, ptr %t1 br label %wcond34 wend36: %t221 = load ptr, ptr %t0 store i32 684, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr %t221, ptr @.str1623) store i32 0, ptr @lp_site %t223 = call ptr @fn_itoa(i32 64) store i32 685, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t222, ptr %t223) store i32 0, ptr @lp_site call void @lp_free(ptr %t222) store i32 686, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str1624) store i32 0, ptr @lp_site call void @lp_free(ptr %t224) store ptr %t225, ptr %t0 %t226 = load ptr, ptr %t0 store ptr %t226, ptr %retval br label %ret ret: %t227 = load ptr, ptr %retval ret ptr %t227 } define ptr @fn_act_new_src() { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t22 = alloca ptr store ptr @.str1625, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1626, 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 687, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str1627, ptr %t24) store i32 0, ptr @lp_site store i32 688, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1629) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t19 store i32 689, 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 690, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1630) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t22 store i32 691, 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 692, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1631) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t22 store i32 693, 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 694, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1632) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t22 store i32 695, 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 696, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1633) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t19 store i32 697, 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 698, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1634) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t22 store i32 699, 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 700, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1635) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t22 store i32 701, 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 702, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str1636) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t22 store i32 703, 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 704, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str1637) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) store i32 705, 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_key(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_i, ptr %t0 %t1 = load ptr, ptr @g_g_red_tbl %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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1638, 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 = icmp eq ptr %t10, null %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: %t14 = load ptr, ptr @g_g_red_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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1639, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok5: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %retval br label %ret ifend4: %t24 = load ptr, ptr @g_g_red_state %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 %ixok7, label %ixbad8 ixbad8: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str1640, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok7: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 store i32 706, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1641) store i32 0, ptr @lp_site %t35 = load ptr, ptr @g_g_red_tbl %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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str1643, 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 i32 707, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t34, ptr %t44) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) store ptr %t45, ptr %retval br label %ret ret: %t46 = load ptr, ptr %retval ret ptr %t46 } 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 708, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str1645, 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 709, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str1646, 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 i32, ptr %t69 %t80 = call ptr @fn_red_key(i32 %t79) %t81 = load ptr, ptr %t7 %t82 = load i32, ptr %t72 %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 %ixok20, label %ixbad21 ixbad21: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str1647, i32 %t82, i32 %t86) call void @exit(i32 1) unreachable ixok20: %t89 = getelementptr inbounds i32, ptr %t84, i32 %t82 %t90 = load i32, ptr %t89 %t91 = call ptr @fn_red_key(i32 %t90) %t92 = call i32 @fn_reg_str_less(ptr %t80, ptr %t91) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t73 br label %scend19 scend19: %t95 = load i32, ptr %t73 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody16, label %wend17 wbody16: %t97 = load ptr, ptr %t7 %t98 = load i32, ptr %t72 %t99 = add i32 %t98, 1 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t99, %t103 br i1 %t104, label %ixok22, label %ixbad23 ixbad23: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str1648, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok22: %t106 = getelementptr inbounds i32, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t7 %t108 = load i32, ptr %t72 %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 %ixok24, label %ixbad25 ixbad25: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str1649, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok24: %t115 = getelementptr inbounds i32, ptr %t110, i32 %t108 %t116 = load i32, ptr %t115 store i32 %t116, ptr %t106 %t117 = load i32, ptr %t72 %t118 = sub i32 %t117, 1 store i32 %t118, ptr %t72 br label %wcond15 wend17: %t119 = load ptr, ptr %t7 %t120 = load i32, ptr %t72 %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 %ixok26, label %ixbad27 ixbad27: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str1650, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok26: %t128 = getelementptr inbounds i32, ptr %t123, i32 %t121 %t129 = load i32, ptr %t69 store i32 %t129, ptr %t128 %t130 = load i32, ptr %t51 %t131 = add i32 %t130, 1 store i32 %t131, ptr %t51 br label %wcond10 wend12: %t132 = load ptr, ptr %t7 store ptr %t132, ptr %retval br label %ret ret: %t133 = load ptr, ptr %retval ret ptr %t133 } 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 @.str1651) %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 @.str1652) %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 @.str1653) %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 void @fn_parse_row_reducer() { entry: %t13 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t68 = alloca i32 %t69 = alloca ptr %t127 = alloca i32 %t178 = alloca ptr %t193 = 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1654, 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 %t14 = load ptr, ptr @g_toks %t15 = load i32, ptr @g_pi %t16 = add i32 %t15, 3 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t16, %t20 br i1 %t21, label %ixok2, label %ixbad3 ixbad3: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str1655, 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 1 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t29 = load ptr, ptr @g_toks %t30 = load i32, ptr @g_pi %t31 = add i32 %t30, 3 %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t31, %t35 br i1 %t36, label %ixok4, label %ixbad5 ixbad5: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str1656, 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 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp ne 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 %t28 br i1 %t44, label %scend7, label %sc6 sc6: %t46 = load ptr, ptr @g_toks %t47 = load i32, ptr @g_pi %t48 = add i32 %t47, 4 %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 %ixok8, label %ixbad9 ixbad9: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str1657, i32 %t48, i32 %t52) call void @exit(i32 1) unreachable ixok8: %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 @.str1658) %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 %t28 br label %scend7 scend7: %t64 = load i32, ptr %t28 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then10, label %ifend12 then10: call void @fn_rr_shape() br label %ifend12 ifend12: %t66 = load i32, ptr @g_pi %t67 = add i32 %t66, 5 store i32 %t67, ptr %t68 store ptr @.str1659, ptr %t69 br label %wcond13 wcond13: %t70 = icmp ne i32 1, 0 br i1 %t70, label %wbody14, label %wend15 wbody14: %t71 = load ptr, ptr @g_toks %t72 = load i32, ptr %t68 %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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str1660, 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_Tok, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then18, label %ifend20 then18: call void @fn_rr_shape() br label %ifend20 ifend20: %t86 = load ptr, ptr %t69 %t87 = call i64 @strlen(ptr %t86) %t88 = trunc i64 %t87 to i32 %t89 = icmp sgt i32 %t88, 0 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then21, label %ifend23 then21: %t92 = load ptr, ptr %t69 store i32 710, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1661) store i32 0, ptr @lp_site store ptr %t93, ptr %t69 br label %ifend23 ifend23: %t94 = load ptr, ptr %t69 %t95 = load ptr, ptr @g_toks %t96 = load i32, ptr %t68 %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 %ixok24, label %ixbad25 ixbad25: %t102 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str1663, i32 %t96, i32 %t100) call void @exit(i32 1) unreachable ixok24: %t103 = getelementptr inbounds ptr, ptr %t98, i32 %t96 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Tok, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 store i32 711, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t94, ptr %t106) store i32 0, ptr @lp_site store ptr %t107, ptr %t69 %t108 = load ptr, ptr @g_toks %t109 = load i32, ptr %t68 %t110 = add i32 %t109, 1 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp ult i32 %t110, %t114 br i1 %t115, label %ixok26, label %ixbad27 ixbad27: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str1664, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok26: %t117 = getelementptr inbounds ptr, ptr %t112, i32 %t110 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %Cmp_Tok, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str1665) %t122 = icmp eq i32 %t121, 0 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then28, label %ifend30 then28: br label %wend15 ifend30: %t125 = load i32, ptr %t68 %t126 = add i32 %t125, 2 store i32 %t126, ptr %t68 br label %wcond13 wend15: %t128 = load ptr, ptr @g_toks %t129 = load i32, ptr %t68 %t130 = add i32 %t129, 1 %t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok31, label %ixbad32 ixbad32: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str1666, 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_Tok, ptr %t138, i32 0, i32 1 %t140 = load ptr, ptr %t139 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str1667) %t142 = icmp eq 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 %t127 br i1 %t144, label %scend34, label %sc33 sc33: %t146 = load ptr, ptr @g_toks %t147 = load i32, ptr %t68 %t148 = add i32 %t147, 2 %t149 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t148, %t152 br i1 %t153, label %ixok35, label %ixbad36 ixbad36: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str1668, i32 %t148, i32 %t152) call void @exit(i32 1) unreachable ixok35: %t155 = getelementptr inbounds ptr, ptr %t150, i32 %t148 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Tok, ptr %t156, i32 0, i32 0 %t158 = load i32, ptr %t157 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t127 br label %scend34 scend34: %t163 = load i32, ptr %t127 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then37, label %ifend39 then37: call void @fn_rr_shape() br label %ifend39 ifend39: %t165 = load ptr, ptr @g_toks %t166 = load i32, ptr %t68 %t167 = add i32 %t166, 2 %t168 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t167, %t171 br i1 %t172, label %ixok40, label %ixbad41 ixbad41: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str1669, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok40: %t174 = getelementptr inbounds ptr, ptr %t169, i32 %t167 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %Cmp_Tok, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 store ptr %t177, ptr %t178 %t179 = load i32, ptr %t68 %t180 = add i32 %t179, 1 store i32 %t180, ptr @g_pi %t181 = load ptr, ptr @g_toks %t182 = load i32, ptr @g_pi %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 %ixok42, label %ixbad43 ixbad43: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str1670, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok42: %t189 = getelementptr inbounds ptr, ptr %t184, i32 %t182 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Tok, ptr %t190, i32 0, i32 1 store ptr @.str1671, ptr %t191 %t192 = call ptr @fn_parse_fn() store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t193 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 1 %t196 = load ptr, ptr %t178 store i32 712, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr @.str1672, ptr %t196) store i32 0, ptr @lp_site store i32 713, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str1673) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t13 %t200 = load ptr, ptr %t27 %t201 = load ptr, ptr %t69 %t202 = call ptr @fn_rr_suffix(ptr %t199, ptr %t200, ptr %t201) store i32 714, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t198, ptr %t202) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) %t204 = load ptr, ptr @g_g_mc_gen_reg %t205 = call ptr @fn_rr_mc_suffix(ptr %t204) store i32 715, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t203, ptr %t205) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) store ptr %t206, ptr %t195 %t207 = load ptr, ptr %t193 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 10 store i32 1, ptr %t208 %t209 = load ptr, ptr @g_g_red_nodes %t210 = load ptr, ptr %t193 %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 %grow44, label %put45 grow44: %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 716, 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 %put45 put45: %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 %t229 = load ptr, ptr @g_g_red_state %t230 = load ptr, ptr %t27 %t231 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t232 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 2 %t233 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t234 = load i32, ptr %t231 %t235 = load i32, ptr %t232 %t236 = icmp sge i32 %t234, %t235 br i1 %t236, label %grow46, label %put47 grow46: %t237 = mul i32 %t235, 2 %t238 = icmp eq i32 %t235, 0 %t239 = select i1 %t238, i32 8, i32 %t237 %t240 = getelementptr ptr, ptr null, i32 1 %t241 = ptrtoint ptr %t240 to i64 %t242 = zext i32 %t239 to i64 %t243 = mul i64 %t242, %t241 %t244 = load ptr, ptr %t233 store i32 717, ptr @lp_site %t245 = call ptr @lp_realloc(ptr %t244, i64 %t243) store i32 0, ptr @lp_site store ptr %t245, ptr %t233 store i32 %t239, ptr %t232 br label %put47 put47: %t246 = load ptr, ptr %t233 %t247 = getelementptr inbounds ptr, ptr %t246, i32 %t234 store ptr %t230, ptr %t247 %t248 = add i32 %t234, 1 store i32 %t248, ptr %t231 %t249 = load ptr, ptr @g_g_red_action %t250 = load ptr, ptr %t178 %t251 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 2 %t253 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 %t254 = load i32, ptr %t251 %t255 = load i32, ptr %t252 %t256 = icmp sge i32 %t254, %t255 br i1 %t256, label %grow48, label %put49 grow48: %t257 = mul i32 %t255, 2 %t258 = icmp eq i32 %t255, 0 %t259 = select i1 %t258, i32 8, i32 %t257 %t260 = getelementptr ptr, ptr null, i32 1 %t261 = ptrtoint ptr %t260 to i64 %t262 = zext i32 %t259 to i64 %t263 = mul i64 %t262, %t261 %t264 = load ptr, ptr %t253 store i32 718, ptr @lp_site %t265 = call ptr @lp_realloc(ptr %t264, i64 %t263) store i32 0, ptr @lp_site store ptr %t265, ptr %t253 store i32 %t259, ptr %t252 br label %put49 put49: %t266 = load ptr, ptr %t253 %t267 = getelementptr inbounds ptr, ptr %t266, i32 %t254 store ptr %t250, ptr %t267 %t268 = add i32 %t254, 1 store i32 %t268, ptr %t251 %t269 = load ptr, ptr @g_g_red_rec %t270 = load ptr, ptr %t13 %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 %grow50, label %put51 grow50: %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 719, 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 %put51 put51: %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 %t289 = load ptr, ptr @g_g_red_tbl %t290 = load ptr, ptr %t69 %t291 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 1 %t292 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 2 %t293 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 0 %t294 = load i32, ptr %t291 %t295 = load i32, ptr %t292 %t296 = icmp sge i32 %t294, %t295 br i1 %t296, label %grow52, label %put53 grow52: %t297 = mul i32 %t295, 2 %t298 = icmp eq i32 %t295, 0 %t299 = select i1 %t298, i32 8, i32 %t297 %t300 = getelementptr ptr, ptr null, i32 1 %t301 = ptrtoint ptr %t300 to i64 %t302 = zext i32 %t299 to i64 %t303 = mul i64 %t302, %t301 %t304 = load ptr, ptr %t293 store i32 720, ptr @lp_site %t305 = call ptr @lp_realloc(ptr %t304, i64 %t303) store i32 0, ptr @lp_site store ptr %t305, ptr %t293 store i32 %t299, ptr %t292 br label %put53 put53: %t306 = load ptr, ptr %t293 %t307 = getelementptr inbounds ptr, ptr %t306, i32 %t294 store ptr %t290, ptr %t307 %t308 = add i32 %t294, 1 store i32 %t308, ptr %t291 %t309 = load ptr, ptr @g_g_red_tgt %t310 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 %t311 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 2 %t312 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 0 %t313 = load i32, ptr %t310 %t314 = load i32, ptr %t311 %t315 = icmp sge i32 %t313, %t314 br i1 %t315, label %grow54, label %put55 grow54: %t316 = mul i32 %t314, 2 %t317 = icmp eq i32 %t314, 0 %t318 = select i1 %t317, i32 8, i32 %t316 %t319 = getelementptr ptr, ptr null, i32 1 %t320 = ptrtoint ptr %t319 to i64 %t321 = zext i32 %t318 to i64 %t322 = mul i64 %t321, %t320 %t323 = load ptr, ptr %t312 store i32 721, ptr @lp_site %t324 = call ptr @lp_realloc(ptr %t323, i64 %t322) store i32 0, ptr @lp_site store ptr %t324, ptr %t312 store i32 %t318, ptr %t311 br label %put55 put55: %t325 = load ptr, ptr %t312 %t326 = getelementptr inbounds ptr, ptr %t325, i32 %t313 store ptr null, ptr %t326 %t327 = add i32 %t313, 1 store i32 %t327, ptr %t310 %t328 = load ptr, ptr @g_g_red_mc %t329 = load ptr, ptr @g_g_mc_gen_reg %t330 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 1 %t331 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 2 %t332 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 0 %t333 = load i32, ptr %t330 %t334 = load i32, ptr %t331 %t335 = icmp sge i32 %t333, %t334 br i1 %t335, label %grow56, label %put57 grow56: %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 722, 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 %put57 put57: %t345 = load ptr, ptr %t332 %t346 = getelementptr inbounds ptr, ptr %t345, i32 %t333 store ptr %t329, ptr %t346 %t347 = add i32 %t333, 1 store i32 %t347, ptr %t330 %t348 = load ptr, ptr @g_prog %t349 = load ptr, ptr %t193 %t350 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 1 %t351 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 2 %t352 = getelementptr inbounds %LSlice, ptr %t348, i32 0, i32 0 %t353 = load i32, ptr %t350 %t354 = load i32, ptr %t351 %t355 = icmp sge i32 %t353, %t354 br i1 %t355, label %grow58, label %put59 grow58: %t356 = mul i32 %t354, 2 %t357 = icmp eq i32 %t354, 0 %t358 = select i1 %t357, i32 8, i32 %t356 %t359 = getelementptr ptr, ptr null, i32 1 %t360 = ptrtoint ptr %t359 to i64 %t361 = zext i32 %t358 to i64 %t362 = mul i64 %t361, %t360 %t363 = load ptr, ptr %t352 store i32 723, ptr @lp_site %t364 = call ptr @lp_realloc(ptr %t363, i64 %t362) store i32 0, ptr @lp_site store ptr %t364, ptr %t352 store i32 %t358, ptr %t351 br label %put59 put59: %t365 = load ptr, ptr %t352 %t366 = getelementptr inbounds ptr, ptr %t365, i32 %t353 store ptr %t349, ptr %t366 %t367 = add i32 %t353, 1 store i32 %t367, ptr %t350 br label %ret ret: ret void } define ptr @fn_rr_mc_suffix(ptr %arg_reg) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_reg, 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 @.str1674, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 store i32 724, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str1675, ptr %t5) store i32 0, ptr @lp_site store ptr %t6, ptr %retval br label %ret ret: %t7 = load ptr, ptr %retval ret ptr %t7 } define i32 @fn_rr_same(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t15 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, 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: %t16 = load ptr, ptr %t0 %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 %t15 br i1 %t19, label %sc5, label %scend6 sc5: %t21 = load ptr, ptr %t1 %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 %t15 br label %scend6 scend6: %t26 = load i32, ptr %t15 store i32 %t26, ptr %retval br label %ret ifend4: %t27 = load ptr, ptr %t0 %t28 = load ptr, ptr %t1 %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) store i32 %t29, ptr %retval br label %ret ret: %t30 = load i32, ptr %retval ret i32 %t30 } define void @fn_rr_shape() { entry: call void @fn_perr(ptr @.str1677) br label %ret ret: ret void } define ptr @fn_rr_suffix(ptr %arg_rec, ptr %arg_st, ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_st, ptr %t1 store ptr %arg_path, ptr %t2 store ptr @.str1678, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t2 %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 %t2 %t13 = load i32, ptr %t4 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = icmp eq i32 %t16, 46 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %else4 then3: %t20 = load ptr, ptr %t3 store i32 725, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1679) store i32 0, ptr @lp_site store ptr %t21, ptr %t3 br label %ifend5 else4: %t22 = load ptr, ptr %t3 %t23 = load ptr, ptr %t2 %t24 = load i32, ptr %t4 %t25 = load i32, ptr %t4 %t26 = add i32 %t25, 1 store i32 726, ptr @lp_site %t27 = call ptr @lp_str_slice(ptr %t23, i32 %t24, i32 %t26) store i32 0, ptr @lp_site store i32 727, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t22, ptr %t27) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store ptr %t28, ptr %t3 br label %ifend5 ifend5: %t29 = load i32, ptr %t4 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t4 br label %wcond0 wend2: %t31 = load ptr, ptr %t0 store i32 728, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1681) store i32 0, ptr @lp_site %t33 = load ptr, ptr %t1 store i32 729, 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 730, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1682) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t3 store i32 731, 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 ptr %t37, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define ptr @fn_rr_wrap_name(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_i, ptr %t0 %t1 = load ptr, ptr @g_g_red_action %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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1684, 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 i32 732, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str1683, ptr %t10) store i32 0, ptr @lp_site store i32 733, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1686) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr @g_g_red_rec %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 %ixok2, label %ixbad3 ixbad3: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1687, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr @g_g_red_state %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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1688, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok4: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = load ptr, ptr @g_g_red_tbl %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 %ixok6, label %ixbad7 ixbad7: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1689, 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 = call ptr @fn_rr_suffix(ptr %t22, ptr %t32, ptr %t42) store i32 734, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t12, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t45 = load ptr, ptr @g_g_red_mc %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 %ixok8, label %ixbad9 ixbad9: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str1690, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok8: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_rr_mc_suffix(ptr %t54) store i32 735, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t44, ptr %t55) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define void @fn_rr_field_attr(ptr %arg_comp, ptr %arg_f, i32 %arg_is_target, i32 %arg_is_column) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_comp, ptr %t0 store ptr %arg_f, ptr %t1 store i32 %arg_is_target, ptr %t2 store i32 %arg_is_column, ptr %t3 %t4 = load i32, ptr %t2 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr @g_g_tgt_comp %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 %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 736, 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 @g_g_tgt_field %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 %grow5, label %put6 grow5: %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 737, 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 %put6 put6: %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_tgt_node %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 %grow7, label %put8 grow7: %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 738, 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 %put8 put8: %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 %ifend2 ifend2: %t68 = load i32, ptr %t3 %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then9, label %ifend11 then9: %t70 = load ptr, ptr @g_g_col_comp %t71 = load ptr, ptr %t0 %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 %grow12, label %put13 grow12: %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 739, 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 %put13 put13: %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_col_field %t91 = load ptr, ptr %t1 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t95 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 2 %t96 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t97 = load i32, ptr %t94 %t98 = load i32, ptr %t95 %t99 = icmp sge i32 %t97, %t98 br i1 %t99, label %grow14, label %put15 grow14: %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 740, 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 %put15 put15: %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 br label %ifend11 ifend11: br label %ret ret: ret void } define i32 @fn_rr_is_column(ptr %arg_comp, ptr %arg_field) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t10 = alloca i32 store ptr %arg_comp, 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 @g_g_col_comp %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_col_comp %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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1692, 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 %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_col_field %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1693, 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 %t1 %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: 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_rr_decl(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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1694, 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, 8 %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 ptr @fn_rr_field_ty(ptr %arg_ty, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t9 = alloca i32 %t19 = alloca i32 store ptr %arg_ty, ptr %t0 store ptr %arg_name, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_rr_decl(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: store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr %t4 %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 %t4 %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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1695, 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, 1 %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: %t38 = load ptr, ptr %t4 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t9 %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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str1696, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok10: %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 = load ptr, ptr %t1 %t53 = call i32 @lp_str_eq(ptr %t51, ptr %t52) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t19 br label %scend9 scend9: %t56 = load i32, ptr %t19 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then12, label %ifend14 then12: %t58 = load ptr, ptr %t4 %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 %ixok15, label %ixbad16 ixbad16: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1697, 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 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 3 %t71 = load ptr, ptr %t70 store ptr %t71, ptr %retval br label %ret ifend14: %t72 = load i32, ptr %t9 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t9 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t74 = load ptr, ptr %retval ret ptr %t74 } define i32 @fn_rr_is_verb(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_rv_nodes %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_rv_nodes %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1698, 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 i32 @fn_rr_is_row_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 i64 @strlen(ptr %t8) %t10 = trunc i64 %t9 to i32 %t11 = icmp sgt i32 %t10, 4 %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: %t18 = load ptr, ptr %t0 store i32 741, ptr @lp_site %t19 = call ptr @lp_str_slice(ptr %t18, i32 0, i32 4) store i32 0, ptr @lp_site %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str1700) call void @lp_free(ptr %t19) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t1 br label %scend3 scend3: %t23 = load i32, ptr %t1 store i32 %t23, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define ptr @fn_rr_mod(ptr %arg_file) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_file, 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 = 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 @.str1701, ptr %retval br label %ret ifend2: %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_rr_mod_name(ptr %arg_file) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_file, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_rr_mod(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %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 @.str1702, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t3 store i32 742, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str1703, ptr %t10) store i32 0, ptr @lp_site store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define void @fn_rows_finish_checks() { entry: %t0 = alloca i32 %t18 = alloca ptr %t29 = alloca ptr %t72 = alloca i32 %t151 = alloca ptr %t152 = alloca i32 %t153 = alloca i32 %t154 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_tgt_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_tgt_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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1705, 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_tgt_comp %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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1706, 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 %t29 %t31 = call i32 @fn_act_index(ptr %t30) %t32 = icmp slt i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then7, label %ifend9 then7: %t35 = load ptr, ptr %t18 %t36 = load ptr, ptr %t29 store i32 743, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str1707, ptr %t36) store i32 0, ptr @lp_site store i32 744, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1709) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t18 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 store i32 745, 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 746, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1710) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = load ptr, ptr %t29 store i32 747, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t43, ptr %t44) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) store i32 748, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str1711) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) call void @fn_act_err(ptr %t35, ptr %t46) br label %ifend9 ifend9: %t47 = load ptr, ptr %t18 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1712) %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: %t54 = load ptr, ptr %t18 %t55 = load ptr, ptr %t29 store i32 749, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str1713, ptr %t55) store i32 0, ptr @lp_site store i32 750, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str1714) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = load ptr, ptr %t18 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 store i32 751, 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 752, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str1715) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t18 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 %t65 = load ptr, ptr %t64 store i32 753, 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 754, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1716) 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 3 %t70 = load ptr, ptr %t69 store i32 755, 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) call void @fn_act_err(ptr %t54, ptr %t71) br label %ifend12 ifend12: store i32 0, ptr %t72 br label %wcond13 wcond13: %t73 = load i32, ptr %t72 %t74 = load i32, ptr %t0 %t75 = icmp slt i32 %t73, %t74 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %wbody14, label %wend15 wbody14: %t78 = load ptr, ptr @g_g_tgt_comp %t79 = load i32, ptr %t72 %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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str1717, 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 ptr, ptr %t29 %t89 = call i32 @lp_str_eq(ptr %t87, ptr %t88) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then18, label %ifend20 then18: %t91 = load ptr, ptr %t18 %t92 = load ptr, ptr %t29 store i32 756, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1718) store i32 0, ptr @lp_site %t94 = load ptr, ptr @g_g_tgt_field %t95 = load i32, ptr %t72 %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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str1719, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok21: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 store i32 757, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t93, ptr %t103) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store i32 758, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1720) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t18 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 store i32 759, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t105, ptr %t108) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) store i32 760, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1721) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) call void @fn_act_err(ptr %t91, ptr %t110) br label %ifend20 ifend20: %t111 = load i32, ptr %t72 %t112 = add i32 %t111, 1 store i32 %t112, ptr %t72 br label %wcond13 wend15: %t113 = load i32, ptr %t0 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t0 br label %wcond23 wcond23: %t115 = load i32, ptr %t0 %t116 = load ptr, ptr @g_g_rv_nodes %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 %wbody24, label %wend25 wbody24: %t122 = load ptr, ptr @g_g_rv_nodes %t123 = load i32, ptr %t0 %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 %ixok26, label %ixbad27 ixbad27: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str1722, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok26: %t130 = getelementptr inbounds ptr, ptr %t125, i32 %t123 %t131 = load ptr, ptr %t130 call void @fn_rv_check(ptr %t131) %t132 = load i32, ptr %t0 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t0 br label %wcond23 wend25: store i32 0, ptr %t0 br label %wcond28 wcond28: %t134 = load i32, ptr %t0 %t135 = load ptr, ptr @g_prog %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp slt i32 %t134, %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 @g_prog %t142 = load i32, ptr %t0 %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 %ixok31, label %ixbad32 ixbad32: %t148 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str1723, i32 %t142, i32 %t146) call void @exit(i32 1) unreachable ixok31: %t149 = getelementptr inbounds ptr, ptr %t144, i32 %t142 %t150 = load ptr, ptr %t149 store ptr %t150, ptr %t151 %t157 = load ptr, ptr %t151 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 0 %t159 = load i32, ptr %t158 %t160 = icmp eq i32 %t159, 4 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t156 br i1 %t162, label %sc33, label %scend34 sc33: %t164 = load ptr, ptr %t151 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 13 %t166 = load i32, ptr %t165 %t167 = icmp sge 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 %t156 br label %scend34 scend34: %t171 = load i32, ptr %t156 %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t155 br i1 %t172, label %sc35, label %scend36 sc35: %t174 = load ptr, ptr %t151 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 11 %t176 = load ptr, ptr %t175 %t177 = icmp eq ptr %t176, null %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t155 br label %scend36 scend36: %t181 = load i32, ptr %t155 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t154 br i1 %t182, label %sc37, label %scend38 sc37: %t184 = load ptr, ptr %t151 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 1 %t186 = load ptr, ptr %t185 %t187 = call i32 @fn_rr_is_verb(ptr %t186) %t188 = icmp eq i32 %t187, 0 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t154 br label %scend38 scend38: %t192 = load i32, ptr %t154 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t153 br i1 %t193, label %sc39, label %scend40 sc39: %t195 = load ptr, ptr %t151 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 1 %t197 = load ptr, ptr %t196 %t198 = call i32 @fn_mc_is_fn(ptr %t197) %t199 = icmp eq i32 %t198, 0 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t153 br label %scend40 scend40: %t203 = load i32, ptr %t153 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t152 br i1 %t204, label %sc41, label %scend42 sc41: %t206 = load ptr, ptr %t151 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 %t208 = load ptr, ptr %t207 %t209 = call i32 @fn_str_starts(ptr %t208, ptr @.str1724) %t210 = icmp eq i32 %t209, 0 %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t152 br label %scend42 scend42: %t214 = load i32, ptr %t152 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then43, label %ifend45 then43: %t216 = load ptr, ptr %t151 call void @fn_rr_no_row_param(ptr %t216) br label %ifend45 ifend45: %t217 = load i32, ptr %t0 %t218 = add i32 %t217, 1 store i32 %t218, ptr %t0 br label %wcond28 wend30: br label %ret ret: ret void } define void @fn_rv_check(ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t12 = alloca i32 %t52 = alloca i32 %t85 = alloca ptr %t88 = alloca ptr %t89 = alloca i32 %t131 = alloca i32 %t153 = alloca ptr %t160 = alloca i32 store ptr %arg_f, ptr %t0 store ptr null, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str1725, 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 %t1 %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 %t12 br label %scend6 scend6: %t36 = load i32, ptr %t12 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then7, label %ifend9 then7: %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 %t2 %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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str1726, 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 %t1 br label %ifend9 ifend9: %t50 = load i32, ptr %t2 %t51 = add i32 %t50, 1 store i32 %t51, ptr %t2 br label %wcond0 wend2: %t53 = load ptr, ptr %t1 %t54 = icmp eq 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 %t52 br i1 %t56, label %scend13, label %sc12 sc12: %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = load ptr, ptr %t59 %t61 = call i32 @fn_rr_is_row_ty(ptr %t60) %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 %t52 br label %scend13 scend13: %t66 = load i32, ptr %t52 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then14, label %ifend16 then14: %t68 = load ptr, ptr %t0 %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 store i32 761, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str1727, ptr %t71) store i32 0, ptr @lp_site store i32 762, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str1729) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) store i32 763, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str1730) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) store i32 764, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1731) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) call void @fn_act_err(ptr %t68, ptr %t75) br label %ifend16 ifend16: %t76 = load ptr, ptr %t1 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 3 %t78 = load ptr, ptr %t77 %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 3 %t81 = load ptr, ptr %t80 %t82 = call i64 @strlen(ptr %t81) %t83 = trunc i64 %t82 to i32 store i32 765, ptr @lp_site %t84 = call ptr @lp_str_slice(ptr %t78, i32 4, i32 %t83) store i32 0, ptr @lp_site store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_rr_decl(ptr %t86) store ptr %t87, ptr %t88 %t90 = load ptr, ptr %t88 %t91 = icmp ne 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 %sc17, label %scend18 sc17: %t95 = load ptr, ptr %t88 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 9 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_rr_mod(ptr %t97) %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 9 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_rr_mod(ptr %t101) %t103 = call i32 @lp_str_eq(ptr %t98, ptr %t102) %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 %t89 br label %scend18 scend18: %t108 = load i32, ptr %t89 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then19, label %ifend21 then19: %t110 = load ptr, ptr %t0 %t111 = load ptr, ptr %t0 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 1 %t113 = load ptr, ptr %t112 store i32 766, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str1732, ptr %t113) store i32 0, ptr @lp_site store i32 767, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str1733) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t0 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 9 %t118 = load ptr, ptr %t117 %t119 = call ptr @fn_rr_mod_name(ptr %t118) store i32 768, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t115, ptr %t119) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) store i32 769, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str1734) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = load ptr, ptr %t85 store i32 770, 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 771, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str1735) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = load ptr, ptr %t88 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 9 %t127 = load ptr, ptr %t126 %t128 = call ptr @fn_rr_mod_name(ptr %t127) store i32 772, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t124, ptr %t128) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store i32 773, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1736) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) call void @fn_act_err(ptr %t110, ptr %t130) br label %ifend21 ifend21: store i32 0, ptr %t2 store i32 0, ptr %t131 br label %wcond22 wcond22: %t132 = load i32, ptr %t2 %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 slt i32 %t132, %t137 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %wbody23, label %wend24 wbody23: %t141 = load ptr, ptr %t0 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = load i32, ptr %t2 %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 %ixok25, label %ixbad26 ixbad26: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str1737, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok25: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr %t151 store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 0 %t156 = load i32, ptr %t155 %t157 = icmp eq i32 %t156, 5 %t158 = zext i1 %t157 to i32 %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then27, label %ifend29 then27: %t161 = load i32, ptr %t131 %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 %t160 br i1 %t164, label %sc30, label %scend31 sc30: %t166 = load ptr, ptr %t153 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 3 %t168 = load ptr, ptr %t167 %t169 = call i32 @fn_rr_is_row_ty(ptr %t168) %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t160 br label %scend31 scend31: %t172 = load i32, ptr %t160 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then32, label %ifend34 then32: %t174 = load ptr, ptr %t0 %t175 = load ptr, ptr %t0 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 store i32 774, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str1738, ptr %t177) store i32 0, ptr @lp_site store i32 775, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str1739) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t153 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 store i32 776, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t179, ptr %t182) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) store i32 777, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str1740) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) call void @fn_act_err(ptr %t174, ptr %t184) br label %ifend34 ifend34: %t185 = load i32, ptr %t131 %t186 = add i32 %t185, 1 store i32 %t186, ptr %t131 br label %ifend29 ifend29: %t187 = load i32, ptr %t2 %t188 = add i32 %t187, 1 store i32 %t188, ptr %t2 br label %wcond22 wend24: br label %ret ret: ret void } define void @fn_rr_no_row_param(ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca i32 %t23 = alloca ptr %t24 = alloca i32 %t49 = alloca ptr store ptr %arg_f, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1741, 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 %t25 = load ptr, ptr %t23 %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 %t24 br i1 %t30, label %sc5, label %scend6 sc5: %t32 = load ptr, ptr %t23 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3 %t34 = load ptr, ptr %t33 %t35 = call i32 @fn_rr_is_row_ty(ptr %t34) %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 %t23 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 %t43 = load ptr, ptr %t23 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 %t45 = load ptr, ptr %t44 %t46 = call i64 @strlen(ptr %t45) %t47 = trunc i64 %t46 to i32 store i32 778, ptr @lp_site %t48 = call ptr @lp_str_slice(ptr %t42, i32 4, i32 %t47) store i32 0, ptr @lp_site store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 store i32 779, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str1743) store i32 0, ptr @lp_site %t55 = load ptr, ptr %t23 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 store i32 780, 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) store i32 781, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str1744) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t49 store i32 782, 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 783, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str1745) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t49 store i32 784, 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 785, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1746) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_act_err(ptr %t50, ptr %t65) br label %ifend9 ifend9: %t66 = load i32, ptr %t1 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_rr_check(i32 %arg_i) { entry: %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca ptr %t33 = alloca ptr %t44 = alloca ptr %t55 = alloca ptr %t67 = alloca ptr %t95 = alloca ptr %t96 = alloca i32 %t140 = alloca ptr %t166 = alloca ptr %t192 = alloca i32 %t198 = alloca i32 %t199 = alloca i32 %t200 = alloca i32 %t201 = alloca i32 %t202 = 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1747, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1748, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1749, 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 @g_g_red_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 %ixok6, label %ixbad7 ixbad7: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str1750, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok6: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %t44 %t45 = load ptr, ptr @g_g_red_tbl %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 %ixok8, label %ixbad9 ixbad9: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str1751, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok8: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t44 store i32 786, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str1752, ptr %t56) store i32 0, ptr @lp_site store i32 787, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str1754) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load ptr, ptr %t22 store i32 788, 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 789, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str1755) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t55 store i32 790, 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 791, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str1756) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t33 store i32 792, 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 ptr %t66, ptr %t67 %t68 = load ptr, ptr %t33 %t69 = call i32 @fn_act_index(ptr %t68) %t70 = icmp slt i32 %t69, 0 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then10, label %ifend12 then10: %t73 = load ptr, ptr %t11 %t74 = load ptr, ptr %t67 store i32 793, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1757) store i32 0, ptr @lp_site %t76 = load ptr, ptr %t33 store i32 794, 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 795, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1758) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t79 = load ptr, ptr %t33 store i32 796, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) store i32 797, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1759) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) call void @fn_act_err(ptr %t73, ptr %t81) br label %ifend12 ifend12: %t82 = load ptr, ptr %t22 %t83 = call i32 @fn_is_state_ty(ptr %t82) %t84 = icmp eq i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then13, label %ifend15 then13: %t87 = load ptr, ptr %t11 %t88 = load ptr, ptr %t67 store i32 798, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1760) store i32 0, ptr @lp_site %t90 = load ptr, ptr %t22 store i32 799, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t89, ptr %t90) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) store i32 800, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str1761) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) call void @fn_act_err(ptr %t87, ptr %t92) br label %ifend15 ifend15: %t93 = load ptr, ptr %t22 %t94 = call ptr @fn_rr_decl(ptr %t93) store ptr %t94, ptr %t95 %t97 = load ptr, ptr %t95 %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 %t96 br i1 %t100, label %sc16, label %scend17 sc16: %t102 = load ptr, ptr %t95 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 9 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_rr_mod(ptr %t104) %t106 = load ptr, ptr %t11 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 9 %t108 = load ptr, ptr %t107 %t109 = call ptr @fn_rr_mod(ptr %t108) %t110 = call i32 @lp_str_eq(ptr %t105, ptr %t109) %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 %t96 br label %scend17 scend17: %t115 = load i32, ptr %t96 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then18, label %ifend20 then18: %t117 = load ptr, ptr %t11 %t118 = load ptr, ptr %t67 store i32 801, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str1762) store i32 0, ptr @lp_site %t120 = load ptr, ptr %t22 store i32 802, 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 803, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str1763) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = load ptr, ptr %t95 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 9 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_rr_mod_name(ptr %t125) store i32 804, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t122, ptr %t126) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) store i32 805, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str1764) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) %t129 = load ptr, ptr %t11 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 9 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_rr_mod_name(ptr %t131) store i32 806, 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 807, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1765) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) call void @fn_act_err(ptr %t117, ptr %t134) br label %ifend20 ifend20: %t135 = load ptr, ptr %t11 %t136 = load ptr, ptr %t67 %t137 = load ptr, ptr %t22 %t138 = load ptr, ptr %t55 %t139 = call ptr @fn_rr_path_ty(ptr %t135, ptr %t136, ptr %t137, ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = load ptr, ptr %t44 store i32 808, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str1766, ptr %t142) store i32 0, ptr @lp_site %t144 = call i32 @lp_str_eq(ptr %t141, ptr %t143) call void @lp_free(ptr %t143) %t145 = icmp eq i32 %t144, 0 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then21, label %ifend23 then21: %t148 = load ptr, ptr %t11 %t149 = load ptr, ptr %t67 store i32 809, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str1767) store i32 0, ptr @lp_site %t151 = load ptr, ptr %t22 store i32 810, 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 811, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str1768) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) %t154 = load ptr, ptr %t55 store i32 812, 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 813, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str1769) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) %t157 = load ptr, ptr %t140 %t158 = call ptr @fn_rr_ty_text(ptr %t157) store i32 814, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t156, ptr %t158) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) store i32 815, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str1770) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) %t161 = load ptr, ptr %t44 store i32 816, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t160, ptr %t161) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) store i32 817, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1771) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) call void @fn_act_err(ptr %t148, ptr %t163) br label %ifend23 ifend23: %t164 = load ptr, ptr %t33 %t165 = call ptr @fn_rr_target(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 %t168 = icmp eq ptr %t167, null %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then24, label %ifend26 then24: %t171 = load ptr, ptr %t11 %t172 = load ptr, ptr %t67 store i32 818, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str1772) store i32 0, ptr @lp_site %t174 = load ptr, ptr %t33 store i32 819, 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 820, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1773) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) store i32 821, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str1774) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) store i32 822, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str1775) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) call void @fn_act_err(ptr %t171, ptr %t178) br label %ifend26 ifend26: %t179 = load ptr, ptr @g_g_red_tgt %t180 = load i32, ptr %t0 %t181 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t184 = load i32, ptr %t183 %t185 = icmp ult i32 %t180, %t184 br i1 %t185, label %ixok27, label %ixbad28 ixbad28: %t186 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t186, ptr @.fmt_bounds, ptr @.str1776, i32 %t180, i32 %t184) call void @exit(i32 1) unreachable ixok27: %t187 = getelementptr inbounds ptr, ptr %t182, i32 %t180 %t188 = load ptr, ptr %t166 store ptr %t188, ptr %t187 %t189 = load i32, ptr %t0 %t190 = load ptr, ptr %t11 %t191 = load ptr, ptr %t67 call void @fn_rr_params(i32 %t189, ptr %t190, ptr %t191) store i32 0, ptr %t192 br label %wcond29 wcond29: %t193 = load i32, ptr %t192 %t194 = load i32, ptr %t0 %t195 = icmp slt i32 %t193, %t194 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %wbody30, label %wend31 wbody30: %t203 = load ptr, ptr @g_g_red_rec %t204 = load i32, ptr %t192 %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 %ixok32, label %ixbad33 ixbad33: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str1777, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok32: %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 %t202 br i1 %t215, label %sc34, label %scend35 sc34: %t217 = load ptr, ptr @g_g_red_state %t218 = load i32, ptr %t192 %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 %ixok36, label %ixbad37 ixbad37: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str1778, i32 %t218, i32 %t222) call void @exit(i32 1) unreachable ixok36: %t225 = getelementptr inbounds ptr, ptr %t220, i32 %t218 %t226 = load ptr, ptr %t225 %t227 = load ptr, ptr %t22 %t228 = call i32 @lp_str_eq(ptr %t226, ptr %t227) %t229 = icmp ne i32 %t228, 0 %t230 = zext i1 %t229 to i32 store i32 %t230, ptr %t202 br label %scend35 scend35: %t231 = load i32, ptr %t202 %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t201 br i1 %t232, label %sc38, label %scend39 sc38: %t234 = load ptr, ptr @g_g_red_action %t235 = load i32, ptr %t192 %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 %ixok40, label %ixbad41 ixbad41: %t241 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str1779, i32 %t235, i32 %t239) call void @exit(i32 1) unreachable ixok40: %t242 = getelementptr inbounds ptr, ptr %t237, i32 %t235 %t243 = load ptr, ptr %t242 %t244 = load ptr, ptr %t33 %t245 = call i32 @lp_str_eq(ptr %t243, ptr %t244) %t246 = icmp ne i32 %t245, 0 %t247 = zext i1 %t246 to i32 store i32 %t247, ptr %t201 br label %scend39 scend39: %t248 = load i32, ptr %t201 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t200 br i1 %t249, label %sc42, label %scend43 sc42: %t251 = load ptr, ptr @g_g_red_rec %t252 = load i32, ptr %t192 %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 %ixok44, label %ixbad45 ixbad45: %t258 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str1780, i32 %t252, i32 %t256) call void @exit(i32 1) unreachable ixok44: %t259 = getelementptr inbounds ptr, ptr %t254, i32 %t252 %t260 = load ptr, ptr %t259 %t261 = load ptr, ptr %t44 %t262 = call i32 @lp_str_eq(ptr %t260, ptr %t261) %t263 = icmp ne i32 %t262, 0 %t264 = zext i1 %t263 to i32 store i32 %t264, ptr %t200 br label %scend43 scend43: %t265 = load i32, ptr %t200 %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t199 br i1 %t266, label %sc46, label %scend47 sc46: %t268 = load ptr, ptr @g_g_red_tbl %t269 = load i32, ptr %t192 %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 %ixok48, label %ixbad49 ixbad49: %t275 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t275, ptr @.fmt_bounds, ptr @.str1781, i32 %t269, i32 %t273) call void @exit(i32 1) unreachable ixok48: %t276 = getelementptr inbounds ptr, ptr %t271, i32 %t269 %t277 = load ptr, ptr %t276 %t278 = load ptr, ptr %t55 %t279 = call i32 @lp_str_eq(ptr %t277, ptr %t278) %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t199 br label %scend47 scend47: %t282 = load i32, ptr %t199 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t198 br i1 %t283, label %sc50, label %scend51 sc50: %t285 = load ptr, ptr @g_g_red_mc %t286 = load i32, ptr %t192 %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 %ixok52, label %ixbad53 ixbad53: %t292 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str1782, i32 %t286, i32 %t290) call void @exit(i32 1) unreachable ixok52: %t293 = getelementptr inbounds ptr, ptr %t288, i32 %t286 %t294 = load ptr, ptr %t293 %t295 = load ptr, ptr @g_g_red_mc %t296 = load i32, ptr %t0 %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 %ixok54, label %ixbad55 ixbad55: %t302 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t302, ptr @.fmt_bounds, ptr @.str1783, i32 %t296, i32 %t300) call void @exit(i32 1) unreachable ixok54: %t303 = getelementptr inbounds ptr, ptr %t298, i32 %t296 %t304 = load ptr, ptr %t303 %t305 = call i32 @fn_rr_same(ptr %t294, ptr %t304) %t306 = icmp ne i32 %t305, 0 %t307 = zext i1 %t306 to i32 store i32 %t307, ptr %t198 br label %scend51 scend51: %t308 = load i32, ptr %t198 %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then56, label %ifend58 then56: %t310 = load ptr, ptr %t11 %t311 = load ptr, ptr %t67 store i32 823, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str1784) store i32 0, ptr @lp_site %t313 = load ptr, ptr @g_g_red_nodes %t314 = load i32, ptr %t192 %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 %ixok59, label %ixbad60 ixbad60: %t320 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t320, ptr @.fmt_bounds, ptr @.str1785, i32 %t314, i32 %t318) call void @exit(i32 1) unreachable ixok59: %t321 = getelementptr inbounds ptr, ptr %t316, i32 %t314 %t322 = load ptr, ptr %t321 %t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 9 %t324 = load ptr, ptr %t323 store i32 824, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t312, ptr %t324) store i32 0, ptr @lp_site call void @lp_free(ptr %t312) store i32 825, ptr @lp_site %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str1786) store i32 0, ptr @lp_site call void @lp_free(ptr %t325) %t327 = load ptr, ptr @g_g_red_nodes %t328 = load i32, ptr %t192 %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 %ixok61, label %ixbad62 ixbad62: %t334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str1787, i32 %t328, i32 %t332) call void @exit(i32 1) unreachable ixok61: %t335 = getelementptr inbounds ptr, ptr %t330, i32 %t328 %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 8 %t338 = load i32, ptr %t337 %t339 = call ptr @fn_itoa(i32 %t338) store i32 826, ptr @lp_site %t340 = call ptr @lp_str_concat(ptr %t326, ptr %t339) store i32 0, ptr @lp_site call void @lp_free(ptr %t326) store i32 827, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1788) store i32 0, ptr @lp_site call void @lp_free(ptr %t340) call void @fn_act_err(ptr %t310, ptr %t341) br label %ifend58 ifend58: %t342 = load i32, ptr %t192 %t343 = add i32 %t342, 1 store i32 %t343, ptr %t192 br label %wcond29 wend31: br label %ret ret: ret void } define ptr @fn_rr_ty_text(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = 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 ptr @.str1789, 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 = call i64 @strlen(ptr %t7) %t9 = trunc i64 %t8 to i32 %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 i8, ptr %t13, i32 %t14 %t16 = load i8, ptr %t15 %t17 = zext i8 %t16 to i32 %t18 = icmp eq i32 %t17, 36 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t5 store i32 828, ptr @lp_site %t23 = call ptr @lp_str_slice(ptr %t21, i32 0, i32 %t22) store i32 0, ptr @lp_site store i32 829, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1791) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t0 %t26 = load i32, ptr %t5 %t27 = add i32 %t26, 1 %t28 = load ptr, ptr %t0 %t29 = call i64 @strlen(ptr %t28) %t30 = trunc i64 %t29 to i32 store i32 830, ptr @lp_site %t31 = call ptr @lp_str_slice(ptr %t25, i32 %t27, i32 %t30) store i32 0, ptr @lp_site store i32 831, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t24, ptr %t31) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) call void @lp_free(ptr %t31) store i32 832, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1792) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) store ptr %t33, ptr %retval br label %ret ifend8: %t34 = load i32, ptr %t5 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t5 br label %wcond3 wend5: %t36 = load ptr, ptr %t0 store ptr %t36, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval ret ptr %t37 } define ptr @fn_rr_path_ty(ptr %arg_f, ptr %arg_who, ptr %arg_st, ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t15 = alloca i32 %t39 = alloca ptr %t43 = alloca ptr store ptr %arg_f, ptr %t0 store ptr %arg_who, ptr %t1 store ptr %arg_st, ptr %t2 store ptr %arg_path, ptr %t3 %t4 = load ptr, ptr %t2 store ptr %t4, ptr %t5 store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr %t3 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 %t12 = icmp sle i32 %t8, %t11 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody1, label %wend2 wbody1: %t16 = load i32, ptr %t7 %t17 = load ptr, ptr %t3 %t18 = call i64 @strlen(ptr %t17) %t19 = trunc i64 %t18 to i32 %t20 = icmp eq i32 %t16, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t15 br i1 %t22, label %scend4, label %sc3 sc3: %t24 = load ptr, ptr %t3 %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 = icmp eq i32 %t28, 46 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t15 br label %scend4 scend4: %t33 = load i32, ptr %t15 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t3 %t36 = load i32, ptr %t6 %t37 = load i32, ptr %t7 store i32 833, ptr @lp_site %t38 = call ptr @lp_str_slice(ptr %t35, i32 %t36, i32 %t37) store i32 0, ptr @lp_site store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t5 %t41 = load ptr, ptr %t39 %t42 = call ptr @fn_rr_field_ty(ptr %t40, 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 %then8, label %ifend10 then8: %t48 = load ptr, ptr %t0 %t49 = load ptr, ptr %t1 store i32 834, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str1794) store i32 0, ptr @lp_site %t51 = load ptr, ptr %t5 store i32 835, 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 836, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str1795) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t39 store i32 837, 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_act_err(ptr %t48, ptr %t55) br label %ifend10 ifend10: %t56 = load ptr, ptr %t43 store ptr %t56, ptr %t5 %t57 = load i32, ptr %t7 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t6 br label %ifend7 ifend7: %t59 = load i32, ptr %t7 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t7 br label %wcond0 wend2: %t61 = load ptr, ptr %t5 store ptr %t61, ptr %retval br label %ret ret: %t62 = load ptr, ptr %retval ret ptr %t62 } define ptr @fn_rr_target(ptr %arg_act) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_act, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_tgt_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_tgt_comp %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1796, 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_tgt_field %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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1797, 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 void @fn_rr_params(i32 %arg_i, ptr %arg_f, ptr %arg_who) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t13 = alloca ptr %t24 = alloca ptr %t31 = alloca ptr %t32 = alloca i32 %t92 = alloca i32 %t93 = alloca i32 %t94 = alloca i32 %t191 = alloca ptr %t270 = alloca ptr store i32 %arg_i, ptr %t0 store ptr %arg_f, ptr %t1 store ptr %arg_who, ptr %t2 %t3 = load ptr, ptr @g_g_red_rec %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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1798, 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_red_action %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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1799, i32 %t15, i32 %t19) call void @exit(i32 1) unreachable ixok2: %t22 = getelementptr inbounds ptr, ptr %t17, i32 %t15 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = getelementptr %LSlice, ptr null, i32 1 %t26 = ptrtoint ptr %t25 to i64 store i32 838, 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 %wcond4 wcond4: %t33 = load i32, 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 = icmp slt i32 %t33, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody5, label %wend6 wbody5: %t42 = load ptr, ptr %t1 %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 %ixok7, label %ixbad8 ixbad8: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str1801, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok7: %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, 5 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then9, label %ifend11 then9: %t59 = load ptr, ptr %t31 %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t32 %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 %ixok12, label %ixbad13 ixbad13: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str1802, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok12: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t73 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2 %t74 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t75 = load i32, ptr %t72 %t76 = load i32, ptr %t73 %t77 = icmp sge i32 %t75, %t76 br i1 %t77, label %grow14, label %put15 grow14: %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 839, 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 %put15 put15: %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 br label %ifend11 ifend11: %t90 = load i32, ptr %t32 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t32 br label %wcond4 wend6: %t95 = load ptr, ptr %t31 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp slt 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 %scend17, label %sc16 sc16: %t102 = load ptr, ptr %t31 %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 %ixok18, label %ixbad19 ixbad19: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str1803, i32 0, i32 %t106) call void @exit(i32 1) unreachable ixok18: %t109 = getelementptr inbounds ptr, ptr %t104, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 3 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t13 store i32 840, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str1804, ptr %t113) store i32 0, ptr @lp_site %t115 = call i32 @lp_str_eq(ptr %t112, ptr %t114) call void @lp_free(ptr %t114) %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 %t94 br label %scend17 scend17: %t120 = load i32, ptr %t94 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t93 br i1 %t121, label %scend21, label %sc20 sc20: %t123 = load ptr, ptr %t31 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 0, %t127 br i1 %t128, label %ixok22, label %ixbad23 ixbad23: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str1805, i32 0, i32 %t127) call void @exit(i32 1) unreachable ixok22: %t130 = getelementptr inbounds ptr, ptr %t125, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 12 %t133 = load i32, ptr %t132 %t134 = icmp ne 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 %t93 br label %scend21 scend21: %t138 = load i32, ptr %t93 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t92 br i1 %t139, label %scend25, label %sc24 sc24: %t141 = load ptr, ptr %t31 %t142 = load ptr, ptr %t31 %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = sub i32 %t144, 1 %t146 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 %t145, %t149 br i1 %t150, label %ixok26, label %ixbad27 ixbad27: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str1806, i32 %t145, i32 %t149) call void @exit(i32 1) unreachable ixok26: %t152 = getelementptr inbounds ptr, ptr %t147, i32 %t145 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 3 %t155 = load ptr, ptr %t154 %t156 = load ptr, ptr %t24 %t157 = call i32 @lp_str_eq(ptr %t155, ptr %t156) %t158 = icmp eq 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 %t92 br label %scend25 scend25: %t162 = load i32, ptr %t92 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then28, label %ifend30 then28: %t164 = load ptr, ptr %t1 %t165 = load ptr, ptr %t2 store i32 841, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str1807) store i32 0, ptr @lp_site %t167 = load ptr, ptr %t13 store i32 842, 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) store i32 843, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1808) store i32 0, ptr @lp_site call void @lp_free(ptr %t168) %t170 = load ptr, ptr %t24 store i32 844, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t169, ptr %t170) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) store i32 845, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str1809) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) call void @fn_act_err(ptr %t164, ptr %t172) br label %ifend30 ifend30: store i32 1, ptr %t32 br label %wcond31 wcond31: %t173 = load i32, ptr %t32 %t174 = load ptr, ptr %t31 %t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = sub i32 %t176, 1 %t178 = icmp slt i32 %t173, %t177 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %wbody32, label %wend33 wbody32: %t181 = load ptr, ptr %t31 %t182 = load i32, ptr %t32 %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 %ixok34, label %ixbad35 ixbad35: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str1810, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok34: %t189 = getelementptr inbounds ptr, ptr %t184, i32 %t182 %t190 = load ptr, ptr %t189 store ptr %t190, ptr %t191 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 %t194 = load ptr, ptr %t193 %t195 = call i32 @fn_is_state_ty(ptr %t194) %t196 = icmp eq i32 %t195, 0 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then36, label %ifend38 then36: %t199 = load ptr, ptr %t1 %t200 = load ptr, ptr %t2 store i32 846, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1811) store i32 0, ptr @lp_site %t202 = load ptr, ptr %t191 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 %t204 = load ptr, ptr %t203 store i32 847, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t201, ptr %t204) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) store i32 848, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str1812) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t207 = load ptr, ptr %t191 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 3 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_rr_ty_text(ptr %t209) store i32 849, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t206, ptr %t210) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) store i32 850, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1813) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) call void @fn_act_err(ptr %t199, ptr %t212) br label %ifend38 ifend38: %t213 = load ptr, ptr %t191 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 12 %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 %then39, label %ifend41 then39: %t219 = load ptr, ptr %t1 %t220 = load ptr, ptr %t2 store i32 851, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str1814) store i32 0, ptr @lp_site %t222 = load ptr, ptr %t191 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 1 %t224 = load ptr, ptr %t223 store i32 852, 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 853, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str1815) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) %t227 = load ptr, ptr %t191 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 3 %t229 = load ptr, ptr %t228 store i32 854, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t226, ptr %t229) store i32 0, ptr @lp_site call void @lp_free(ptr %t226) store i32 855, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str1816) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t191 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 1 %t234 = load ptr, ptr %t233 store i32 856, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t231, ptr %t234) store i32 0, ptr @lp_site call void @lp_free(ptr %t231) store i32 857, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str1817) store i32 0, ptr @lp_site call void @lp_free(ptr %t235) %t237 = load ptr, ptr %t191 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 3 %t239 = load ptr, ptr %t238 store i32 858, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t236, ptr %t239) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) store i32 859, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str1818) store i32 0, ptr @lp_site call void @lp_free(ptr %t240) %t242 = load ptr, ptr %t191 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 3 %t244 = load ptr, ptr %t243 store i32 860, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t241, ptr %t244) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) store i32 861, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str1819) store i32 0, ptr @lp_site call void @lp_free(ptr %t245) call void @fn_act_err(ptr %t219, ptr %t246) br label %ifend41 ifend41: %t247 = load i32, ptr %t32 %t248 = add i32 %t247, 1 store i32 %t248, ptr %t32 br label %wcond31 wend33: %t249 = load ptr, ptr %t1 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 4 %t251 = load ptr, ptr %t250 %t252 = load i32, ptr %t0 %t253 = load ptr, ptr %t31 %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 %ixok42, label %ixbad43 ixbad43: %t259 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str1820, i32 0, i32 %t257) call void @exit(i32 1) unreachable ixok42: %t260 = getelementptr inbounds ptr, ptr %t255, i32 0 %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 call void @fn_rr_walk(ptr %t251, i32 %t252, ptr %t263) %t264 = getelementptr %LSlice, ptr null, i32 1 %t265 = ptrtoint ptr %t264 to i64 store i32 862, ptr @lp_site %t266 = call ptr @lp_malloc(i64 %t265) store i32 0, ptr @lp_site %t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 store ptr null, ptr %t267 %t268 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 store i32 0, ptr %t268 %t269 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 2 store i32 0, ptr %t269 store ptr %t266, ptr %t270 store i32 1, ptr %t32 br label %wcond44 wcond44: %t271 = load i32, ptr %t32 %t272 = load ptr, ptr %t31 %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t274 = load i32, ptr %t273 %t275 = sub i32 %t274, 1 %t276 = icmp slt i32 %t271, %t275 %t277 = zext i1 %t276 to i32 %t278 = icmp ne i32 %t277, 0 br i1 %t278, label %wbody45, label %wend46 wbody45: %t279 = load ptr, ptr %t270 %t280 = load ptr, ptr %t31 %t281 = load i32, ptr %t32 %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 %ixok47, label %ixbad48 ixbad48: %t287 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t287, ptr @.fmt_bounds, ptr @.str1821, i32 %t281, i32 %t285) call void @exit(i32 1) unreachable ixok47: %t288 = getelementptr inbounds ptr, ptr %t283, i32 %t281 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t291 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 2 %t292 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t293 = load i32, ptr %t290 %t294 = load i32, ptr %t291 %t295 = icmp sge i32 %t293, %t294 br i1 %t295, label %grow49, label %put50 grow49: %t296 = mul i32 %t294, 2 %t297 = icmp eq i32 %t294, 0 %t298 = select i1 %t297, i32 8, i32 %t296 %t299 = getelementptr ptr, ptr null, i32 1 %t300 = ptrtoint ptr %t299 to i64 %t301 = zext i32 %t298 to i64 %t302 = mul i64 %t301, %t300 %t303 = load ptr, ptr %t292 store i32 863, ptr @lp_site %t304 = call ptr @lp_realloc(ptr %t303, i64 %t302) store i32 0, ptr @lp_site store ptr %t304, ptr %t292 store i32 %t298, ptr %t291 br label %put50 put50: %t305 = load ptr, ptr %t292 %t306 = getelementptr inbounds ptr, ptr %t305, i32 %t293 store ptr %t289, ptr %t306 %t307 = add i32 %t293, 1 store i32 %t307, ptr %t290 %t308 = load i32, ptr %t32 %t309 = add i32 %t308, 1 store i32 %t309, ptr %t32 br label %wcond44 wend46: %t310 = load ptr, ptr %t270 %t311 = load ptr, ptr %t31 %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 %ixok51, label %ixbad52 ixbad52: %t317 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t317, ptr @.fmt_bounds, ptr @.str1822, i32 0, i32 %t315) call void @exit(i32 1) unreachable ixok51: %t318 = getelementptr inbounds ptr, ptr %t313, i32 0 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t321 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 2 %t322 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0 %t323 = load i32, ptr %t320 %t324 = load i32, ptr %t321 %t325 = icmp sge i32 %t323, %t324 br i1 %t325, label %grow53, label %put54 grow53: %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 864, 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 %put54 put54: %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 ptr, ptr %t270 %t339 = load ptr, ptr %t31 %t340 = load ptr, ptr %t31 %t341 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1 %t342 = load i32, ptr %t341 %t343 = sub i32 %t342, 1 %t344 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 0 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %LSlice, ptr %t339, i32 0, i32 1 %t347 = load i32, ptr %t346 %t348 = icmp ult i32 %t343, %t347 br i1 %t348, label %ixok55, label %ixbad56 ixbad56: %t349 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str1823, i32 %t343, i32 %t347) call void @exit(i32 1) unreachable ixok55: %t350 = getelementptr inbounds ptr, ptr %t345, i32 %t343 %t351 = load ptr, ptr %t350 %t352 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 1 %t353 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 2 %t354 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 0 %t355 = load i32, ptr %t352 %t356 = load i32, ptr %t353 %t357 = icmp sge i32 %t355, %t356 br i1 %t357, label %grow57, label %put58 grow57: %t358 = mul i32 %t356, 2 %t359 = icmp eq i32 %t356, 0 %t360 = select i1 %t359, i32 8, i32 %t358 %t361 = getelementptr ptr, ptr null, i32 1 %t362 = ptrtoint ptr %t361 to i64 %t363 = zext i32 %t360 to i64 %t364 = mul i64 %t363, %t362 %t365 = load ptr, ptr %t354 store i32 865, ptr @lp_site %t366 = call ptr @lp_realloc(ptr %t365, i64 %t364) store i32 0, ptr @lp_site store ptr %t366, ptr %t354 store i32 %t360, ptr %t353 br label %put58 put58: %t367 = load ptr, ptr %t354 %t368 = getelementptr inbounds ptr, ptr %t367, i32 %t355 store ptr %t351, ptr %t368 %t369 = add i32 %t355, 1 store i32 %t369, ptr %t352 %t370 = load ptr, ptr %t1 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 7 %t372 = load ptr, ptr %t270 store ptr %t372, ptr %t371 br label %ret ret: ret void } define void @fn_rr_err(i32 %arg_i, ptr %arg_n, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 store i32 %arg_i, ptr %t0 store ptr %arg_n, ptr %t1 store ptr %arg_msg, ptr %t2 %t3 = load ptr, ptr %t1 store ptr %t3, ptr %t4 %t6 = load ptr, ptr %t4 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 9 %t8 = load ptr, ptr %t7 %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 %t5 br i1 %t11, label %scend1, label %sc0 sc0: %t13 = load ptr, ptr %t4 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 8 %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 %t5 br label %scend1 scend1: %t20 = load i32, ptr %t5 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then2, label %ifend4 then2: %t22 = load ptr, ptr @g_g_red_nodes %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 %ixok5, label %ixbad6 ixbad6: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1824, i32 %t23, i32 %t27) call void @exit(i32 1) unreachable ixok5: %t30 = getelementptr inbounds ptr, ptr %t25, i32 %t23 %t31 = load ptr, ptr %t30 store ptr %t31, ptr %t4 br label %ifend4 ifend4: %t32 = load ptr, ptr %t4 %t33 = load ptr, ptr @g_g_red_rec %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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1826, 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 i32 866, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str1825, ptr %t42) store i32 0, ptr @lp_site store i32 867, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1828) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr @g_g_red_state %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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str1829, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok9: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 store i32 868, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t44, ptr %t54) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) store i32 869, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1830) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr @g_g_red_tbl %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 %ixok11, label %ixbad12 ixbad12: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str1831, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok11: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 store i32 870, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t56, ptr %t66) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store i32 871, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str1832) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr @g_g_red_action %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 %ixok13, label %ixbad14 ixbad14: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str1833, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok13: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 store i32 872, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t68, ptr %t78) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) store i32 873, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str1834) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t2 store i32 874, 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) call void @fn_act_err(ptr %t32, ptr %t82) br label %ret ret: ret void } define void @fn_rr_walk(ptr %arg_n, i32 %arg_i, ptr %arg_r) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t7 = alloca i32 %t8 = alloca i32 %t9 = alloca i32 %t50 = alloca i32 %t94 = alloca i32 %t95 = alloca i32 %t96 = alloca i32 %t140 = alloca ptr %t141 = alloca i32 %t174 = alloca i32 %t175 = alloca i32 %t176 = alloca i32 %t177 = alloca i32 %t178 = alloca i32 %t286 = alloca i32 %t308 = alloca ptr %t309 = alloca i32 %t327 = alloca i32 %t328 = alloca i32 %t372 = alloca i32 %t420 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_i, ptr %t1 store ptr %arg_r, 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: %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, 35 %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 4 %t19 = load ptr, ptr %t18 %t20 = icmp ne 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 %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 4 %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, 33 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t8 br label %scend6 scend6: %t36 = load i32, ptr %t8 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t7 br i1 %t37, label %sc7, label %scend8 sc7: %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr %t2 %t45 = call i32 @lp_str_eq(ptr %t43, ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t7 br label %scend8 scend8: %t48 = load i32, ptr %t7 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str1835) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t50 br i1 %t55, label %scend13, label %sc12 sc12: %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str1836) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t50 br label %scend13 scend13: %t63 = load i32, ptr %t50 %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 i32, ptr %t1 %t68 = load ptr, ptr %t0 %t69 = load ptr, ptr %t2 store i32 875, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str1837) store i32 0, ptr @lp_site %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 store i32 876, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t70, ptr %t73) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) store i32 877, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1839) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = load ptr, ptr %t2 store i32 878, 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 879, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1840) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t79 = load ptr, ptr %t2 store i32 880, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) store i32 881, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1841) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr @g_g_red_rec %t83 = load i32, ptr %t1 %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 %ixok17, label %ixbad18 ixbad18: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str1842, i32 %t83, i32 %t87) call void @exit(i32 1) unreachable ixok17: %t90 = getelementptr inbounds ptr, ptr %t85, i32 %t83 %t91 = load ptr, ptr %t90 store i32 882, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t81, ptr %t91) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 883, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1843) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) call void @fn_rr_err(i32 %t67, ptr %t68, ptr %t93) br label %ifend16 ifend16: br label %ret ifend11: %t97 = load ptr, ptr %t0 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 0 %t99 = load i32, ptr %t98 %t100 = icmp eq i32 %t99, 11 %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t96 br i1 %t102, label %sc19, label %scend20 sc19: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 %t106 = load ptr, ptr %t105 %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 %t96 br label %scend20 scend20: %t111 = load i32, ptr %t96 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t95 br i1 %t112, label %sc21, label %scend22 sc21: %t114 = load ptr, ptr %t0 %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 0 %t118 = load i32, ptr %t117 %t119 = icmp eq i32 %t118, 35 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t95 br label %scend22 scend22: %t123 = load i32, ptr %t95 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t94 br i1 %t124, label %sc23, label %scend24 sc23: %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 4 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 4 %t130 = load ptr, ptr %t129 %t131 = icmp ne ptr %t130, null %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t94 br label %scend24 scend24: %t135 = load i32, ptr %t94 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then25, label %ifend27 then25: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 store ptr %t139, ptr %t140 %t142 = load ptr, ptr %t140 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 4 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 0 %t146 = load i32, ptr %t145 %t147 = icmp eq i32 %t146, 33 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t141 br i1 %t149, label %sc28, label %scend29 sc28: %t151 = load ptr, ptr %t140 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 4 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 %t156 = load ptr, ptr %t2 %t157 = call i32 @lp_str_eq(ptr %t155, ptr %t156) %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t141 br label %scend29 scend29: %t160 = load i32, ptr %t141 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then30, label %ifend32 then30: %t162 = load i32, ptr %t1 %t163 = load ptr, ptr %t0 %t164 = load ptr, ptr %t2 store i32 884, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str1844) store i32 0, ptr @lp_site %t166 = load ptr, ptr %t140 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 store i32 885, 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) store i32 886, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str1845) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = load ptr, ptr %t2 store i32 887, 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) store i32 888, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str1846) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) call void @fn_rr_err(i32 %t162, ptr %t163, ptr %t173) br label %ifend32 ifend32: %t179 = load ptr, ptr %t140 %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, 35 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t178 br i1 %t186, label %sc33, label %scend34 sc33: %t188 = load ptr, ptr %t140 %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 @.str1847) %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t178 br label %scend34 scend34: %t196 = load i32, ptr %t178 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t177 br i1 %t197, label %sc35, label %scend36 sc35: %t199 = load ptr, ptr %t140 %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 4 %t203 = load ptr, ptr %t202 %t204 = icmp ne ptr %t203, null %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t177 br label %scend36 scend36: %t208 = load i32, ptr %t177 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t176 br i1 %t209, label %sc37, label %scend38 sc37: %t211 = load ptr, ptr %t140 %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 4 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 0 %t217 = load i32, ptr %t216 %t218 = icmp eq i32 %t217, 33 %t219 = zext i1 %t218 to i32 %t220 = icmp ne i32 %t219, 0 %t221 = zext i1 %t220 to i32 store i32 %t221, ptr %t176 br label %scend38 scend38: %t222 = load i32, ptr %t176 %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t175 br i1 %t223, label %sc39, label %scend40 sc39: %t225 = load ptr, ptr %t140 %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 4 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 1 %t231 = load ptr, ptr %t230 %t232 = load ptr, ptr %t2 %t233 = call i32 @lp_str_eq(ptr %t231, ptr %t232) %t234 = icmp ne i32 %t233, 0 %t235 = zext i1 %t234 to i32 store i32 %t235, ptr %t175 br label %scend40 scend40: %t236 = load i32, ptr %t175 %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t174 br i1 %t237, label %sc41, label %scend42 sc41: %t239 = load ptr, ptr @g_g_red_rec %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 %ixok43, label %ixbad44 ixbad44: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str1848, i32 %t240, i32 %t244) call void @exit(i32 1) unreachable ixok43: %t247 = getelementptr inbounds ptr, ptr %t242, i32 %t240 %t248 = load ptr, ptr %t247 %t249 = load ptr, ptr %t140 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 1 %t251 = load ptr, ptr %t250 %t252 = call i32 @fn_rr_is_column(ptr %t248, ptr %t251) %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t174 br label %scend42 scend42: %t255 = load i32, ptr %t174 %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then45, label %ifend47 then45: %t257 = load i32, ptr %t1 %t258 = load ptr, ptr %t0 %t259 = load ptr, ptr @g_g_red_rec %t260 = load i32, ptr %t1 %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 %ixok48, label %ixbad49 ixbad49: %t266 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t266, ptr @.fmt_bounds, ptr @.str1849, i32 %t260, i32 %t264) call void @exit(i32 1) unreachable ixok48: %t267 = getelementptr inbounds ptr, ptr %t262, i32 %t260 %t268 = load ptr, ptr %t267 store i32 889, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str1850) store i32 0, ptr @lp_site %t270 = load ptr, ptr %t140 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 1 %t272 = load ptr, ptr %t271 store i32 890, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr %t269, ptr %t272) store i32 0, ptr @lp_site call void @lp_free(ptr %t269) store i32 891, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str1851) store i32 0, ptr @lp_site call void @lp_free(ptr %t273) call void @fn_rr_err(i32 %t257, ptr %t258, ptr %t274) br label %ifend47 ifend47: br label %ifend27 ifend27: %t275 = load ptr, ptr %t0 %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 br i1 %t280, label %then50, label %ifend52 then50: %t281 = load ptr, ptr %t0 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 4 %t283 = load ptr, ptr %t282 %t284 = load i32, ptr %t1 %t285 = load ptr, ptr %t2 call void @fn_rr_walk(ptr %t283, i32 %t284, ptr %t285) store i32 0, ptr %t286 br label %wcond53 wcond53: %t287 = load i32, ptr %t286 %t288 = load ptr, ptr %t0 %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 %wbody54, label %wend55 wbody54: %t296 = load ptr, ptr %t0 %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 %ixok56, label %ixbad57 ixbad57: %t305 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t305, ptr @.fmt_bounds, ptr @.str1852, i32 %t299, i32 %t303) call void @exit(i32 1) unreachable ixok56: %t306 = getelementptr inbounds ptr, ptr %t301, i32 %t299 %t307 = load ptr, ptr %t306 store ptr %t307, ptr %t308 %t310 = load ptr, ptr %t308 %t311 = icmp ne ptr %t310, null %t312 = zext i1 %t311 to i32 %t313 = icmp ne i32 %t312, 0 %t314 = zext i1 %t313 to i32 store i32 %t314, ptr %t309 br i1 %t313, label %sc58, label %scend59 sc58: %t315 = load ptr, ptr %t308 %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 0 %t317 = load i32, ptr %t316 %t318 = icmp eq i32 %t317, 42 %t319 = zext i1 %t318 to i32 %t320 = icmp ne i32 %t319, 0 %t321 = zext i1 %t320 to i32 store i32 %t321, ptr %t309 br label %scend59 scend59: %t322 = load i32, ptr %t309 %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then60, label %ifend62 then60: %t324 = load ptr, ptr %t308 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 4 %t326 = load ptr, ptr %t325 store ptr %t326, ptr %t308 br label %ifend62 ifend62: %t329 = load ptr, ptr %t308 %t330 = icmp ne ptr %t329, null %t331 = zext i1 %t330 to i32 %t332 = icmp ne i32 %t331, 0 %t333 = zext i1 %t332 to i32 store i32 %t333, ptr %t328 br i1 %t332, label %sc63, label %scend64 sc63: %t334 = load ptr, ptr %t308 %t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 0 %t336 = load i32, ptr %t335 %t337 = icmp eq i32 %t336, 33 %t338 = zext i1 %t337 to i32 %t339 = icmp ne i32 %t338, 0 %t340 = zext i1 %t339 to i32 store i32 %t340, ptr %t328 br label %scend64 scend64: %t341 = load i32, ptr %t328 %t342 = icmp ne i32 %t341, 0 %t343 = zext i1 %t342 to i32 store i32 %t343, ptr %t327 br i1 %t342, label %sc65, label %scend66 sc65: %t344 = load ptr, ptr %t308 %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 1 %t346 = load ptr, ptr %t345 %t347 = load ptr, ptr %t2 %t348 = call i32 @lp_str_eq(ptr %t346, ptr %t347) %t349 = icmp ne i32 %t348, 0 %t350 = zext i1 %t349 to i32 store i32 %t350, ptr %t327 br label %scend66 scend66: %t351 = load i32, ptr %t327 %t352 = icmp ne i32 %t351, 0 br i1 %t352, label %then67, label %else68 then67: %t353 = load i32, ptr %t1 %t354 = load ptr, ptr %t0 %t355 = load ptr, ptr %t2 call void @fn_rr_call_verb(i32 %t353, ptr %t354, ptr %t355) br label %ifend69 else68: %t356 = load ptr, ptr %t0 %t357 = getelementptr inbounds %Cmp_Node, ptr %t356, i32 0, i32 7 %t358 = load ptr, ptr %t357 %t359 = load i32, ptr %t286 %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 %ixok70, label %ixbad71 ixbad71: %t365 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str1853, i32 %t359, i32 %t363) call void @exit(i32 1) unreachable ixok70: %t366 = getelementptr inbounds ptr, ptr %t361, i32 %t359 %t367 = load ptr, ptr %t366 %t368 = load i32, ptr %t1 %t369 = load ptr, ptr %t2 call void @fn_rr_walk(ptr %t367, i32 %t368, ptr %t369) br label %ifend69 ifend69: %t370 = load i32, ptr %t286 %t371 = add i32 %t370, 1 store i32 %t371, ptr %t286 br label %wcond53 wend55: br label %ret ifend52: %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, 33 %t377 = zext i1 %t376 to i32 %t378 = icmp ne i32 %t377, 0 %t379 = zext i1 %t378 to i32 store i32 %t379, ptr %t372 br i1 %t378, label %sc72, label %scend73 sc72: %t380 = load ptr, ptr %t0 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 1 %t382 = load ptr, ptr %t381 %t383 = load ptr, ptr %t2 %t384 = call i32 @lp_str_eq(ptr %t382, ptr %t383) %t385 = icmp ne i32 %t384, 0 %t386 = zext i1 %t385 to i32 store i32 %t386, ptr %t372 br label %scend73 scend73: %t387 = load i32, ptr %t372 %t388 = icmp ne i32 %t387, 0 br i1 %t388, label %then74, label %ifend76 then74: %t389 = load i32, ptr %t1 %t390 = load ptr, ptr %t0 %t391 = load ptr, ptr %t2 store i32 892, ptr @lp_site %t392 = call ptr @lp_str_concat(ptr %t391, ptr @.str1854) store i32 0, ptr @lp_site %t393 = load ptr, ptr @g_g_red_rec %t394 = load i32, ptr %t1 %t395 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 1 %t398 = load i32, ptr %t397 %t399 = icmp ult i32 %t394, %t398 br i1 %t399, label %ixok77, label %ixbad78 ixbad78: %t400 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str1855, i32 %t394, i32 %t398) call void @exit(i32 1) unreachable ixok77: %t401 = getelementptr inbounds ptr, ptr %t396, i32 %t394 %t402 = load ptr, ptr %t401 store i32 893, ptr @lp_site %t403 = call ptr @lp_str_concat(ptr %t392, ptr %t402) store i32 0, ptr @lp_site call void @lp_free(ptr %t392) store i32 894, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str1856) store i32 0, ptr @lp_site call void @lp_free(ptr %t403) call void @fn_rr_err(i32 %t389, ptr %t390, ptr %t404) br label %ifend76 ifend76: %t405 = load ptr, ptr %t0 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 4 %t407 = load ptr, ptr %t406 %t408 = load i32, ptr %t1 %t409 = load ptr, ptr %t2 call void @fn_rr_walk(ptr %t407, i32 %t408, ptr %t409) %t410 = load ptr, ptr %t0 %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 5 %t412 = load ptr, ptr %t411 %t413 = load i32, ptr %t1 %t414 = load ptr, ptr %t2 call void @fn_rr_walk(ptr %t412, i32 %t413, ptr %t414) %t415 = load ptr, ptr %t0 %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 6 %t417 = load ptr, ptr %t416 %t418 = load i32, ptr %t1 %t419 = load ptr, ptr %t2 call void @fn_rr_walk(ptr %t417, i32 %t418, ptr %t419) store i32 0, ptr %t420 br label %wcond79 wcond79: %t421 = load i32, ptr %t420 %t422 = load ptr, ptr %t0 %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 br i1 %t429, label %wbody80, label %wend81 wbody80: %t430 = load ptr, ptr %t0 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 7 %t432 = load ptr, ptr %t431 %t433 = load i32, ptr %t420 %t434 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0 %t435 = load ptr, ptr %t434 %t436 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1 %t437 = load i32, ptr %t436 %t438 = icmp ult i32 %t433, %t437 br i1 %t438, label %ixok82, label %ixbad83 ixbad83: %t439 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t439, ptr @.fmt_bounds, ptr @.str1857, i32 %t433, i32 %t437) call void @exit(i32 1) unreachable ixok82: %t440 = getelementptr inbounds ptr, ptr %t435, i32 %t433 %t441 = load ptr, ptr %t440 %t442 = load i32, ptr %t1 %t443 = load ptr, ptr %t2 call void @fn_rr_walk(ptr %t441, i32 %t442, ptr %t443) %t444 = load i32, ptr %t420 %t445 = add i32 %t444, 1 store i32 %t445, ptr %t420 br label %wcond79 wend81: br label %ret ret: ret void } define void @fn_rr_call_verb(i32 %arg_i, ptr %arg_n, ptr %arg_r) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t24 = alloca i32 %t46 = alloca ptr %t47 = alloca i32 store i32 %arg_i, ptr %t0 store ptr %arg_n, ptr %t1 store ptr %arg_r, ptr %t2 %t5 = load ptr, ptr %t1 %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 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t4 br i1 %t10, label %sc0, label %scend1 sc0: %t12 = load ptr, ptr %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 33 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 br label %scend1 scend1: %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 %sc2, label %scend3 sc2: %t25 = load ptr, ptr %t1 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_rr_is_verb(ptr %t29) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t24 br i1 %t31, label %scend5, label %sc4 sc4: %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_mc_is_fn(ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t24 br label %scend5 scend5: %t41 = load i32, ptr %t24 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t3 br label %scend3 scend3: %t44 = load i32, ptr %t3 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then6, label %ifend8 then6: br label %ret ifend8: store ptr @.str1858, ptr %t46 %t48 = load ptr, ptr %t1 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 %t50 = load ptr, ptr %t49 %t51 = icmp ne 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 %t47 br i1 %t53, label %sc9, label %scend10 sc9: %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 33 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t47 br label %scend10 scend10: %t64 = load i32, ptr %t47 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then11, label %ifend13 then11: %t66 = load ptr, ptr %t1 %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 ptr %t70, ptr %t46 br label %ifend13 ifend13: %t71 = load i32, ptr %t0 %t72 = load ptr, ptr %t1 %t73 = load ptr, ptr %t46 store i32 895, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str1859) store i32 0, ptr @lp_site %t75 = load ptr, ptr @g_g_red_rec %t76 = load i32, ptr %t0 %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 %ixok14, label %ixbad15 ixbad15: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str1861, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok14: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 store i32 896, 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) store i32 897, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1862) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) call void @fn_rr_err(i32 %t71, ptr %t72, ptr %t86) br label %ret ret: ret void } define ptr @fn_rr_fields_src() { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr @.str1863, 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 @g_g_red_nodes %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_red_rec %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1864, 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 = 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: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t2 %t25 = call ptr @fn_itoa(i32 %t24) store i32 898, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str1865, ptr %t25) store i32 0, ptr @lp_site store i32 899, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1867) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr @g_g_red_rec %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 %ixok8, label %ixbad9 ixbad9: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str1868, 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 i32 900, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t27, ptr %t37) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) store i32 901, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str1869) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = load ptr, ptr @g_g_red_rec %t41 = load i32, ptr %t2 %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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str1870, 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 i32 902, 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 i32 903, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str1871) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) store i32 904, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t23, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) store ptr %t52, ptr %t0 store i32 1, ptr %t1 br label %ifend7 ifend7: %t53 = load i32, ptr %t2 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t2 br label %wcond0 wend2: %t55 = load i32, ptr %t1 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then12, label %ifend14 then12: %t57 = load ptr, ptr %t0 store i32 905, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str1872) store i32 0, ptr @lp_site store ptr %t58, ptr %t0 br label %ifend14 ifend14: %t59 = load ptr, ptr %t0 store ptr %t59, ptr %retval br label %ret ret: %t60 = load ptr, ptr %retval ret ptr %t60 } define ptr @fn_rr_wrappers_src() { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t25 = alloca ptr %t36 = alloca ptr store ptr @.str1873, 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 @g_g_red_nodes %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_red_rec %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str1874, 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 = 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 %t1 %t23 = load i32, ptr %t2 %t24 = call ptr @fn_itoa(i32 %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr @g_g_red_action %t27 = load i32, ptr %t2 %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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str1875, 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 %t0 %t38 = load i32, ptr %t2 %t39 = call ptr @fn_rr_wrap_name(i32 %t38) store i32 906, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str1876, ptr %t39) store i32 0, ptr @lp_site store i32 907, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1878) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr @g_g_red_state %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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str1879, i32 %t43, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds ptr, ptr %t45, i32 %t43 %t51 = load ptr, ptr %t50 store i32 908, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t41, ptr %t51) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) store i32 909, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str1880) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t36 store i32 910, 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 911, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1881) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) store i32 912, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t37, ptr %t56) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) store ptr %t57, ptr %t0 %t58 = load ptr, ptr %t0 %t59 = load ptr, ptr @g_g_red_tgt %t60 = load i32, ptr %t2 %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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str1883, i32 %t60, i32 %t64) call void @exit(i32 1) unreachable ixok12: %t67 = getelementptr inbounds ptr, ptr %t62, i32 %t60 %t68 = load ptr, ptr %t67 store i32 913, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str1882, ptr %t68) store i32 0, ptr @lp_site store i32 914, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str1884) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr @g_g_red_tbl %t72 = load i32, ptr %t2 %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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str1885, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok14: %t79 = getelementptr inbounds ptr, ptr %t74, i32 %t72 %t80 = load ptr, ptr %t79 store i32 915, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t70, ptr %t80) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) store i32 916, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str1886) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) store i32 917, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t58, ptr %t82) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) store ptr %t83, ptr %t0 %t84 = load ptr, ptr %t0 %t85 = load ptr, ptr %t36 store i32 918, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str1887, ptr %t85) store i32 0, ptr @lp_site store i32 919, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str1888) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr @g_g_red_rec %t89 = load i32, ptr %t2 %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 %ixok16, label %ixbad17 ixbad17: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str1889, i32 %t89, i32 %t93) call void @exit(i32 1) unreachable ixok16: %t96 = getelementptr inbounds ptr, ptr %t91, i32 %t89 %t97 = load ptr, ptr %t96 store i32 920, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t87, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) store i32 921, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str1890) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) store i32 922, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t84, ptr %t99) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) store ptr %t100, ptr %t0 %t101 = load ptr, ptr %t0 %t102 = load ptr, ptr %t25 store i32 923, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str1891, ptr %t102) store i32 0, ptr @lp_site store i32 924, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str1892) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr @g_g_red_nodes %t106 = load i32, ptr %t2 %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 %ixok18, label %ixbad19 ixbad19: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str1893, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok18: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 store i32 925, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t104, ptr %t116) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 926, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str1894) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) store i32 927, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t101, ptr %t118) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store ptr %t119, ptr %t0 br label %ifend7 ifend7: %t120 = load i32, ptr %t2 %t121 = add i32 %t120, 1 store i32 %t121, ptr %t2 br label %wcond0 wend2: %t122 = load i32, ptr %t1 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then20, label %ifend22 then20: %t124 = load ptr, ptr %t0 store i32 928, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1895) store i32 0, ptr @lp_site store ptr %t125, ptr %t0 %t126 = load ptr, ptr %t0 store i32 929, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1896) store i32 0, ptr @lp_site store ptr %t127, ptr %t0 %t128 = load ptr, ptr %t0 store i32 930, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1897) store i32 0, ptr @lp_site store ptr %t129, ptr %t0 %t130 = load ptr, ptr %t0 store i32 931, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str1898) store i32 0, ptr @lp_site store ptr %t131, ptr %t0 br label %ifend22 ifend22: %t132 = load ptr, ptr %t0 store ptr %t132, ptr %retval br label %ret ret: %t133 = load ptr, ptr %retval ret ptr %t133 } define ptr @fn_rv_record(ptr %arg_f) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t23 = alloca ptr store ptr %arg_f, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1899, 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, 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 %t23 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_rr_is_row_ty(ptr %t32) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t23 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t23 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3 %t40 = load ptr, ptr %t39 %t41 = call i64 @strlen(ptr %t40) %t42 = trunc i64 %t41 to i32 store i32 932, ptr @lp_site %t43 = call ptr @lp_str_slice(ptr %t37, i32 4, i32 %t42) store i32 0, ptr @lp_site store ptr %t43, ptr %retval br label %ret ifend10: store ptr null, ptr %retval br label %ret ifend7: %t44 = load i32, ptr %t1 %t45 = add i32 %t44, 1 store i32 %t45, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t46 = load ptr, ptr %retval ret ptr %t46 } define void @fn_mc_parse_attr() { entry: %t1 = alloca ptr %t9 = alloca ptr call void @fn_eat_op(ptr @.str1901) %t0 = call ptr @fn_eat_id() store ptr %t0, ptr %t1 %t2 = call i32 @fn_is_op(ptr @.str1902) %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: call void @fn_perr(ptr @.str1903) br label %ifend2 ifend2: %t6 = load i32, ptr @g_pi %t7 = add i32 %t6, 1 store i32 %t7, ptr @g_pi %t8 = call ptr @fn_eat_id() store ptr %t8, ptr %t9 call void @fn_eat_op(ptr @.str1904) %t10 = load ptr, ptr %t1 store ptr %t10, ptr @g_g_mc_pend_rec %t11 = load ptr, ptr %t9 store ptr %t11, ptr @g_g_mc_pend_field %t12 = load ptr, ptr @g_toks %t13 = load i32, ptr @g_pi %t14 = sub i32 %t13, 1 %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 %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1905, 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_Tok, ptr %t22, i32 0, i32 3 %t24 = load i32, ptr %t23 store i32 %t24, ptr @g_g_mc_pend_line %t25 = load ptr, ptr %t1 store i32 933, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str1907, ptr %t25) store i32 0, ptr @lp_site store i32 934, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1909) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t9 store i32 935, 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 936, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1910) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) call void @fn_at_decl_with(ptr @.str1906, ptr %t30) br label %ret ret: ret void } define void @fn_mc_attr_placed() { entry: %t4 = alloca i32 %t8 = alloca i32 %t0 = load ptr, ptr @g_g_mc_pend_rec %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: br label %ret ifend2: %t5 = call i32 @fn_is_id(ptr @.str1911) %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: %t9 = call i32 @fn_is_id(ptr @.str1912) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t8 br i1 %t10, label %sc5, label %scend6 sc5: %t12 = load ptr, ptr @g_toks %t13 = load i32, ptr @g_pi %t14 = add i32 %t13, 1 %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 %ixok7, label %ixbad8 ixbad8: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1913, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok7: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1914) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t8 br label %scend6 scend6: %t28 = load i32, ptr %t8 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t4 br label %scend4 scend4: %t31 = load i32, ptr %t4 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: br label %ret ifend11: %t33 = load ptr, ptr @g_g_mc_pend_rec store i32 937, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str1915, ptr %t33) store i32 0, ptr @lp_site store i32 938, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1917) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr @g_g_mc_pend_field store i32 939, 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 940, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1918) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr @g_g_mc_pend_rec store i32 941, 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 942, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1919) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr @g_g_mc_pend_field store i32 943, 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 944, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1920) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) call void @fn_perr(ptr %t44) br label %ret ret: ret void } define void @fn_mc_take(ptr %arg_v, i32 %arg_pm) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_v, ptr %t0 store i32 %arg_pm, ptr %t1 %t2 = load ptr, ptr @g_g_mc_pend_rec %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 i32, ptr %t1 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store i32 945, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str1921, ptr %t10) store i32 0, ptr @lp_site store i32 946, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1923) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) call void @fn_perr(ptr %t12) br label %ifend5 ifend5: %t13 = load ptr, ptr @g_g_mc_reg %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2 %t19 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t20 = load i32, ptr %t17 %t21 = load i32, ptr %t18 %t22 = icmp sge i32 %t20, %t21 br i1 %t22, label %grow6, label %put7 grow6: %t23 = mul i32 %t21, 2 %t24 = icmp eq i32 %t21, 0 %t25 = select i1 %t24, i32 8, i32 %t23 %t26 = getelementptr ptr, ptr null, i32 1 %t27 = ptrtoint ptr %t26 to i64 %t28 = zext i32 %t25 to i64 %t29 = mul i64 %t28, %t27 %t30 = load ptr, ptr %t19 store i32 947, 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 %put7 put7: %t32 = load ptr, ptr %t19 %t33 = getelementptr inbounds ptr, ptr %t32, i32 %t20 store ptr %t16, ptr %t33 %t34 = add i32 %t20, 1 store i32 %t34, ptr %t17 %t35 = load ptr, ptr @g_g_mc_rec %t36 = load ptr, ptr @g_g_mc_pend_rec %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 %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 948, 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 @g_g_mc_field %t56 = load ptr, ptr @g_g_mc_pend_field %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 %grow10, label %put11 grow10: %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 949, 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 %put11 put11: %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_mc_file %t76 = load ptr, ptr @g_g_parse_file %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 %grow12, label %put13 grow12: %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 950, 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 %put13 put13: %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 %t95 = load ptr, ptr @g_g_mc_line %t96 = load i32, ptr @g_g_mc_pend_line %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 %grow14, label %put15 grow14: %t103 = mul i32 %t101, 2 %t104 = icmp eq i32 %t101, 0 %t105 = select i1 %t104, i32 8, i32 %t103 %t106 = getelementptr i32, 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 951, 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 %put15 put15: %t112 = load ptr, ptr %t99 %t113 = getelementptr inbounds i32, ptr %t112, i32 %t100 store i32 %t96, ptr %t113 %t114 = add i32 %t100, 1 store i32 %t114, ptr %t97 %t115 = load ptr, ptr @g_g_mc_enum %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 %grow16, label %put17 grow16: %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 952, 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 %put17 put17: %t131 = load ptr, ptr %t118 %t132 = getelementptr inbounds ptr, ptr %t131, i32 %t119 store ptr null, ptr %t132 %t133 = add i32 %t119, 1 store i32 %t133, ptr %t116 %t134 = load ptr, ptr @g_g_mc_state %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t136 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 2 %t137 = getelementptr inbounds %LSlice, ptr %t134, 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 953, 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 null, ptr %t151 %t152 = add i32 %t138, 1 store i32 %t152, ptr %t135 %t153 = load ptr, ptr @g_g_mc_path %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t155 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 2 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t157 = load i32, ptr %t154 %t158 = load i32, ptr %t155 %t159 = icmp sge i32 %t157, %t158 br i1 %t159, label %grow20, label %put21 grow20: %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 954, 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 %put21 put21: %t169 = load ptr, ptr %t156 %t170 = getelementptr inbounds ptr, ptr %t169, i32 %t157 store ptr null, ptr %t170 %t171 = add i32 %t157, 1 store i32 %t171, ptr %t154 %t172 = load ptr, ptr @g_g_mc_start %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 %grow22, label %put23 grow22: %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 955, 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 %put23 put23: %t188 = load ptr, ptr %t175 %t189 = getelementptr inbounds ptr, ptr %t188, i32 %t176 store ptr null, ptr %t189 %t190 = add i32 %t176, 1 store i32 %t190, ptr %t173 %t191 = load ptr, ptr @g_g_mc_tick %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 %grow24, label %put25 grow24: %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 956, 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 %put25 put25: %t207 = load ptr, ptr %t194 %t208 = getelementptr inbounds ptr, ptr %t207, i32 %t195 store ptr null, ptr %t208 %t209 = add i32 %t195, 1 store i32 %t209, ptr %t192 %t210 = load ptr, ptr @g_g_mc_acts %t211 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t212 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 2 %t213 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t214 = load i32, ptr %t211 %t215 = load i32, ptr %t212 %t216 = icmp sge i32 %t214, %t215 br i1 %t216, label %grow26, label %put27 grow26: %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 957, 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 %put27 put27: %t226 = load ptr, ptr %t213 %t227 = getelementptr inbounds ptr, ptr %t226, i32 %t214 store ptr @.str1924, ptr %t227 %t228 = add i32 %t214, 1 store i32 %t228, ptr %t211 store ptr null, ptr @g_g_mc_pend_rec store ptr null, ptr @g_g_mc_pend_field br label %ret ret: ret void } define i32 @fn_mc_find_reg(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_mc_reg %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_mc_reg %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1925, 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_mc_of_field(ptr %arg_rec, ptr %arg_field) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t10 = 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 @g_g_mc_rec %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_mc_rec %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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str1926, 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 %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_mc_field %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str1927, 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 %t1 %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 i32 @fn_mc_is_fn(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_mc_fns %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_mc_fns %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1928, 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_mc_is_gen(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_d, 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_mc_gen %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_mc_gen %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1929, 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 = icmp eq ptr %t22, %t23 %t25 = zext i1 %t24 to i32 %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 %t5 %t28 = add i32 %t27, 1 store i32 %t28, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define void @fn_mc_err(i32 %arg_m, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr store i32 %arg_m, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr @g_g_mc_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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str1930, 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 ptr, ptr @g_g_mc_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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1931, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok2: %t20 = getelementptr inbounds i32, ptr %t15, i32 %t13 %t21 = load i32, ptr %t20 %t22 = load ptr, ptr @g_g_mc_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 %ixok4, label %ixbad5 ixbad5: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str1933, 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 958, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str1932, ptr %t31) store i32 0, ptr @lp_site store i32 959, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1935) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr @g_g_mc_field %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 %ixok6, label %ixbad7 ixbad7: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str1936, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok6: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 store i32 960, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t33, ptr %t43) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) store i32 961, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str1937) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr @g_g_mc_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 %ixok8, label %ixbad9 ixbad9: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str1938, 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 i32 962, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t45, ptr %t55) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) store i32 963, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str1939) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = load ptr, ptr %t1 store i32 964, 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 %t11, i32 %t21, i32 0, ptr %t59) br label %ret ret: ret void } define void @fn_mc_row_err(i32 %arg_m, i32 %arg_t, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca ptr store i32 %arg_m, ptr %t0 store i32 %arg_t, ptr %t1 store ptr %arg_msg, ptr %t2 %t3 = load ptr, ptr @g_g_mt_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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str1940, 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 = load ptr, ptr @g_g_mt_line %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 %ixok2, label %ixbad3 ixbad3: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str1941, 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 ptr, ptr @g_g_mt_col %t24 = load i32, ptr %t1 %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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1942, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok4: %t31 = getelementptr inbounds i32, ptr %t26, i32 %t24 %t32 = load i32, ptr %t31 %t33 = load ptr, ptr @g_g_mc_reg %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 %ixok6, label %ixbad7 ixbad7: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str1943, 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 i32 965, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1944) store i32 0, ptr @lp_site %t44 = load ptr, ptr @g_g_mt_key %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 %ixok8, label %ixbad9 ixbad9: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str1946, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok8: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 store i32 966, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t43, ptr %t53) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) store i32 967, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1947) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t2 store i32 968, 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_at(ptr %t12, i32 %t22, i32 %t32, ptr %t57) br label %ret ret: ret void } define ptr @fn_mc_enum_decl(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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1948, 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, 27 %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 ptr @fn_mc_fn_decl(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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1949, 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, 4 %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 ptr @fn_mc_field(ptr %arg_comp, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 %t16 = alloca i32 store ptr %arg_comp, 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 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: %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 %t6 %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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str1950, 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 eq i32 %t30, 1 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t16 br i1 %t33, label %sc8, label %scend9 sc8: %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 %t6 %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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str1951, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok10: %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 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t16 br label %scend9 scend9: %t53 = load i32, ptr %t16 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: %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 %t6 %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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str1952, i32 %t58, i32 %t62) call void @exit(i32 1) unreachable ixok15: %t65 = getelementptr inbounds ptr, ptr %t60, i32 %t58 %t66 = load ptr, ptr %t65 store ptr %t66, ptr %retval br label %ret ifend14: %t67 = load i32, ptr %t6 %t68 = add i32 %t67, 1 store i32 %t68, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t69 = load ptr, ptr %retval ret ptr %t69 } define i32 @fn_mc_has_variant(ptr %arg_en, ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_en, ptr %t0 store ptr %arg_v, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1953, 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_mc_variant(ptr %arg_e, ptr %arg_en) { entry: %retval = alloca ptr %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_en, ptr %t1 %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 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 35 %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 %scend1 scend1: %t18 = load i32, ptr %t5 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 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 %t4 br label %scend3 scend3: %t28 = load i32, ptr %t4 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 br i1 %t29, label %scend5, label %sc4 sc4: %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 ne 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 %t3 br label %scend5 scend5: %t40 = load i32, ptr %t3 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t2 br i1 %t41, label %scend7, label %sc6 sc6: %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 = load ptr, ptr %t1 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = call i32 @lp_str_eq(ptr %t47, ptr %t50) %t52 = icmp eq i32 %t51, 0 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t2 br label %scend7 scend7: %t56 = load i32, ptr %t2 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then8, label %ifend10 then8: store ptr null, ptr %retval br label %ret ifend10: %t58 = load ptr, ptr %t1 %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_mc_has_variant(ptr %t58, ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then11, label %ifend13 then11: store ptr null, ptr %retval br label %ret ifend13: %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %retval br label %ret ret: %t69 = load ptr, ptr %retval ret ptr %t69 } define ptr @fn_mc_value(ptr %arg_rec, ptr %arg_comp, ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t25 = alloca ptr %t26 = alloca i32 %t51 = alloca ptr store ptr %arg_rec, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_name, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str1954, 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 ptr, ptr %t25 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 42 %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 %sc5, label %scend6 sc5: %t34 = load ptr, ptr %t25 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t2 %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 %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 %t25 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 4 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %retval br label %ret ifend9: %t46 = load i32, ptr %t3 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t3 br label %wcond0 wend2: %t48 = load ptr, ptr %t1 %t49 = load ptr, ptr %t2 %t50 = call ptr @fn_mc_field(ptr %t48, ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = icmp eq ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: store ptr null, ptr %retval br label %ret ifend12: %t56 = load ptr, ptr %t51 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define void @fn_machines_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_mc_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 i32, ptr %t0 call void @fn_mc_resolve(i32 %t8) %t9 = load i32, ptr %t0 %t10 = add i32 %t9, 1 store i32 %t10, ptr %t0 br label %wcond0 wend2: call void @fn_diag_stop_if_errors() store i32 0, ptr %t0 br label %wcond3 wcond3: %t11 = load i32, ptr %t0 %t12 = load ptr, ptr @g_g_mc_reg %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 i32, ptr %t0 call void @fn_mc_rows(i32 %t18) %t19 = load i32, ptr %t0 call void @fn_mc_graph(i32 %t19) call void @fn_diag_stop_if_errors() %t20 = load i32, ptr %t0 call void @fn_mc_write(i32 %t20) %t21 = load i32, ptr %t0 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t0 br label %wcond3 wend5: store i32 0, ptr %t0 br label %wcond6 wcond6: %t23 = load i32, ptr %t0 %t24 = load ptr, ptr @g_g_mc_reg %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 %wbody7, label %wend8 wbody7: %t30 = load i32, ptr %t0 call void @fn_mc_check_fns(i32 %t30) %t31 = load i32, ptr %t0 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t0 br label %wcond6 wend8: call void @fn_diag_stop_if_errors() br label %ret ret: ret void } define void @fn_mc_resolve(i32 %arg_m) { entry: %t0 = alloca i32 %t11 = alloca ptr %t22 = alloca ptr %t34 = alloca i32 %t37 = alloca ptr %t45 = alloca i32 %t71 = alloca ptr %t85 = alloca ptr %t86 = alloca i32 %t130 = alloca ptr %t231 = alloca ptr %t232 = alloca i32 store i32 %arg_m, ptr %t0 %t1 = load ptr, ptr @g_g_mc_rec %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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str1955, 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_mc_field %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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1956, 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_mc_reg %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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1957, i32 %t24, i32 %t28) call void @exit(i32 1) unreachable ixok4: %t31 = getelementptr inbounds ptr, ptr %t26, i32 %t24 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_reg_find(ptr %t32) store i32 %t33, ptr %t34 %t35 = load ptr, ptr %t11 %t36 = call ptr @fn_rr_decl(ptr %t35) store ptr %t36, ptr %t37 %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 %then6, label %ifend8 then6: %t42 = load i32, ptr %t0 %t43 = load ptr, ptr %t11 store i32 969, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1958) store i32 0, ptr @lp_site call void @fn_mc_err(i32 %t42, ptr %t44) br label %ret ifend8: %t46 = load ptr, ptr %t37 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 12 %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 %scend10, label %sc9 sc9: %t53 = load ptr, ptr %t37 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 12 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 3 %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 %scend10 scend10: %t60 = load i32, ptr %t45 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then11, label %ifend13 then11: %t62 = load i32, ptr %t0 %t63 = load ptr, ptr %t11 store i32 970, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str1960) store i32 0, ptr @lp_site %t65 = load ptr, ptr %t11 store i32 971, 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 972, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1961) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) call void @fn_mc_err(i32 %t62, ptr %t67) br label %ret ifend13: %t68 = load ptr, ptr %t37 %t69 = load ptr, ptr %t22 %t70 = call ptr @fn_mc_field(ptr %t68, ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 %t73 = icmp eq ptr %t72, null %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then14, label %ifend16 then14: %t76 = load i32, ptr %t0 %t77 = load ptr, ptr %t11 store i32 973, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1962) store i32 0, ptr @lp_site %t79 = load ptr, ptr %t22 store i32 974, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) call void @fn_mc_err(i32 %t76, ptr %t80) br label %ret ifend16: %t81 = load ptr, ptr %t71 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 3 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_mc_enum_decl(ptr %t83) store ptr %t84, ptr %t85 %t87 = load ptr, ptr %t85 %t88 = icmp eq 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 %t86 br i1 %t90, label %scend18, label %sc17 sc17: %t92 = load ptr, ptr %t85 %t93 = call i32 @fn_enum_is_tagged(ptr %t92) %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t86 br label %scend18 scend18: %t96 = load i32, ptr %t86 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then19, label %ifend21 then19: %t98 = load i32, ptr %t0 %t99 = load ptr, ptr %t11 store i32 975, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str1963) store i32 0, ptr @lp_site %t101 = load ptr, ptr %t22 store i32 976, 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 977, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1964) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t71 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 3 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_rr_ty_text(ptr %t106) store i32 978, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t103, ptr %t107) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) store i32 979, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str1965) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) %t110 = load ptr, ptr %t22 store i32 980, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 981, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1966) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) call void @fn_mc_err(i32 %t98, ptr %t112) br label %ret ifend21: %t113 = load ptr, ptr @g_g_mc_enum %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 %ixok22, label %ixbad23 ixbad23: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str1967, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok22: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %t122 = load ptr, ptr %t85 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 store ptr %t124, ptr %t121 %t125 = load ptr, ptr %t71 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 4 %t127 = load ptr, ptr %t126 %t128 = load ptr, ptr %t85 %t129 = call ptr @fn_mc_variant(ptr %t127, ptr %t128) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t130 %t132 = icmp eq ptr %t131, null %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then24, label %ifend26 then24: %t135 = load i32, ptr %t0 %t136 = load ptr, ptr %t11 store i32 982, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1968) store i32 0, ptr @lp_site %t138 = load ptr, ptr %t22 store i32 983, 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) store i32 984, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str1969) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t22 store i32 985, 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 986, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str1970) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t85 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 1 %t146 = load ptr, ptr %t145 store i32 987, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t143, ptr %t146) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) store i32 988, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str1971) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load ptr, ptr %t85 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 store i32 989, 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 990, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str1972) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) %t154 = load ptr, ptr %t85 %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 %ixok27, label %ixbad28 ixbad28: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str1973, i32 0, i32 %t160) call void @exit(i32 1) unreachable ixok27: %t163 = getelementptr inbounds ptr, ptr %t158, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 1 %t166 = load ptr, ptr %t165 store i32 991, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t153, ptr %t166) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) store i32 992, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str1974) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) call void @fn_mc_err(i32 %t135, ptr %t168) br label %ret ifend26: %t169 = load ptr, ptr @g_g_mc_start %t170 = load i32, ptr %t0 %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 %ixok29, label %ixbad30 ixbad30: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str1975, i32 %t170, i32 %t174) call void @exit(i32 1) unreachable ixok29: %t177 = getelementptr inbounds ptr, ptr %t172, i32 %t170 %t178 = load ptr, ptr %t130 store ptr %t178, ptr %t177 %t179 = load ptr, ptr %t11 %t180 = load ptr, ptr %t22 %t181 = call i32 @fn_rr_is_column(ptr %t179, ptr %t180) %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then31, label %ifend33 then31: %t183 = load i32, ptr %t0 %t184 = load ptr, ptr %t11 store i32 993, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str1976) store i32 0, ptr @lp_site %t186 = load ptr, ptr %t22 store i32 994, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t185, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) store i32 995, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str1977) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) call void @fn_mc_err(i32 %t183, ptr %t188) br label %ifend33 ifend33: %t189 = load i32, ptr %t0 %t190 = load ptr, ptr %t11 call void @fn_mc_resolve_table(i32 %t189, ptr %t190) %t191 = load i32, ptr %t0 %t192 = load ptr, ptr @g_g_rg_type %t193 = load i32, ptr %t34 %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 %ixok34, label %ixbad35 ixbad35: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str1978, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok34: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_find_comp(ptr %t201) %t203 = load ptr, ptr %t85 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 %t205 = load ptr, ptr %t204 %t206 = load ptr, ptr %t11 call void @fn_mc_resolve_shape(i32 %t191, ptr %t202, ptr %t205, ptr %t206) %t207 = load ptr, ptr @g_g_mc_state %t208 = load i32, ptr %t0 %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 %ixok36, label %ixbad37 ixbad37: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str1979, i32 %t208, i32 %t212) call void @exit(i32 1) unreachable ixok36: %t215 = getelementptr inbounds ptr, ptr %t210, i32 %t208 %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 %then38, label %ifend40 then38: %t220 = load ptr, ptr @g_g_mc_state %t221 = load i32, ptr %t0 %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 %ixok41, label %ixbad42 ixbad42: %t227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str1980, i32 %t221, i32 %t225) call void @exit(i32 1) unreachable ixok41: %t228 = getelementptr inbounds ptr, ptr %t223, i32 %t221 %t229 = load ptr, ptr %t228 %t230 = call ptr @fn_rr_decl(ptr %t229) store ptr %t230, ptr %t231 %t233 = load ptr, ptr %t231 %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 %t232 br i1 %t236, label %sc43, label %scend44 sc43: %t238 = load ptr, ptr %t231 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 9 %t240 = load ptr, ptr %t239 %t241 = call ptr @fn_rr_mod(ptr %t240) %t242 = load ptr, ptr @g_g_mc_file %t243 = load i32, ptr %t0 %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 %ixok45, label %ixbad46 ixbad46: %t249 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t249, ptr @.fmt_bounds, ptr @.str1981, i32 %t243, i32 %t247) call void @exit(i32 1) unreachable ixok45: %t250 = getelementptr inbounds ptr, ptr %t245, i32 %t243 %t251 = load ptr, ptr %t250 %t252 = call ptr @fn_rr_mod(ptr %t251) %t253 = call i32 @lp_str_eq(ptr %t241, ptr %t252) %t254 = icmp eq i32 %t253, 0 %t255 = zext i1 %t254 to i32 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t232 br label %scend44 scend44: %t258 = load i32, ptr %t232 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then47, label %ifend49 then47: %t260 = load i32, ptr %t0 %t261 = load ptr, ptr @g_g_mc_state %t262 = load i32, ptr %t0 %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 %ixok50, label %ixbad51 ixbad51: %t268 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str1982, i32 %t262, i32 %t266) call void @exit(i32 1) unreachable ixok50: %t269 = getelementptr inbounds ptr, ptr %t264, i32 %t262 %t270 = load ptr, ptr %t269 store i32 996, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str1983) store i32 0, ptr @lp_site %t272 = load ptr, ptr %t231 %t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 9 %t274 = load ptr, ptr %t273 %t275 = call ptr @fn_rr_mod_name(ptr %t274) store i32 997, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr %t271, ptr %t275) store i32 0, ptr @lp_site call void @lp_free(ptr %t271) store i32 998, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str1984) store i32 0, ptr @lp_site call void @lp_free(ptr %t276) %t278 = load ptr, ptr @g_g_mc_file %t279 = load i32, ptr %t0 %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 %ixok52, label %ixbad53 ixbad53: %t285 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str1985, i32 %t279, i32 %t283) call void @exit(i32 1) unreachable ixok52: %t286 = getelementptr inbounds ptr, ptr %t281, i32 %t279 %t287 = load ptr, ptr %t286 %t288 = call ptr @fn_rr_mod_name(ptr %t287) store i32 999, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr %t277, ptr %t288) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) store i32 1000, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str1986) store i32 0, ptr @lp_site call void @lp_free(ptr %t289) call void @fn_mc_err(i32 %t260, ptr %t290) br label %ifend49 ifend49: br label %ifend40 ifend40: br label %ret ret: ret void } define void @fn_mc_resolve_table(i32 %arg_m, ptr %arg_rec) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca i32 %t22 = alloca ptr %t23 = alloca i32 %t40 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 store i32 %arg_m, ptr %t0 store ptr %arg_rec, ptr %t1 store i32 0, ptr %t2 store ptr @.str1987, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_prog %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr @g_prog %t13 = 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 %ixok3, label %ixbad4 ixbad4: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str1988, i32 %t13, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t15, i32 %t13 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t24 = load ptr, ptr %t22 %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 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t23 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t22 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 12 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 2 %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 %scend6 scend6: %t38 = load i32, ptr %t23 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: store i32 0, ptr %t40 br label %wcond10 wcond10: %t41 = load i32, ptr %t40 %t42 = load ptr, ptr %t22 %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 %wbody11, label %wend12 wbody11: %t50 = load ptr, ptr %t22 %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 %ixok13, label %ixbad14 ixbad14: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str1989, 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 %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, 1 %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 %sc15, label %scend16 sc15: %t71 = load ptr, ptr %t62 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 %t73 = load ptr, ptr %t72 %t74 = load ptr, ptr %t1 store i32 1001, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str1990, ptr %t74) store i32 0, ptr @lp_site %t76 = call i32 @lp_str_eq(ptr %t73, ptr %t75) call void @lp_free(ptr %t75) %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t63 br label %scend16 scend16: %t79 = load i32, ptr %t63 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then17, label %ifend19 then17: %t81 = load i32, ptr %t2 %t82 = icmp eq i32 %t81, 0 %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then20, label %ifend22 then20: %t85 = load ptr, ptr @g_g_mc_state %t86 = load i32, ptr %t0 %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 %ixok23, label %ixbad24 ixbad24: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str1992, i32 %t86, i32 %t90) call void @exit(i32 1) unreachable ixok23: %t93 = getelementptr inbounds ptr, ptr %t88, i32 %t86 %t94 = load ptr, ptr %t22 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 %t96 = load ptr, ptr %t95 store ptr %t96, ptr %t93 %t97 = load ptr, ptr @g_g_mc_path %t98 = load i32, ptr %t0 %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 %ixok25, label %ixbad26 ixbad26: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str1993, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok25: %t105 = getelementptr inbounds ptr, ptr %t100, i32 %t98 %t106 = load ptr, ptr %t62 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t105 br label %ifend22 ifend22: %t109 = load i32, ptr %t2 %t110 = icmp sgt i32 %t109, 0 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then27, label %ifend29 then27: %t113 = load ptr, ptr %t3 store i32 1002, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1994) store i32 0, ptr @lp_site store ptr %t114, ptr %t3 br label %ifend29 ifend29: %t115 = load ptr, ptr %t3 %t116 = load ptr, ptr %t22 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store i32 1003, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str1995) store i32 0, ptr @lp_site %t120 = load ptr, ptr %t62 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t121 store i32 1004, 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 1005, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t115, ptr %t123) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store ptr %t124, ptr %t3 %t125 = load i32, ptr %t2 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t2 br label %ifend19 ifend19: %t127 = load i32, ptr %t40 %t128 = add i32 %t127, 1 store i32 %t128, ptr %t40 br label %wcond10 wend12: br label %ifend9 ifend9: %t129 = load i32, ptr %t4 %t130 = add i32 %t129, 1 store i32 %t130, ptr %t4 br label %wcond0 wend2: %t131 = load i32, ptr %t2 %t132 = icmp eq i32 %t131, 0 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then30, label %ifend32 then30: %t135 = load i32, ptr %t0 %t136 = load ptr, ptr %t1 store i32 1006, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str1996, ptr %t136) store i32 0, ptr @lp_site store i32 1007, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str1997) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t1 store i32 1008, 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 1009, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str1998) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) call void @fn_mc_err(i32 %t135, ptr %t141) br label %ifend32 ifend32: %t142 = load i32, ptr %t2 %t143 = icmp sgt i32 %t142, 1 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then33, label %ifend35 then33: %t146 = load i32, ptr %t0 %t147 = load i32, ptr %t2 store i32 1010, ptr @lp_site %t148 = call ptr @lp_int_str(i32 %t147) store i32 0, ptr @lp_site store i32 1011, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str1999) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t150 = load ptr, ptr %t1 store i32 1012, 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) store i32 1013, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str2000) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) %t153 = load ptr, ptr %t3 store i32 1014, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t152, ptr %t153) store i32 0, ptr @lp_site call void @lp_free(ptr %t152) store i32 1015, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2001) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) call void @fn_mc_err(i32 %t146, ptr %t155) br label %ifend35 ifend35: br label %ret ret: ret void } define void @fn_mc_resolve_shape(i32 %arg_m, ptr %arg_comp, ptr %arg_en, ptr %arg_rec) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t16 = alloca ptr %t28 = alloca i32 %t51 = alloca ptr %t54 = alloca ptr %t57 = alloca ptr %t58 = alloca i32 %t59 = alloca i32 %t60 = alloca i32 %t61 = alloca i32 %t62 = alloca i32 store i32 %arg_m, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_en, ptr %t2 store ptr %arg_rec, ptr %t3 %t4 = load ptr, ptr %t2 store i32 1016, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str2002, ptr %t4) store i32 0, ptr @lp_site store i32 1017, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2004) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 1018, 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 1019, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2005) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = load ptr, ptr %t3 store i32 1020, 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 1021, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2006) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t3 store i32 1022, 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 1023, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2007) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr @g_g_mc_reg %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 %ixok0, label %ixbad1 ixbad1: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str2008, 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 = call i32 @fn_reg_find(ptr %t26) store i32 %t27, ptr %t28 %t29 = load ptr, ptr %t1 %t30 = icmp eq ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then2, label %ifend4 then2: %t33 = load i32, ptr %t0 %t34 = load ptr, ptr @g_g_rg_type %t35 = load i32, ptr %t28 %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 %ixok5, label %ixbad6 ixbad6: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str2010, i32 %t35, i32 %t39) call void @exit(i32 1) unreachable ixok5: %t42 = getelementptr inbounds ptr, ptr %t37, i32 %t35 %t43 = load ptr, ptr %t42 store i32 1024, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str2009, ptr %t43) store i32 0, ptr @lp_site store i32 1025, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str2011) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t16 store i32 1026, 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 1027, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2012) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) call void @fn_mc_err(i32 %t33, ptr %t48) br label %ret ifend4: %t49 = load ptr, ptr %t1 %t50 = call ptr @fn_mc_field(ptr %t49, ptr @.str2013) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t1 %t53 = call ptr @fn_mc_field(ptr %t52, ptr @.str2014) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t1 %t56 = call ptr @fn_mc_field(ptr %t55, ptr @.str2015) store ptr %t56, ptr %t57 %t63 = load ptr, ptr %t51 %t64 = icmp eq 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 %t62 br i1 %t66, label %scend8, label %sc7 sc7: %t68 = load ptr, ptr %t54 %t69 = icmp eq ptr %t68, null %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 %scend8 scend8: %t73 = load i32, ptr %t62 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t61 br i1 %t74, label %scend10, label %sc9 sc9: %t76 = load ptr, ptr %t57 %t77 = icmp eq 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 %t61 br label %scend10 scend10: %t81 = load i32, ptr %t61 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t60 br i1 %t82, label %scend12, label %sc11 sc11: %t84 = load ptr, ptr %t51 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t2 %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 %t60 br label %scend12 scend12: %t93 = load i32, ptr %t60 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t59 br i1 %t94, label %scend14, label %sc13 sc13: %t96 = load ptr, ptr %t54 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 3 %t98 = load ptr, ptr %t97 %t99 = load ptr, ptr %t2 %t100 = call i32 @lp_str_eq(ptr %t98, ptr %t99) %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 %t59 br label %scend14 scend14: %t105 = load i32, ptr %t59 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t58 br i1 %t106, label %scend16, label %sc15 sc15: %t108 = load ptr, ptr %t57 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 3 %t110 = load ptr, ptr %t109 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str2016) %t112 = icmp eq 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 %t58 br label %scend16 scend16: %t116 = load i32, ptr %t58 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then17, label %ifend19 then17: %t118 = load i32, ptr %t0 %t119 = load ptr, ptr %t1 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t120 store i32 1028, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str2017) store i32 0, ptr @lp_site %t123 = load ptr, ptr %t16 store i32 1029, 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 1030, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str2018) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) call void @fn_mc_err(i32 %t118, ptr %t125) br label %ret ifend19: %t126 = load i32, ptr %t0 %t127 = load ptr, ptr %t1 %t128 = load ptr, ptr %t3 %t129 = load ptr, ptr %t16 call void @fn_mc_shape_fn(i32 %t126, ptr %t127, ptr @.str2019, ptr @.str2020, ptr %t128, ptr %t129) %t130 = load i32, ptr %t0 %t131 = load ptr, ptr %t1 %t132 = load ptr, ptr %t3 %t133 = load ptr, ptr %t16 call void @fn_mc_shape_fn(i32 %t130, ptr %t131, ptr @.str2021, ptr @.str2022, ptr %t132, ptr %t133) br label %ret ret: ret void } define void @fn_mc_shape_fn(i32 %arg_m, ptr %arg_comp, ptr %arg_name, ptr %arg_ret, ptr %arg_rec, ptr %arg_shape) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t9 = alloca ptr %t14 = alloca i32 %t55 = alloca ptr %t56 = alloca i32 %t95 = alloca i32 store i32 %arg_m, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_name, ptr %t2 store ptr %arg_ret, ptr %t3 store ptr %arg_rec, ptr %t4 store ptr %arg_shape, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = load ptr, ptr %t2 %t8 = call ptr @fn_mc_field(ptr %t6, 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: br label %ret ifend2: %t15 = load ptr, ptr %t9 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 3 %t17 = load ptr, ptr %t16 %t18 = call i32 @fn_str_starts(ptr %t17, ptr @.str2023) %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 %t14 br i1 %t21, label %scend4, label %sc3 sc3: %t23 = load ptr, ptr %t9 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 3 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_fn_ty_ret(ptr %t25) %t27 = load ptr, ptr %t3 %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 %t14 br label %scend4 scend4: %t33 = load i32, ptr %t14 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load i32, ptr %t0 %t36 = load ptr, ptr %t1 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 store i32 1031, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str2024) store i32 0, ptr @lp_site %t40 = load ptr, ptr %t2 store i32 1032, 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 1033, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2026) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t9 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 %t45 = load ptr, ptr %t44 store i32 1034, 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) store i32 1035, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str2027) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t5 store i32 1036, 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 1037, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str2028) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) call void @fn_mc_err(i32 %t35, ptr %t50) br label %ret ifend7: %t51 = load ptr, ptr %t9 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_fn_ty_params(ptr %t53) store ptr %t54, ptr %t55 %t57 = load ptr, ptr %t55 %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t59 = load i32, 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 %scend9, label %sc8 sc8: %t64 = load ptr, ptr %t55 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 0, %t68 br i1 %t69, label %ixok10, label %ixbad11 ixbad11: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str2029, i32 0, i32 %t68) call void @exit(i32 1) unreachable ixok10: %t71 = getelementptr inbounds ptr, ptr %t66, i32 0 %t72 = load ptr, ptr %t71 %t73 = load ptr, ptr %t4 store i32 1038, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str2030, ptr %t73) store i32 0, ptr @lp_site %t75 = call i32 @lp_str_eq(ptr %t72, ptr %t74) call void @lp_free(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 %t56 br label %scend9 scend9: %t80 = load i32, ptr %t56 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then12, label %ifend14 then12: %t82 = load i32, ptr %t0 %t83 = load ptr, ptr %t1 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 store i32 1039, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str2031) store i32 0, ptr @lp_site %t87 = load ptr, ptr %t2 store i32 1040, 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 1041, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str2032) store i32 0, ptr @lp_site call void @lp_free(ptr %t88) %t90 = load ptr, ptr %t4 store i32 1042, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t89, ptr %t90) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) store i32 1043, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str2033) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t3 store i32 1044, 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) call void @fn_mc_err(i32 %t82, ptr %t94) br label %ret ifend14: store i32 1, ptr %t95 br label %wcond15 wcond15: %t96 = load i32, ptr %t95 %t97 = load ptr, ptr %t55 %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 %wbody16, label %wend17 wbody16: %t103 = load ptr, ptr %t55 %t104 = load i32, ptr %t95 %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 %ixok18, label %ixbad19 ixbad19: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str2034, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok18: %t111 = getelementptr inbounds ptr, ptr %t106, i32 %t104 %t112 = load ptr, ptr %t111 %t113 = call i32 @fn_is_state_ty(ptr %t112) %t114 = icmp eq i32 %t113, 0 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then20, label %ifend22 then20: %t117 = load i32, ptr %t0 %t118 = load ptr, ptr %t1 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 store i32 1045, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str2035) store i32 0, ptr @lp_site %t122 = load ptr, ptr %t2 store i32 1046, 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 1047, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str2036) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) %t125 = load ptr, ptr %t55 %t126 = load i32, ptr %t95 %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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str2037, 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 = call ptr @fn_rr_ty_text(ptr %t134) store i32 1048, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t124, ptr %t135) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) store i32 1049, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str2038) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) call void @fn_mc_err(i32 %t117, ptr %t137) br label %ifend22 ifend22: %t138 = load i32, ptr %t95 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t95 br label %wcond15 wend17: br label %ret ret: ret void } define void @fn_mc_rows(i32 %arg_m) { entry: %t0 = alloca i32 %t66 = alloca i32 %t78 = alloca ptr %t90 = alloca ptr %t93 = alloca ptr %t94 = alloca i32 %t112 = alloca i32 %t123 = alloca ptr %t237 = alloca i32 store i32 %arg_m, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 1050, 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_mt_key %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 store i32 1051, 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_mt_from %t13 = getelementptr %LSlice, ptr null, i32 1 %t14 = ptrtoint ptr %t13 to i64 store i32 1052, 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_mt_to %t19 = getelementptr %LSlice, ptr null, i32 1 %t20 = ptrtoint ptr %t19 to i64 store i32 1053, 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 @g_g_mt_on %t25 = getelementptr %LSlice, ptr null, i32 1 %t26 = ptrtoint ptr %t25 to i64 store i32 1054, 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 @g_g_mt_guard %t31 = getelementptr %LSlice, ptr null, i32 1 %t32 = ptrtoint ptr %t31 to i64 store i32 1055, 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 @g_g_mt_enter %t37 = getelementptr %LSlice, ptr null, i32 1 %t38 = ptrtoint ptr %t37 to i64 store i32 1056, ptr @lp_site %t39 = call ptr @lp_malloc(i64 %t38) store i32 0, ptr @lp_site %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 store ptr null, ptr %t40 %t41 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 store i32 0, ptr %t41 %t42 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 2 store i32 0, ptr %t42 store ptr %t39, ptr @g_g_mt_file %t43 = getelementptr %LSlice, ptr null, i32 1 %t44 = ptrtoint ptr %t43 to i64 store i32 1057, 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 @g_g_mt_line %t49 = getelementptr %LSlice, ptr null, i32 1 %t50 = ptrtoint ptr %t49 to i64 store i32 1058, ptr @lp_site %t51 = call ptr @lp_malloc(i64 %t50) store i32 0, ptr @lp_site %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 store ptr null, ptr %t52 %t53 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 store i32 0, ptr %t53 %t54 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 2 store i32 0, ptr %t54 store ptr %t51, ptr @g_g_mt_col %t55 = load ptr, ptr @g_g_mc_reg %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 %ixok0, label %ixbad1 ixbad1: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str2040, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok0: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 %t65 = call i32 @fn_reg_find(ptr %t64) store i32 %t65, ptr %t66 %t67 = load ptr, ptr @g_g_rg_type %t68 = load i32, ptr %t66 %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 %ixok2, label %ixbad3 ixbad3: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str2041, i32 %t68, i32 %t72) call void @exit(i32 1) unreachable ixok2: %t75 = getelementptr inbounds ptr, ptr %t70, i32 %t68 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_find_comp(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr @g_g_mc_enum %t80 = load i32, ptr %t0 %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 %ixok4, label %ixbad5 ixbad5: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str2042, i32 %t80, i32 %t84) call void @exit(i32 1) unreachable ixok4: %t87 = getelementptr inbounds ptr, ptr %t82, i32 %t80 %t88 = load ptr, ptr %t87 %t89 = call ptr @fn_mc_enum_decl(ptr %t88) store ptr %t89, ptr %t90 %t91 = load i32, ptr %t66 %t92 = call ptr @fn_reg_order(i32 %t91) store ptr %t92, ptr %t93 store i32 0, ptr %t94 br label %wcond6 wcond6: %t95 = load i32, ptr %t94 %t96 = load ptr, ptr %t93 %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 %wbody7, label %wend8 wbody7: %t102 = load ptr, ptr %t93 %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 %ixok9, label %ixbad10 ixbad10: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str2043, i32 %t103, i32 %t107) call void @exit(i32 1) unreachable ixok9: %t110 = getelementptr inbounds i32, ptr %t105, i32 %t103 %t111 = load i32, ptr %t110 store i32 %t111, ptr %t112 %t113 = load ptr, ptr @g_g_df_rec %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 %ixok11, label %ixbad12 ixbad12: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str2044, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok11: %t121 = getelementptr inbounds ptr, ptr %t116, i32 %t114 %t122 = load ptr, ptr %t121 store ptr %t122, ptr %t123 %t124 = load ptr, ptr @g_g_mt_key %t125 = load ptr, ptr @g_g_df_key %t126 = load i32, ptr %t112 %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 %ixok13, label %ixbad14 ixbad14: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str2045, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok13: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 %t136 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 2 %t137 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 %t138 = load i32, ptr %t135 %t139 = load i32, ptr %t136 %t140 = icmp sge i32 %t138, %t139 br i1 %t140, label %grow15, label %put16 grow15: %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 1059, 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 %put16 put16: %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_mt_file %t154 = load ptr, ptr %t123 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 9 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t158 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 2 %t159 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t160 = load i32, ptr %t157 %t161 = load i32, ptr %t158 %t162 = icmp sge i32 %t160, %t161 br i1 %t162, label %grow17, label %put18 grow17: %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 1060, 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 %put18 put18: %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_g_mt_line %t176 = load ptr, ptr @g_g_df_kline %t177 = load i32, ptr %t112 %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 %ixok19, label %ixbad20 ixbad20: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str2046, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok19: %t184 = getelementptr inbounds i32, ptr %t179, i32 %t177 %t185 = load i32, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t187 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 2 %t188 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t189 = load i32, ptr %t186 %t190 = load i32, ptr %t187 %t191 = icmp sge i32 %t189, %t190 br i1 %t191, label %grow21, label %put22 grow21: %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 1061, 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 %put22 put22: %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 @g_g_mt_col %t205 = load ptr, ptr @g_g_df_kcol %t206 = load i32, ptr %t112 %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 %ixok23, label %ixbad24 ixbad24: %t212 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str2047, i32 %t206, i32 %t210) call void @exit(i32 1) unreachable ixok23: %t213 = getelementptr inbounds i32, ptr %t208, i32 %t206 %t214 = load i32, ptr %t213 %t215 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t216 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 2 %t217 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t218 = load i32, ptr %t215 %t219 = load i32, ptr %t216 %t220 = icmp sge i32 %t218, %t219 br i1 %t220, label %grow25, label %put26 grow25: %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 1062, 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 %put26 put26: %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 %t233 = load ptr, ptr @g_g_mt_key %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = sub i32 %t235, 1 store i32 %t236, ptr %t237 %t238 = load ptr, ptr @g_g_mt_from %t239 = load ptr, ptr %t123 %t240 = load ptr, ptr %t78 %t241 = call ptr @fn_mc_value(ptr %t239, ptr %t240, ptr @.str2048) %t242 = load ptr, ptr %t90 %t243 = call ptr @fn_mc_variant(ptr %t241, ptr %t242) %t244 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t245 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 %t246 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t247 = load i32, ptr %t244 %t248 = load i32, ptr %t245 %t249 = icmp sge i32 %t247, %t248 br i1 %t249, label %grow27, label %put28 grow27: %t250 = mul i32 %t248, 2 %t251 = icmp eq i32 %t248, 0 %t252 = select i1 %t251, i32 8, i32 %t250 %t253 = getelementptr ptr, ptr null, i32 1 %t254 = ptrtoint ptr %t253 to i64 %t255 = zext i32 %t252 to i64 %t256 = mul i64 %t255, %t254 %t257 = load ptr, ptr %t246 store i32 1063, ptr @lp_site %t258 = call ptr @lp_realloc(ptr %t257, i64 %t256) store i32 0, ptr @lp_site store ptr %t258, ptr %t246 store i32 %t252, ptr %t245 br label %put28 put28: %t259 = load ptr, ptr %t246 %t260 = getelementptr inbounds ptr, ptr %t259, i32 %t247 store ptr %t243, ptr %t260 %t261 = add i32 %t247, 1 store i32 %t261, ptr %t244 %t262 = load ptr, ptr @g_g_mt_to %t263 = load ptr, ptr %t123 %t264 = load ptr, ptr %t78 %t265 = call ptr @fn_mc_value(ptr %t263, ptr %t264, ptr @.str2049) %t266 = load ptr, ptr %t90 %t267 = call ptr @fn_mc_variant(ptr %t265, ptr %t266) %t268 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t269 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 2 %t270 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 %t271 = load i32, ptr %t268 %t272 = load i32, ptr %t269 %t273 = icmp sge i32 %t271, %t272 br i1 %t273, label %grow29, label %put30 grow29: %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 1064, 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 %put30 put30: %t283 = load ptr, ptr %t270 %t284 = getelementptr inbounds ptr, ptr %t283, i32 %t271 store ptr %t267, ptr %t284 %t285 = add i32 %t271, 1 store i32 %t285, ptr %t268 %t286 = load ptr, ptr @g_g_mt_on %t287 = load i32, ptr %t0 %t288 = load i32, ptr %t237 %t289 = load ptr, ptr %t123 %t290 = load ptr, ptr %t78 %t291 = call ptr @fn_mc_value(ptr %t289, ptr %t290, ptr @.str2050) %t292 = call ptr @fn_mc_on(i32 %t287, i32 %t288, ptr %t291) %t293 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 1 %t294 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 2 %t295 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0 %t296 = load i32, ptr %t293 %t297 = load i32, ptr %t294 %t298 = icmp sge i32 %t296, %t297 br i1 %t298, label %grow31, label %put32 grow31: %t299 = mul i32 %t297, 2 %t300 = icmp eq i32 %t297, 0 %t301 = select i1 %t300, i32 8, i32 %t299 %t302 = getelementptr ptr, ptr null, i32 1 %t303 = ptrtoint ptr %t302 to i64 %t304 = zext i32 %t301 to i64 %t305 = mul i64 %t304, %t303 %t306 = load ptr, ptr %t295 store i32 1065, ptr @lp_site %t307 = call ptr @lp_realloc(ptr %t306, i64 %t305) store i32 0, ptr @lp_site store ptr %t307, ptr %t295 store i32 %t301, ptr %t294 br label %put32 put32: %t308 = load ptr, ptr %t295 %t309 = getelementptr inbounds ptr, ptr %t308, i32 %t296 store ptr %t292, ptr %t309 %t310 = add i32 %t296, 1 store i32 %t310, ptr %t293 %t311 = load ptr, ptr @g_g_mt_guard %t312 = load i32, ptr %t0 %t313 = load i32, ptr %t237 %t314 = load ptr, ptr %t123 %t315 = load ptr, ptr %t78 %t316 = call ptr @fn_mc_value(ptr %t314, ptr %t315, ptr @.str2051) %t317 = call ptr @fn_mc_fn_of(i32 %t312, i32 %t313, ptr %t316, ptr @.str2052) %t318 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 1 %t319 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 2 %t320 = getelementptr inbounds %LSlice, ptr %t311, i32 0, i32 0 %t321 = load i32, ptr %t318 %t322 = load i32, ptr %t319 %t323 = icmp sge i32 %t321, %t322 br i1 %t323, label %grow33, label %put34 grow33: %t324 = mul i32 %t322, 2 %t325 = icmp eq i32 %t322, 0 %t326 = select i1 %t325, i32 8, i32 %t324 %t327 = getelementptr ptr, ptr null, i32 1 %t328 = ptrtoint ptr %t327 to i64 %t329 = zext i32 %t326 to i64 %t330 = mul i64 %t329, %t328 %t331 = load ptr, ptr %t320 store i32 1066, ptr @lp_site %t332 = call ptr @lp_realloc(ptr %t331, i64 %t330) store i32 0, ptr @lp_site store ptr %t332, ptr %t320 store i32 %t326, ptr %t319 br label %put34 put34: %t333 = load ptr, ptr %t320 %t334 = getelementptr inbounds ptr, ptr %t333, i32 %t321 store ptr %t317, ptr %t334 %t335 = add i32 %t321, 1 store i32 %t335, ptr %t318 %t336 = load ptr, ptr @g_g_mt_enter %t337 = load i32, ptr %t0 %t338 = load i32, ptr %t237 %t339 = load ptr, ptr %t123 %t340 = load ptr, ptr %t78 %t341 = call ptr @fn_mc_value(ptr %t339, ptr %t340, ptr @.str2053) %t342 = call ptr @fn_mc_fn_of(i32 %t337, i32 %t338, ptr %t341, ptr @.str2054) %t343 = getelementptr inbounds %LSlice, ptr %t336, i32 0, i32 1 %t344 = getelementptr inbounds %LSlice, ptr %t336, i32 0, i32 2 %t345 = getelementptr inbounds %LSlice, ptr %t336, i32 0, i32 0 %t346 = load i32, ptr %t343 %t347 = load i32, ptr %t344 %t348 = icmp sge i32 %t346, %t347 br i1 %t348, label %grow35, label %put36 grow35: %t349 = mul i32 %t347, 2 %t350 = icmp eq i32 %t347, 0 %t351 = select i1 %t350, i32 8, i32 %t349 %t352 = getelementptr ptr, ptr null, i32 1 %t353 = ptrtoint ptr %t352 to i64 %t354 = zext i32 %t351 to i64 %t355 = mul i64 %t354, %t353 %t356 = load ptr, ptr %t345 store i32 1067, 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 %put36 put36: %t358 = load ptr, ptr %t345 %t359 = getelementptr inbounds ptr, ptr %t358, i32 %t346 store ptr %t342, ptr %t359 %t360 = add i32 %t346, 1 store i32 %t360, ptr %t343 %t361 = load ptr, ptr @g_g_mt_from %t362 = load i32, ptr %t237 %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 %ixok37, label %ixbad38 ixbad38: %t368 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t368, ptr @.fmt_bounds, ptr @.str2055, i32 %t362, i32 %t366) call void @exit(i32 1) unreachable ixok37: %t369 = getelementptr inbounds ptr, ptr %t364, i32 %t362 %t370 = load ptr, ptr %t369 %t371 = icmp eq ptr %t370, null %t372 = zext i1 %t371 to i32 %t373 = icmp ne i32 %t372, 0 br i1 %t373, label %then39, label %ifend41 then39: %t374 = load i32, ptr %t0 %t375 = load i32, ptr %t237 %t376 = load ptr, ptr %t90 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 1 %t378 = load ptr, ptr %t377 store i32 1068, ptr @lp_site %t379 = call ptr @lp_str_concat(ptr @.str2056, ptr %t378) store i32 0, ptr @lp_site store i32 1069, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2057) store i32 0, ptr @lp_site call void @lp_free(ptr %t379) %t381 = load ptr, ptr %t90 %t382 = getelementptr inbounds %Cmp_Node, ptr %t381, i32 0, i32 1 %t383 = load ptr, ptr %t382 store i32 1070, ptr @lp_site %t384 = call ptr @lp_str_concat(ptr %t380, ptr %t383) store i32 0, ptr @lp_site call void @lp_free(ptr %t380) store i32 1071, ptr @lp_site %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str2058) store i32 0, ptr @lp_site call void @lp_free(ptr %t384) %t386 = load ptr, ptr %t90 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 7 %t388 = load ptr, ptr %t387 %t389 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 0 %t390 = load ptr, ptr %t389 %t391 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 1 %t392 = load i32, ptr %t391 %t393 = icmp ult i32 0, %t392 br i1 %t393, label %ixok42, label %ixbad43 ixbad43: %t394 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t394, ptr @.fmt_bounds, ptr @.str2059, i32 0, i32 %t392) call void @exit(i32 1) unreachable ixok42: %t395 = getelementptr inbounds ptr, ptr %t390, i32 0 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %Cmp_Node, ptr %t396, i32 0, i32 1 %t398 = load ptr, ptr %t397 store i32 1072, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr %t385, ptr %t398) store i32 0, ptr @lp_site call void @lp_free(ptr %t385) store i32 1073, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str2060) store i32 0, ptr @lp_site call void @lp_free(ptr %t399) call void @fn_mc_row_err(i32 %t374, i32 %t375, ptr %t400) br label %ifend41 ifend41: %t401 = load ptr, ptr @g_g_mt_to %t402 = load i32, ptr %t237 %t403 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 %t402, %t406 br i1 %t407, label %ixok44, label %ixbad45 ixbad45: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str2061, i32 %t402, i32 %t406) call void @exit(i32 1) unreachable ixok44: %t409 = getelementptr inbounds ptr, ptr %t404, i32 %t402 %t410 = load ptr, ptr %t409 %t411 = icmp eq ptr %t410, null %t412 = zext i1 %t411 to i32 %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then46, label %ifend48 then46: %t414 = load i32, ptr %t0 %t415 = load i32, ptr %t237 %t416 = load ptr, ptr %t90 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1 %t418 = load ptr, ptr %t417 store i32 1074, ptr @lp_site %t419 = call ptr @lp_str_concat(ptr @.str2062, ptr %t418) store i32 0, ptr @lp_site store i32 1075, ptr @lp_site %t420 = call ptr @lp_str_concat(ptr %t419, ptr @.str2063) store i32 0, ptr @lp_site call void @lp_free(ptr %t419) %t421 = load ptr, ptr %t90 %t422 = getelementptr inbounds %Cmp_Node, ptr %t421, i32 0, i32 1 %t423 = load ptr, ptr %t422 store i32 1076, ptr @lp_site %t424 = call ptr @lp_str_concat(ptr %t420, ptr %t423) store i32 0, ptr @lp_site call void @lp_free(ptr %t420) store i32 1077, ptr @lp_site %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2064) store i32 0, ptr @lp_site call void @lp_free(ptr %t424) %t426 = load ptr, ptr %t90 %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 0, %t432 br i1 %t433, label %ixok49, label %ixbad50 ixbad50: %t434 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str2065, i32 0, i32 %t432) call void @exit(i32 1) unreachable ixok49: %t435 = getelementptr inbounds ptr, ptr %t430, i32 0 %t436 = load ptr, ptr %t435 %t437 = getelementptr inbounds %Cmp_Node, ptr %t436, i32 0, i32 1 %t438 = load ptr, ptr %t437 store i32 1078, ptr @lp_site %t439 = call ptr @lp_str_concat(ptr %t425, ptr %t438) store i32 0, ptr @lp_site call void @lp_free(ptr %t425) store i32 1079, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2066) store i32 0, ptr @lp_site call void @lp_free(ptr %t439) call void @fn_mc_row_err(i32 %t414, i32 %t415, ptr %t440) br label %ifend48 ifend48: %t441 = load i32, ptr %t94 %t442 = add i32 %t441, 1 store i32 %t442, ptr %t94 br label %wcond6 wend8: br label %ret ret: ret void } define ptr @fn_mc_on(i32 %arg_m, i32 %arg_t, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca ptr store i32 %arg_m, ptr %t0 store i32 %arg_t, ptr %t1 store ptr %arg_e, 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 @.str2067, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t2 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp ne i32 %t9, 31 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load i32, ptr %t0 %t14 = load i32, ptr %t1 call void @fn_mc_row_err(i32 %t13, i32 %t14, ptr @.str2068) store ptr @.str2069, ptr %retval br label %ret ifend5: %t15 = load ptr, ptr %t2 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = call i64 @strlen(ptr %t17) %t19 = trunc i64 %t18 to i32 %t20 = icmp eq i32 %t19, 0 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then6, label %ifend8 then6: store ptr @.str2070, ptr %retval br label %ret ifend8: %t23 = load ptr, ptr %t2 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_act_index(ptr %t25) %t27 = icmp slt i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then9, label %ifend11 then9: %t30 = load i32, ptr %t0 %t31 = load i32, ptr %t1 %t32 = load ptr, ptr %t2 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 store i32 1080, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str2071, ptr %t34) store i32 0, ptr @lp_site store i32 1081, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2073) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t2 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 %t39 = load ptr, ptr %t38 store i32 1082, 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 1083, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str2074) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) call void @fn_mc_row_err(i32 %t30, i32 %t31, ptr %t41) %t42 = load ptr, ptr %t2 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %retval br label %ret ifend11: %t45 = load ptr, ptr %t2 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_rr_target(ptr %t47) %t49 = icmp eq ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: %t52 = load i32, ptr %t0 %t53 = load i32, ptr %t1 %t54 = load ptr, ptr %t2 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 store i32 1084, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str2075, ptr %t56) store i32 0, ptr @lp_site store i32 1085, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str2076) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load ptr, ptr %t2 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 store i32 1086, 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 1087, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str2077) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) call void @fn_mc_row_err(i32 %t52, i32 %t53, ptr %t63) br label %ifend14 ifend14: %t64 = load ptr, ptr %t2 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 store ptr %t66, ptr %retval br label %ret ret: %t67 = load ptr, ptr %retval ret ptr %t67 } define ptr @fn_mc_fn_of(i32 %arg_m, i32 %arg_t, ptr %arg_e, ptr %arg_what) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t50 = alloca ptr store i32 %arg_m, ptr %t0 store i32 %arg_t, ptr %t1 store ptr %arg_e, ptr %t2 store ptr %arg_what, ptr %t3 %t5 = load ptr, ptr %t2 %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 %t2 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp eq i32 %t12, 43 %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 %t2 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp ne i32 %t21, 55 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load i32, ptr %t0 %t26 = load i32, ptr %t1 %t27 = load ptr, ptr %t3 store i32 1088, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str2078) store i32 0, ptr @lp_site %t29 = load ptr, ptr @g_g_mc_rec %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 %ixok8, label %ixbad9 ixbad9: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str2080, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 store i32 1089, 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 i32 1090, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str2081) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load ptr, ptr %t3 store i32 1091, 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 1092, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str2082) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) %t44 = load ptr, ptr %t3 store i32 1093, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t43, ptr %t44) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) call void @fn_mc_row_err(i32 %t25, i32 %t26, ptr %t45) store ptr null, ptr %retval br label %ret ifend7: %t46 = load ptr, ptr %t2 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_mc_fn_decl(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = icmp eq ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then10, label %ifend12 then10: %t55 = load i32, ptr %t0 %t56 = load i32, ptr %t1 %t57 = load ptr, ptr %t3 store i32 1094, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str2083) store i32 0, ptr @lp_site %t59 = load ptr, ptr %t2 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 store i32 1095, 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 1096, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str2084) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t2 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 store i32 1097, 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) call void @fn_mc_row_err(i32 %t55, i32 %t56, ptr %t67) store ptr null, ptr %retval br label %ret ifend12: %t68 = load ptr, ptr %t2 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @fn_mc_is_fn(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: %t75 = load ptr, ptr @g_g_mc_fns %t76 = load ptr, ptr %t2 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 2 %t81 = getelementptr inbounds %LSlice, ptr %t75, 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 1098, 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 %ifend15 ifend15: %t97 = load ptr, ptr %t2 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 %t99 = load ptr, ptr %t98 store ptr %t99, ptr %retval br label %ret ret: %t100 = load ptr, ptr %retval ret ptr %t100 } define void @fn_mc_graph(i32 %arg_m) { entry: %t0 = alloca i32 %t12 = alloca ptr %t13 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t93 = alloca i32 %t99 = alloca i32 %t100 = alloca i32 %t101 = alloca i32 %t280 = alloca ptr %t310 = alloca i32 %t325 = alloca i32 %t326 = alloca i32 %t327 = alloca i32 %t459 = alloca ptr %t491 = alloca i32 %t499 = alloca i32 store i32 %arg_m, ptr %t0 %t1 = load ptr, ptr @g_g_mc_enum %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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2085, 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_mc_enum_decl(ptr %t10) store ptr %t11, ptr %t12 store i32 0, ptr %t13 br label %wcond2 wcond2: %t14 = load i32, ptr %t13 %t15 = load ptr, ptr @g_g_mt_key %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 %wbody3, label %wend4 wbody3: %t23 = load ptr, ptr @g_g_mt_from %t24 = load i32, ptr %t13 %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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str2086, 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 = icmp ne ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t22 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr @g_g_mt_from %t38 = load i32, ptr %t13 %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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2087, 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 = load ptr, ptr @g_g_mt_to %t48 = load i32, ptr %t13 %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 %ixok11, label %ixbad12 ixbad12: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2088, 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 = call i32 @fn_rr_same(ptr %t46, ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t22 br label %scend8 scend8: %t60 = load i32, ptr %t22 %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t21 br i1 %t61, label %sc13, label %scend14 sc13: %t63 = load ptr, ptr @g_g_mt_guard %t64 = load i32, ptr %t13 %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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str2089, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok15: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 %t73 = icmp eq 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 %t21 br label %scend14 scend14: %t77 = load i32, ptr %t21 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then17, label %ifend19 then17: %t79 = load i32, ptr %t0 %t80 = load i32, ptr %t13 %t81 = load ptr, ptr @g_g_mt_from %t82 = load i32, ptr %t13 %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 %ixok20, label %ixbad21 ixbad21: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str2091, i32 %t82, i32 %t86) call void @exit(i32 1) unreachable ixok20: %t89 = getelementptr inbounds ptr, ptr %t84, i32 %t82 %t90 = load ptr, ptr %t89 store i32 1099, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str2090, ptr %t90) store i32 0, ptr @lp_site store i32 1100, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str2093) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) call void @fn_mc_row_err(i32 %t79, i32 %t80, ptr %t92) br label %ifend19 ifend19: store i32 0, ptr %t93 br label %wcond22 wcond22: %t94 = load i32, ptr %t93 %t95 = load i32, ptr %t13 %t96 = icmp slt i32 %t94, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %wbody23, label %wend24 wbody23: %t102 = load ptr, ptr @g_g_mt_from %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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str2094, 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 = icmp ne ptr %t111, null %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t101 br i1 %t114, label %sc27, label %scend28 sc27: %t116 = load ptr, ptr @g_g_mt_from %t117 = load i32, ptr %t93 %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 %ixok29, label %ixbad30 ixbad30: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str2095, i32 %t117, i32 %t121) call void @exit(i32 1) unreachable ixok29: %t124 = getelementptr inbounds ptr, ptr %t119, i32 %t117 %t125 = load ptr, ptr %t124 %t126 = load ptr, ptr @g_g_mt_from %t127 = load i32, ptr %t13 %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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str2096, i32 %t127, i32 %t131) call void @exit(i32 1) unreachable ixok31: %t134 = getelementptr inbounds ptr, ptr %t129, i32 %t127 %t135 = load ptr, ptr %t134 %t136 = call i32 @fn_rr_same(ptr %t125, ptr %t135) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t101 br label %scend28 scend28: %t139 = load i32, ptr %t101 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t100 br i1 %t140, label %sc33, label %scend34 sc33: %t142 = load ptr, ptr @g_g_mt_on %t143 = load i32, ptr %t93 %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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str2097, i32 %t143, i32 %t147) call void @exit(i32 1) unreachable ixok35: %t150 = getelementptr inbounds ptr, ptr %t145, i32 %t143 %t151 = load ptr, ptr %t150 %t152 = load ptr, ptr @g_g_mt_on %t153 = load i32, ptr %t13 %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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str2098, 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 = call i32 @lp_str_eq(ptr %t151, ptr %t161) %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t100 br label %scend34 scend34: %t165 = load i32, ptr %t100 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t99 br i1 %t166, label %sc39, label %scend40 sc39: %t168 = load ptr, ptr @g_g_mt_guard %t169 = load i32, ptr %t93 %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 %ixok41, label %ixbad42 ixbad42: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str2099, i32 %t169, i32 %t173) call void @exit(i32 1) unreachable ixok41: %t176 = getelementptr inbounds ptr, ptr %t171, i32 %t169 %t177 = load ptr, ptr %t176 %t178 = icmp eq ptr %t177, null %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t99 br label %scend40 scend40: %t182 = load i32, ptr %t99 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then43, label %ifend45 then43: %t184 = load i32, ptr %t0 %t185 = load i32, ptr %t13 %t186 = load ptr, ptr @g_g_mt_key %t187 = load i32, ptr %t93 %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 %ixok46, label %ixbad47 ixbad47: %t193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str2100, i32 %t187, i32 %t191) call void @exit(i32 1) unreachable ixok46: %t194 = getelementptr inbounds ptr, ptr %t189, i32 %t187 %t195 = load ptr, ptr %t194 store i32 1101, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str2101) store i32 0, ptr @lp_site %t197 = load ptr, ptr @g_g_mt_key %t198 = load i32, ptr %t13 %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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str2102, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok48: %t205 = getelementptr inbounds ptr, ptr %t200, i32 %t198 %t206 = load ptr, ptr %t205 store i32 1102, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t196, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) store i32 1103, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str2103) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) %t209 = load ptr, ptr @g_g_mt_from %t210 = load i32, ptr %t13 %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 %ixok50, label %ixbad51 ixbad51: %t216 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str2104, i32 %t210, i32 %t214) call void @exit(i32 1) unreachable ixok50: %t217 = getelementptr inbounds ptr, ptr %t212, i32 %t210 %t218 = load ptr, ptr %t217 store i32 1104, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t208, ptr %t218) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) store i32 1105, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str2105) store i32 0, ptr @lp_site call void @lp_free(ptr %t219) %t221 = load ptr, ptr @g_g_mt_on %t222 = load i32, ptr %t13 %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 %ixok52, label %ixbad53 ixbad53: %t228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str2106, i32 %t222, i32 %t226) call void @exit(i32 1) unreachable ixok52: %t229 = getelementptr inbounds ptr, ptr %t224, i32 %t222 %t230 = load ptr, ptr %t229 %t231 = call ptr @fn_mc_trigger(ptr %t230) store i32 1106, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t220, ptr %t231) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) store i32 1107, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t232, ptr @.str2107) store i32 0, ptr @lp_site call void @lp_free(ptr %t232) %t234 = load ptr, ptr @g_g_mt_key %t235 = load i32, ptr %t93 %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 %ixok54, label %ixbad55 ixbad55: %t241 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str2108, i32 %t235, i32 %t239) call void @exit(i32 1) unreachable ixok54: %t242 = getelementptr inbounds ptr, ptr %t237, i32 %t235 %t243 = load ptr, ptr %t242 store i32 1108, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t233, ptr %t243) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) store i32 1109, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str2109) store i32 0, ptr @lp_site call void @lp_free(ptr %t244) %t246 = load ptr, ptr @g_g_mt_key %t247 = load i32, ptr %t13 %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 %ixok56, label %ixbad57 ixbad57: %t253 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t253, ptr @.fmt_bounds, ptr @.str2110, i32 %t247, i32 %t251) call void @exit(i32 1) unreachable ixok56: %t254 = getelementptr inbounds ptr, ptr %t249, i32 %t247 %t255 = load ptr, ptr %t254 store i32 1110, ptr @lp_site %t256 = call ptr @lp_str_concat(ptr %t245, ptr %t255) store i32 0, ptr @lp_site call void @lp_free(ptr %t245) store i32 1111, ptr @lp_site %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str2111) store i32 0, ptr @lp_site call void @lp_free(ptr %t256) %t258 = load ptr, ptr @g_g_mt_key %t259 = load i32, ptr %t93 %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 %ixok58, label %ixbad59 ixbad59: %t265 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str2112, i32 %t259, i32 %t263) call void @exit(i32 1) unreachable ixok58: %t266 = getelementptr inbounds ptr, ptr %t261, i32 %t259 %t267 = load ptr, ptr %t266 store i32 1112, ptr @lp_site %t268 = call ptr @lp_str_concat(ptr %t257, ptr %t267) store i32 0, ptr @lp_site call void @lp_free(ptr %t257) store i32 1113, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str2113) store i32 0, ptr @lp_site call void @lp_free(ptr %t268) call void @fn_mc_row_err(i32 %t184, i32 %t185, ptr %t269) br label %ifend45 ifend45: %t270 = load i32, ptr %t93 %t271 = add i32 %t270, 1 store i32 %t271, ptr %t93 br label %wcond22 wend24: %t272 = load i32, ptr %t13 %t273 = add i32 %t272, 1 store i32 %t273, ptr %t13 br label %wcond2 wend4: %t274 = getelementptr %LSlice, ptr null, i32 1 %t275 = ptrtoint ptr %t274 to i64 store i32 1114, ptr @lp_site %t276 = call ptr @lp_malloc(i64 %t275) store i32 0, ptr @lp_site %t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 store ptr null, ptr %t277 %t278 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 store i32 0, ptr %t278 %t279 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 2 store i32 0, ptr %t279 store ptr %t276, ptr %t280 %t281 = load ptr, ptr %t280 %t282 = load ptr, ptr @g_g_mc_start %t283 = load i32, ptr %t0 %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 %ixok60, label %ixbad61 ixbad61: %t289 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str2114, i32 %t283, i32 %t287) call void @exit(i32 1) unreachable ixok60: %t290 = getelementptr inbounds ptr, ptr %t285, i32 %t283 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 1 %t293 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 2 %t294 = getelementptr inbounds %LSlice, ptr %t281, i32 0, i32 0 %t295 = load i32, ptr %t292 %t296 = load i32, ptr %t293 %t297 = icmp sge i32 %t295, %t296 br i1 %t297, label %grow62, label %put63 grow62: %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 1115, 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 %put63 put63: %t307 = load ptr, ptr %t294 %t308 = getelementptr inbounds ptr, ptr %t307, i32 %t295 store ptr %t291, ptr %t308 %t309 = add i32 %t295, 1 store i32 %t309, ptr %t292 store i32 0, ptr %t310 br label %wcond64 wcond64: %t311 = load i32, ptr %t310 %t312 = load ptr, ptr %t280 %t313 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 1 %t314 = load i32, ptr %t313 %t315 = icmp slt i32 %t311, %t314 %t316 = zext i1 %t315 to i32 %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %wbody65, label %wend66 wbody65: store i32 0, ptr %t13 br label %wcond67 wcond67: %t318 = load i32, ptr %t13 %t319 = load ptr, ptr @g_g_mt_key %t320 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 1 %t321 = load i32, ptr %t320 %t322 = icmp slt i32 %t318, %t321 %t323 = zext i1 %t322 to i32 %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %wbody68, label %wend69 wbody68: %t328 = load ptr, ptr @g_g_mt_from %t329 = load i32, ptr %t13 %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 %ixok70, label %ixbad71 ixbad71: %t335 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t335, ptr @.fmt_bounds, ptr @.str2115, i32 %t329, i32 %t333) call void @exit(i32 1) unreachable ixok70: %t336 = getelementptr inbounds ptr, ptr %t331, i32 %t329 %t337 = load ptr, ptr %t336 %t338 = icmp ne ptr %t337, null %t339 = zext i1 %t338 to i32 %t340 = icmp ne i32 %t339, 0 %t341 = zext i1 %t340 to i32 store i32 %t341, ptr %t327 br i1 %t340, label %sc72, label %scend73 sc72: %t342 = load ptr, ptr @g_g_mt_to %t343 = load i32, ptr %t13 %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 %ixok74, label %ixbad75 ixbad75: %t349 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str2116, i32 %t343, i32 %t347) call void @exit(i32 1) unreachable ixok74: %t350 = getelementptr inbounds ptr, ptr %t345, i32 %t343 %t351 = load ptr, ptr %t350 %t352 = icmp ne ptr %t351, null %t353 = zext i1 %t352 to i32 %t354 = icmp ne i32 %t353, 0 %t355 = zext i1 %t354 to i32 store i32 %t355, ptr %t327 br label %scend73 scend73: %t356 = load i32, ptr %t327 %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t326 br i1 %t357, label %sc76, label %scend77 sc76: %t359 = load ptr, ptr @g_g_mt_from %t360 = load i32, ptr %t13 %t361 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 0 %t362 = load ptr, ptr %t361 %t363 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t364 = load i32, ptr %t363 %t365 = icmp ult i32 %t360, %t364 br i1 %t365, label %ixok78, label %ixbad79 ixbad79: %t366 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t366, ptr @.fmt_bounds, ptr @.str2117, i32 %t360, i32 %t364) call void @exit(i32 1) unreachable ixok78: %t367 = getelementptr inbounds ptr, ptr %t362, i32 %t360 %t368 = load ptr, ptr %t367 %t369 = load ptr, ptr %t280 %t370 = load i32, ptr %t310 %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 %ixok80, label %ixbad81 ixbad81: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str2118, i32 %t370, i32 %t374) call void @exit(i32 1) unreachable ixok80: %t377 = getelementptr inbounds ptr, ptr %t372, i32 %t370 %t378 = load ptr, ptr %t377 %t379 = call i32 @lp_str_eq(ptr %t368, ptr %t378) %t380 = icmp ne i32 %t379, 0 %t381 = zext i1 %t380 to i32 store i32 %t381, ptr %t326 br label %scend77 scend77: %t382 = load i32, ptr %t326 %t383 = icmp ne i32 %t382, 0 %t384 = zext i1 %t383 to i32 store i32 %t384, ptr %t325 br i1 %t383, label %sc82, label %scend83 sc82: %t385 = load ptr, ptr %t280 %t386 = load ptr, ptr @g_g_mt_to %t387 = load i32, ptr %t13 %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 %ixok84, label %ixbad85 ixbad85: %t393 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t393, ptr @.fmt_bounds, ptr @.str2119, i32 %t387, i32 %t391) call void @exit(i32 1) unreachable ixok84: %t394 = getelementptr inbounds ptr, ptr %t389, i32 %t387 %t395 = load ptr, ptr %t394 %t396 = call i32 @fn_mc_in(ptr %t385, ptr %t395) %t397 = icmp eq i32 %t396, 0 %t398 = zext i1 %t397 to i32 %t399 = icmp ne i32 %t398, 0 %t400 = zext i1 %t399 to i32 store i32 %t400, ptr %t325 br label %scend83 scend83: %t401 = load i32, ptr %t325 %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then86, label %ifend88 then86: %t403 = load ptr, ptr %t280 %t404 = load ptr, ptr @g_g_mt_to %t405 = load i32, ptr %t13 %t406 = getelementptr inbounds %LSlice, ptr %t404, i32 0, i32 0 %t407 = load ptr, ptr %t406 %t408 = getelementptr inbounds %LSlice, ptr %t404, i32 0, i32 1 %t409 = load i32, ptr %t408 %t410 = icmp ult i32 %t405, %t409 br i1 %t410, label %ixok89, label %ixbad90 ixbad90: %t411 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t411, ptr @.fmt_bounds, ptr @.str2120, i32 %t405, i32 %t409) call void @exit(i32 1) unreachable ixok89: %t412 = getelementptr inbounds ptr, ptr %t407, i32 %t405 %t413 = load ptr, ptr %t412 %t414 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 1 %t415 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 2 %t416 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0 %t417 = load i32, ptr %t414 %t418 = load i32, ptr %t415 %t419 = icmp sge i32 %t417, %t418 br i1 %t419, label %grow91, label %put92 grow91: %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 1116, 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 %put92 put92: %t429 = load ptr, ptr %t416 %t430 = getelementptr inbounds ptr, ptr %t429, i32 %t417 store ptr %t413, ptr %t430 %t431 = add i32 %t417, 1 store i32 %t431, ptr %t414 br label %ifend88 ifend88: %t432 = load i32, ptr %t13 %t433 = add i32 %t432, 1 store i32 %t433, ptr %t13 br label %wcond67 wend69: %t434 = load i32, ptr %t310 %t435 = add i32 %t434, 1 store i32 %t435, ptr %t310 br label %wcond64 wend66: store i32 0, ptr %t310 br label %wcond93 wcond93: %t436 = load i32, ptr %t310 %t437 = load ptr, ptr %t12 %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 1 %t441 = load i32, ptr %t440 %t442 = icmp slt i32 %t436, %t441 %t443 = zext i1 %t442 to i32 %t444 = icmp ne i32 %t443, 0 br i1 %t444, label %wbody94, label %wend95 wbody94: %t445 = load ptr, ptr %t12 %t446 = getelementptr inbounds %Cmp_Node, ptr %t445, i32 0, i32 7 %t447 = load ptr, ptr %t446 %t448 = load i32, ptr %t310 %t449 = getelementptr inbounds %LSlice, ptr %t447, i32 0, i32 0 %t450 = load ptr, ptr %t449 %t451 = getelementptr inbounds %LSlice, ptr %t447, i32 0, i32 1 %t452 = load i32, ptr %t451 %t453 = icmp ult i32 %t448, %t452 br i1 %t453, label %ixok96, label %ixbad97 ixbad97: %t454 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t454, ptr @.fmt_bounds, ptr @.str2121, i32 %t448, i32 %t452) call void @exit(i32 1) unreachable ixok96: %t455 = getelementptr inbounds ptr, ptr %t450, i32 %t448 %t456 = load ptr, ptr %t455 %t457 = getelementptr inbounds %Cmp_Node, ptr %t456, i32 0, i32 1 %t458 = load ptr, ptr %t457 store ptr %t458, ptr %t459 %t460 = load ptr, ptr %t280 %t461 = load ptr, ptr %t459 %t462 = call i32 @fn_mc_in(ptr %t460, ptr %t461) %t463 = icmp eq i32 %t462, 0 %t464 = zext i1 %t463 to i32 %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then98, label %ifend100 then98: %t466 = load i32, ptr %t0 %t467 = load ptr, ptr %t12 %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 1 %t469 = load ptr, ptr %t468 store i32 1117, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr %t469, ptr @.str2122) store i32 0, ptr @lp_site %t471 = load ptr, ptr %t459 store i32 1118, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr %t470, ptr %t471) store i32 0, ptr @lp_site call void @lp_free(ptr %t470) store i32 1119, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str2123) store i32 0, ptr @lp_site call void @lp_free(ptr %t472) %t474 = load ptr, ptr %t12 %t475 = getelementptr inbounds %Cmp_Node, ptr %t474, i32 0, i32 1 %t476 = load ptr, ptr %t475 store i32 1120, ptr @lp_site %t477 = call ptr @lp_str_concat(ptr %t473, ptr %t476) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) store i32 1121, ptr @lp_site %t478 = call ptr @lp_str_concat(ptr %t477, ptr @.str2124) store i32 0, ptr @lp_site call void @lp_free(ptr %t477) %t479 = load ptr, ptr @g_g_mc_start %t480 = load i32, ptr %t0 %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 %ixok101, label %ixbad102 ixbad102: %t486 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t486, ptr @.fmt_bounds, ptr @.str2125, i32 %t480, i32 %t484) call void @exit(i32 1) unreachable ixok101: %t487 = getelementptr inbounds ptr, ptr %t482, i32 %t480 %t488 = load ptr, ptr %t487 store i32 1122, ptr @lp_site %t489 = call ptr @lp_str_concat(ptr %t478, ptr %t488) store i32 0, ptr @lp_site call void @lp_free(ptr %t478) store i32 1123, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str2126) store i32 0, ptr @lp_site call void @lp_free(ptr %t489) call void @fn_mc_err(i32 %t466, ptr %t490) br label %ifend100 ifend100: store i32 0, ptr %t491 store i32 0, ptr %t13 br label %wcond103 wcond103: %t492 = load i32, ptr %t13 %t493 = load ptr, ptr @g_g_mt_key %t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 1 %t495 = load i32, ptr %t494 %t496 = icmp slt i32 %t492, %t495 %t497 = zext i1 %t496 to i32 %t498 = icmp ne i32 %t497, 0 br i1 %t498, label %wbody104, label %wend105 wbody104: %t500 = load ptr, ptr @g_g_mt_from %t501 = load i32, ptr %t13 %t502 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 0 %t503 = load ptr, ptr %t502 %t504 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 1 %t505 = load i32, ptr %t504 %t506 = icmp ult i32 %t501, %t505 br i1 %t506, label %ixok106, label %ixbad107 ixbad107: %t507 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t507, ptr @.fmt_bounds, ptr @.str2127, i32 %t501, i32 %t505) call void @exit(i32 1) unreachable ixok106: %t508 = getelementptr inbounds ptr, ptr %t503, i32 %t501 %t509 = load ptr, ptr %t508 %t510 = icmp ne ptr %t509, null %t511 = zext i1 %t510 to i32 %t512 = icmp ne i32 %t511, 0 %t513 = zext i1 %t512 to i32 store i32 %t513, ptr %t499 br i1 %t512, label %sc108, label %scend109 sc108: %t514 = load ptr, ptr @g_g_mt_from %t515 = load i32, ptr %t13 %t516 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 0 %t517 = load ptr, ptr %t516 %t518 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 1 %t519 = load i32, ptr %t518 %t520 = icmp ult i32 %t515, %t519 br i1 %t520, label %ixok110, label %ixbad111 ixbad111: %t521 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t521, ptr @.fmt_bounds, ptr @.str2128, i32 %t515, i32 %t519) call void @exit(i32 1) unreachable ixok110: %t522 = getelementptr inbounds ptr, ptr %t517, i32 %t515 %t523 = load ptr, ptr %t522 %t524 = load ptr, ptr %t459 %t525 = call i32 @lp_str_eq(ptr %t523, ptr %t524) %t526 = icmp ne i32 %t525, 0 %t527 = zext i1 %t526 to i32 store i32 %t527, ptr %t499 br label %scend109 scend109: %t528 = load i32, ptr %t499 %t529 = icmp ne i32 %t528, 0 br i1 %t529, label %then112, label %ifend114 then112: store i32 1, ptr %t491 br label %ifend114 ifend114: %t530 = load i32, ptr %t13 %t531 = add i32 %t530, 1 store i32 %t531, ptr %t13 br label %wcond103 wend105: %t532 = load i32, ptr %t491 %t533 = icmp eq i32 %t532, 0 %t534 = zext i1 %t533 to i32 %t535 = icmp ne i32 %t534, 0 br i1 %t535, label %then115, label %ifend117 then115: %t536 = load i32, ptr %t0 %t537 = load ptr, ptr %t12 %t538 = getelementptr inbounds %Cmp_Node, ptr %t537, i32 0, i32 1 %t539 = load ptr, ptr %t538 store i32 1124, ptr @lp_site %t540 = call ptr @lp_str_concat(ptr %t539, ptr @.str2129) store i32 0, ptr @lp_site %t541 = load ptr, ptr %t459 store i32 1125, ptr @lp_site %t542 = call ptr @lp_str_concat(ptr %t540, ptr %t541) store i32 0, ptr @lp_site call void @lp_free(ptr %t540) store i32 1126, ptr @lp_site %t543 = call ptr @lp_str_concat(ptr %t542, ptr @.str2130) store i32 0, ptr @lp_site call void @lp_free(ptr %t542) %t544 = load ptr, ptr %t12 %t545 = getelementptr inbounds %Cmp_Node, ptr %t544, i32 0, i32 1 %t546 = load ptr, ptr %t545 store i32 1127, ptr @lp_site %t547 = call ptr @lp_str_concat(ptr %t543, ptr %t546) store i32 0, ptr @lp_site call void @lp_free(ptr %t543) store i32 1128, ptr @lp_site %t548 = call ptr @lp_str_concat(ptr %t547, ptr @.str2131) store i32 0, ptr @lp_site call void @lp_free(ptr %t547) %t549 = load ptr, ptr %t459 store i32 1129, ptr @lp_site %t550 = call ptr @lp_str_concat(ptr %t548, ptr %t549) store i32 0, ptr @lp_site call void @lp_free(ptr %t548) store i32 1130, ptr @lp_site %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2132) store i32 0, ptr @lp_site call void @lp_free(ptr %t550) call void @fn_mc_err(i32 %t536, ptr %t551) br label %ifend117 ifend117: %t552 = load i32, ptr %t310 %t553 = add i32 %t552, 1 store i32 %t553, ptr %t310 br label %wcond93 wend95: br label %ret ret: ret void } define ptr @fn_mc_trigger(ptr %arg_on) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_on, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 %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 @.str2133, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 store i32 1131, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str2134, ptr %t7) store i32 0, ptr @lp_site store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define i32 @fn_mc_in(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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2136, 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_mc_reads(ptr %arg_comp) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr store ptr %arg_comp, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 1132, 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 %t7 %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_mc_field(ptr %t9, ptr @.str2138) call void @fn_mc_reads_of(ptr %t8, ptr %t10) %t11 = load ptr, ptr %t7 %t12 = load ptr, ptr %t0 %t13 = call ptr @fn_mc_field(ptr %t12, ptr @.str2139) call void @fn_mc_reads_of(ptr %t11, ptr %t13) %t14 = load ptr, ptr %t7 store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define void @fn_mc_reads_of(ptr %arg_out, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 store ptr %arg_out, 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 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 3 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_fn_ty_params(ptr %t8) store ptr %t9, ptr %t10 store i32 1, ptr %t11 br label %wcond3 wcond3: %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 %wbody4, label %wend5 wbody4: %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t10 %t21 = load i32, ptr %t11 %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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str2140, 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 = call i32 @fn_mc_in(ptr %t19, ptr %t29) %t31 = icmp eq 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 %t0 %t35 = load ptr, ptr %t10 %t36 = load i32, ptr %t11 %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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str2141, 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 %LSlice, ptr %t34, i32 0, i32 1 %t46 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 %t47 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t48 = load i32, ptr %t45 %t49 = load i32, ptr %t46 %t50 = icmp sge i32 %t48, %t49 br i1 %t50, label %grow13, label %put14 grow13: %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 1133, 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 %put14 put14: %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 %ifend10 ifend10: %t63 = load i32, ptr %t11 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t11 br label %wcond3 wend5: br label %ret ret: ret void } define i32 @fn_mc_idx(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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2143, 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_mc_args(ptr %arg_f, ptr %arg_reads, ptr %arg_table_st) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t22 = alloca i32 store ptr %arg_f, ptr %t0 store ptr %arg_reads, ptr %t1 store ptr %arg_table_st, ptr %t2 store ptr @.str2144, 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: %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_fn_ty_params(ptr %t11) store ptr %t12, ptr %t13 store i32 1, ptr %t14 br label %wcond3 wcond3: %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 %wbody4, label %wend5 wbody4: %t23 = load ptr, ptr %t2 %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 %t22 br i1 %t26, label %sc6, label %scend7 sc6: %t28 = load ptr, ptr %t13 %t29 = load i32, ptr %t14 %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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str2145, 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 = load ptr, ptr %t2 %t39 = call i32 @lp_str_eq(ptr %t37, ptr %t38) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t22 br label %scend7 scend7: %t42 = load i32, ptr %t22 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %else11 then10: %t44 = load ptr, ptr %t3 store i32 1134, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str2146) store i32 0, ptr @lp_site store ptr %t45, ptr %t3 br label %ifend12 else11: %t46 = load ptr, ptr %t3 %t47 = load ptr, ptr %t1 %t48 = load ptr, ptr %t13 %t49 = load i32, ptr %t14 %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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str2149, 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 = call i32 @fn_mc_idx(ptr %t47, ptr %t57) %t59 = call ptr @fn_itoa(i32 %t58) store i32 1135, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str2148, ptr %t59) store i32 0, ptr @lp_site store i32 1136, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t46, ptr %t60) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store ptr %t61, ptr %t3 br label %ifend12 ifend12: %t62 = load i32, ptr %t14 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t14 br label %wcond3 wend5: %t64 = load ptr, ptr %t3 store ptr %t64, ptr %retval br label %ret ret: %t65 = load ptr, ptr %retval ret ptr %t65 } define ptr @fn_mc_steps_src(i32 %arg_m, ptr %arg_trig, ptr %arg_reads, ptr %arg_table_st, ptr %arg_ind) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t16 = alloca i32 %t28 = alloca ptr %t39 = alloca ptr %t45 = alloca ptr %t51 = alloca ptr %t69 = alloca ptr %t70 = alloca i32 %t105 = alloca ptr store i32 %arg_m, ptr %t0 store ptr %arg_trig, ptr %t1 store ptr %arg_reads, ptr %t2 store ptr %arg_table_st, ptr %t3 store ptr %arg_ind, ptr %t4 %t5 = load ptr, ptr @g_g_mc_reg %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 %ixok0, label %ixbad1 ixbad1: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str2150, 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 i32 @fn_reg_find(ptr %t14) store i32 %t15, ptr %t16 %t17 = load ptr, ptr @g_g_rg_type %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 %ixok2, label %ixbad3 ixbad3: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str2151, 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 = call ptr @fn_find_comp(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr @g_g_mc_enum %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 %ixok4, label %ixbad5 ixbad5: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str2152, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok4: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t28 %t41 = call ptr @fn_mc_field(ptr %t40, ptr @.str2153) %t42 = load ptr, ptr %t2 %t43 = load ptr, ptr %t3 %t44 = call ptr @fn_mc_args(ptr %t41, ptr %t42, ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t28 %t47 = call ptr @fn_mc_field(ptr %t46, ptr @.str2154) %t48 = load ptr, ptr %t2 %t49 = load ptr, ptr %t3 %t50 = call ptr @fn_mc_args(ptr %t47, ptr %t48, ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t4 store i32 1137, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2155) store i32 0, ptr @lp_site %t54 = load ptr, ptr @g_g_mc_field %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 %ixok6, label %ixbad7 ixbad7: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str2157, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok6: %t62 = getelementptr inbounds ptr, ptr %t57, i32 %t55 %t63 = load ptr, ptr %t62 store i32 1138, 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 1139, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2158) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t4 store i32 1140, 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 1141, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str2159) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) store ptr %t68, ptr %t69 store i32 0, ptr %t70 br label %wcond8 wcond8: %t71 = load i32, ptr %t70 %t72 = load ptr, ptr @g_g_mt_key %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 %wbody9, label %wend10 wbody9: %t78 = load ptr, ptr @g_g_mt_on %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 %ixok11, label %ixbad12 ixbad12: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str2160, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok11: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 %t88 = load ptr, ptr %t1 %t89 = call i32 @lp_str_eq(ptr %t87, ptr %t88) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then13, label %ifend15 then13: %t91 = load ptr, ptr %t39 store i32 1142, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str2161, ptr %t91) store i32 0, ptr @lp_site store i32 1143, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2162) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr @g_g_mt_from %t95 = load i32, ptr %t70 %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 %ixok16, label %ixbad17 ixbad17: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str2163, i32 %t95, i32 %t99) call void @exit(i32 1) unreachable ixok16: %t102 = getelementptr inbounds ptr, ptr %t97, i32 %t95 %t103 = load ptr, ptr %t102 store i32 1144, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t93, ptr %t103) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store ptr %t104, ptr %t105 %t106 = load ptr, ptr @g_g_mt_guard %t107 = load i32, ptr %t70 %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 %ixok18, label %ixbad19 ixbad19: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str2164, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok18: %t114 = getelementptr inbounds ptr, ptr %t109, i32 %t107 %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 %then20, label %ifend22 then20: %t119 = load ptr, ptr %t105 %t120 = load ptr, ptr @g_g_mt_guard %t121 = load i32, ptr %t70 %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 %ixok23, label %ixbad24 ixbad24: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str2166, i32 %t121, i32 %t125) call void @exit(i32 1) unreachable ixok23: %t128 = getelementptr inbounds ptr, ptr %t123, i32 %t121 %t129 = load ptr, ptr %t128 store i32 1145, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str2165, ptr %t129) store i32 0, ptr @lp_site store i32 1146, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str2167) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load ptr, ptr %t45 store i32 1147, 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 1148, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str2168) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) store i32 1149, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t119, ptr %t134) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) store ptr %t135, ptr %t105 br label %ifend22 ifend22: %t136 = load ptr, ptr %t69 %t137 = load ptr, ptr %t4 store i32 1150, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str2169) store i32 0, ptr @lp_site %t139 = load ptr, ptr %t105 store i32 1151, 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 1152, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str2170) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t4 store i32 1153, 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 1154, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str2171) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) %t145 = load ptr, ptr %t4 store i32 1155, 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 1156, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str2172) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = load ptr, ptr @g_g_mc_field %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 %ixok25, label %ixbad26 ixbad26: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str2173, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok25: %t156 = getelementptr inbounds ptr, ptr %t151, i32 %t149 %t157 = load ptr, ptr %t156 store i32 1157, 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 1158, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str2174) store i32 0, ptr @lp_site call void @lp_free(ptr %t158) %t160 = load ptr, ptr %t39 store i32 1159, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t159, ptr %t160) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) store i32 1160, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2175) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = load ptr, ptr @g_g_mt_to %t164 = load i32, ptr %t70 %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 %ixok27, label %ixbad28 ixbad28: %t170 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str2176, i32 %t164, i32 %t168) call void @exit(i32 1) unreachable ixok27: %t171 = getelementptr inbounds ptr, ptr %t166, i32 %t164 %t172 = load ptr, ptr %t171 store i32 1161, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t162, ptr %t172) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) store i32 1162, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2177) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) store i32 1163, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t136, ptr %t174) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) store ptr %t175, ptr %t69 %t176 = load ptr, ptr @g_g_mt_enter %t177 = load i32, ptr %t70 %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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str2178, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok29: %t184 = getelementptr inbounds ptr, ptr %t179, i32 %t177 %t185 = load ptr, ptr %t184 %t186 = icmp ne ptr %t185, null %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then31, label %ifend33 then31: %t189 = load ptr, ptr %t69 %t190 = load ptr, ptr %t4 store i32 1164, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str2179) store i32 0, ptr @lp_site %t192 = load ptr, ptr @g_g_mt_enter %t193 = load i32, ptr %t70 %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 %ixok34, label %ixbad35 ixbad35: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str2180, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok34: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t200 store i32 1165, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t191, ptr %t201) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) store i32 1166, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str2181) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) %t204 = load ptr, ptr %t51 store i32 1167, 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 1168, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str2182) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) store i32 1169, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t189, ptr %t206) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) store ptr %t207, ptr %t69 br label %ifend33 ifend33: %t208 = load ptr, ptr %t69 %t209 = load ptr, ptr %t4 store i32 1170, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str2183) store i32 0, ptr @lp_site store i32 1171, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t208, ptr %t210) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) store ptr %t211, ptr %t69 br label %ifend15 ifend15: %t212 = load i32, ptr %t70 %t213 = add i32 %t212, 1 store i32 %t213, ptr %t70 br label %wcond8 wend10: %t214 = load ptr, ptr %t69 store ptr %t214, ptr %retval br label %ret ret: %t215 = load ptr, ptr %retval ret ptr %t215 } define void @fn_mc_write(i32 %arg_m) { entry: %t0 = alloca i32 %t12 = alloca i32 %t23 = alloca ptr %t35 = alloca ptr %t38 = alloca ptr %t49 = alloca ptr %t60 = alloca ptr %t61 = alloca ptr %t62 = alloca i32 %t89 = alloca i32 %t90 = alloca i32 %t108 = alloca ptr %t115 = alloca i32 %t201 = alloca ptr %t232 = alloca ptr %t243 = alloca ptr %t303 = alloca ptr store i32 %arg_m, ptr %t0 %t1 = load ptr, ptr @g_g_mc_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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2184, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str2185, 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_rg_type %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 %ixok4, label %ixbad5 ixbad5: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str2186, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok4: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %t33 = load ptr, ptr %t32 %t34 = call ptr @fn_find_comp(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_mc_reads(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr @g_g_mc_rec %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 %ixok6, label %ixbad7 ixbad7: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str2187, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok6: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %t49 %t50 = load ptr, ptr @g_g_mc_state %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 %ixok8, label %ixbad9 ixbad9: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str2188, 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 store ptr @.str2189, ptr %t61 store i32 0, ptr %t62 br label %wcond10 wcond10: %t63 = load i32, ptr %t62 %t64 = load ptr, ptr %t38 %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 %wbody11, label %wend12 wbody11: %t70 = load ptr, ptr %t61 %t71 = load i32, ptr %t62 %t72 = call ptr @fn_itoa(i32 %t71) store i32 1172, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str2190, ptr %t72) store i32 0, ptr @lp_site store i32 1173, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str2192) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t38 %t76 = load i32, ptr %t62 %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 %ixok13, label %ixbad14 ixbad14: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str2193, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok13: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 store i32 1174, 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) store i32 1175, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t70, ptr %t85) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) store ptr %t86, ptr %t61 %t87 = load i32, ptr %t62 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t62 br label %wcond10 wend12: store i32 0, ptr %t89 store i32 0, ptr %t90 br label %wcond15 wcond15: %t91 = load i32, ptr %t89 %t92 = load ptr, ptr @g_g_mt_key %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp slt i32 %t91, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %wbody16, label %wend17 wbody16: %t98 = load ptr, ptr @g_g_mt_on %t99 = load i32, ptr %t89 %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 %ixok18, label %ixbad19 ixbad19: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str2194, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok18: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t108 %t110 = call i64 @strlen(ptr %t109) %t111 = trunc i64 %t110 to i32 %t112 = icmp eq i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then20, label %ifend22 then20: store i32 1, ptr %t90 br label %ifend22 ifend22: %t116 = load ptr, ptr %t108 %t117 = call i64 @strlen(ptr %t116) %t118 = trunc i64 %t117 to i32 %t119 = icmp sgt 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 %t115 br i1 %t121, label %sc23, label %scend24 sc23: %t123 = load ptr, ptr @g_g_mc_acts %t124 = load i32, ptr %t0 %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 %ixok25, label %ixbad26 ixbad26: %t130 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str2195, i32 %t124, i32 %t128) call void @exit(i32 1) unreachable ixok25: %t131 = getelementptr inbounds ptr, ptr %t126, i32 %t124 %t132 = load ptr, ptr %t131 %t133 = load ptr, ptr %t108 store i32 1176, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr @.str2196, ptr %t133) store i32 0, ptr @lp_site store i32 1177, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2197) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = call i32 @fn_has_sub(ptr %t132, ptr %t135) %t137 = icmp eq i32 %t136, 0 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t115 br label %scend24 scend24: %t141 = load i32, ptr %t115 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then27, label %ifend29 then27: %t143 = load ptr, ptr @g_g_mc_acts %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 %ixok30, label %ixbad31 ixbad31: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str2198, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok30: %t151 = getelementptr inbounds ptr, ptr %t146, i32 %t144 %t152 = load ptr, ptr @g_g_mc_acts %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 %ixok32, label %ixbad33 ixbad33: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str2199, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok32: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 %t162 = load ptr, ptr %t108 store i32 1178, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t161, ptr %t162) store i32 0, ptr @lp_site store i32 1179, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str2200) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) store ptr %t164, ptr %t151 %t165 = load ptr, ptr %t49 store i32 1180, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str2201, ptr %t165) store i32 0, ptr @lp_site store i32 1181, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str2202) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t60 store i32 1182, 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 1183, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str2203) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = load ptr, ptr @g_g_mc_path %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 %ixok34, label %ixbad35 ixbad35: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str2204, i32 %t172, i32 %t176) call void @exit(i32 1) unreachable ixok34: %t179 = getelementptr inbounds ptr, ptr %t174, i32 %t172 %t180 = load ptr, ptr %t179 store i32 1184, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t170, ptr %t180) store i32 0, ptr @lp_site call void @lp_free(ptr %t170) store i32 1185, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str2205) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t183 = load ptr, ptr %t108 store i32 1186, 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 1187, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str2206) store i32 0, ptr @lp_site call void @lp_free(ptr %t184) %t186 = load ptr, ptr %t49 store i32 1188, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t185, ptr %t186) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) store i32 1189, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str2207) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = load ptr, ptr %t61 store i32 1190, 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 1191, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str2208) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t108 store i32 1192, 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 1193, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str2209) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = load i32, ptr %t0 %t196 = load ptr, ptr %t108 %t197 = load ptr, ptr %t38 %t198 = call ptr @fn_mc_steps_src(i32 %t195, ptr %t196, ptr %t197, ptr null, ptr @.str2210) store i32 1194, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t194, ptr %t198) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) store i32 1195, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str2211) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr @g_g_mc_reg %t203 = load i32, ptr %t0 %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 %ixok36, label %ixbad37 ixbad37: %t209 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str2212, i32 %t203, i32 %t207) call void @exit(i32 1) unreachable ixok36: %t210 = getelementptr inbounds ptr, ptr %t205, i32 %t203 %t211 = load ptr, ptr %t210 store ptr %t211, ptr @g_g_mc_gen_reg %t212 = load ptr, ptr %t201 %t213 = load ptr, ptr %t23 call void @fn_mc_parse_gen(ptr %t212, ptr %t213, i32 1) store ptr null, ptr @g_g_mc_gen_reg br label %ifend29 ifend29: %t214 = load i32, ptr %t89 %t215 = add i32 %t214, 1 store i32 %t215, ptr %t89 br label %wcond15 wend17: %t216 = load i32, ptr %t90 %t217 = icmp eq i32 %t216, 0 %t218 = zext i1 %t217 to i32 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then38, label %ifend40 then38: br label %ret ifend40: %t220 = load ptr, ptr @g_g_mc_reg %t221 = load i32, ptr %t0 %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 %ixok41, label %ixbad42 ixbad42: %t227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str2213, i32 %t221, i32 %t225) call void @exit(i32 1) unreachable ixok41: %t228 = getelementptr inbounds ptr, ptr %t223, i32 %t221 %t229 = load ptr, ptr %t228 %t230 = call ptr @fn_pm_snake(ptr %t229) store i32 1196, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str2214) store i32 0, ptr @lp_site store ptr %t231, ptr %t232 %t233 = load ptr, ptr @g_g_mc_tick %t234 = load i32, ptr %t0 %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 %ixok43, label %ixbad44 ixbad44: %t240 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t240, ptr @.fmt_bounds, ptr @.str2215, i32 %t234, i32 %t238) call void @exit(i32 1) unreachable ixok43: %t241 = getelementptr inbounds ptr, ptr %t236, i32 %t234 %t242 = load ptr, ptr %t232 store ptr %t242, ptr %t241 store ptr @.str2216, ptr %t243 store i32 0, ptr %t62 br label %wcond45 wcond45: %t244 = load i32, ptr %t62 %t245 = load ptr, ptr %t38 %t246 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 %t247 = load i32, ptr %t246 %t248 = icmp slt i32 %t244, %t247 %t249 = zext i1 %t248 to i32 %t250 = icmp ne i32 %t249, 0 br i1 %t250, label %wbody46, label %wend47 wbody46: %t251 = load ptr, ptr %t38 %t252 = load i32, ptr %t62 %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 %ixok48, label %ixbad49 ixbad49: %t258 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str2217, i32 %t252, i32 %t256) call void @exit(i32 1) unreachable ixok48: %t259 = getelementptr inbounds ptr, ptr %t254, i32 %t252 %t260 = load ptr, ptr %t259 %t261 = load ptr, ptr %t60 %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 br i1 %t265, label %then50, label %ifend52 then50: %t266 = load ptr, ptr %t243 %t267 = load i32, ptr %t62 %t268 = call ptr @fn_itoa(i32 %t267) store i32 1197, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr @.str2218, ptr %t268) store i32 0, ptr @lp_site store i32 1198, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2219) store i32 0, ptr @lp_site call void @lp_free(ptr %t269) %t271 = load ptr, ptr %t38 %t272 = load i32, ptr %t62 %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 %ixok53, label %ixbad54 ixbad54: %t278 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t278, ptr @.fmt_bounds, ptr @.str2220, i32 %t272, i32 %t276) call void @exit(i32 1) unreachable ixok53: %t279 = getelementptr inbounds ptr, ptr %t274, i32 %t272 %t280 = load ptr, ptr %t279 store i32 1199, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t270, ptr %t280) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) store i32 1200, ptr @lp_site %t282 = call ptr @lp_str_concat(ptr %t266, ptr %t281) store i32 0, ptr @lp_site call void @lp_free(ptr %t281) store ptr %t282, ptr %t243 br label %ifend52 ifend52: %t283 = load i32, ptr %t62 %t284 = add i32 %t283, 1 store i32 %t284, ptr %t62 br label %wcond45 wend47: %t285 = load ptr, ptr @g_g_mc_reg %t286 = load i32, ptr %t0 %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 %ixok55, label %ixbad56 ixbad56: %t292 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str2222, i32 %t286, i32 %t290) call void @exit(i32 1) unreachable ixok55: %t293 = getelementptr inbounds ptr, ptr %t288, i32 %t286 %t294 = load ptr, ptr %t293 store i32 1201, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr @.str2221, ptr %t294) store i32 0, ptr @lp_site store i32 1202, ptr @lp_site %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str2223) store i32 0, ptr @lp_site call void @lp_free(ptr %t295) %t297 = load ptr, ptr %t49 store i32 1203, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t296, ptr %t297) store i32 0, ptr @lp_site call void @lp_free(ptr %t296) store i32 1204, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str2224) store i32 0, ptr @lp_site call void @lp_free(ptr %t298) %t300 = load ptr, ptr %t49 store i32 1205, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr %t299, ptr %t300) store i32 0, ptr @lp_site call void @lp_free(ptr %t299) store i32 1206, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str2225) store i32 0, ptr @lp_site call void @lp_free(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t303 %t305 = load ptr, ptr %t232 store i32 1207, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr @.str2226, ptr %t305) store i32 0, ptr @lp_site store i32 1208, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str2227) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) %t308 = load ptr, ptr @g_g_mc_reg %t309 = load i32, ptr %t0 %t310 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 0 %t311 = load ptr, ptr %t310 %t312 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 1 %t313 = load i32, ptr %t312 %t314 = icmp ult i32 %t309, %t313 br i1 %t314, label %ixok57, label %ixbad58 ixbad58: %t315 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t315, ptr @.fmt_bounds, ptr @.str2228, i32 %t309, i32 %t313) call void @exit(i32 1) unreachable ixok57: %t316 = getelementptr inbounds ptr, ptr %t311, i32 %t309 %t317 = load ptr, ptr %t316 store i32 1209, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t307, ptr %t317) store i32 0, ptr @lp_site call void @lp_free(ptr %t307) store i32 1210, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str2229) store i32 0, ptr @lp_site call void @lp_free(ptr %t318) %t320 = load ptr, ptr %t60 store i32 1211, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr %t319, ptr %t320) store i32 0, ptr @lp_site call void @lp_free(ptr %t319) %t322 = load ptr, ptr %t243 store i32 1212, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t321, ptr %t322) store i32 0, ptr @lp_site call void @lp_free(ptr %t321) store i32 1213, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr %t323, ptr @.str2230) store i32 0, ptr @lp_site call void @lp_free(ptr %t323) store i32 1214, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t304, ptr %t324) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) store ptr %t325, ptr %t303 %t326 = load ptr, ptr %t303 %t327 = load ptr, ptr @g_g_mc_path %t328 = load i32, ptr %t0 %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 %ixok59, label %ixbad60 ixbad60: %t334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str2232, i32 %t328, i32 %t332) call void @exit(i32 1) unreachable ixok59: %t335 = getelementptr inbounds ptr, ptr %t330, i32 %t328 %t336 = load ptr, ptr %t335 store i32 1215, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr @.str2231, ptr %t336) store i32 0, ptr @lp_site store i32 1216, ptr @lp_site %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2233) store i32 0, ptr @lp_site call void @lp_free(ptr %t337) store i32 1217, ptr @lp_site %t339 = call ptr @lp_str_concat(ptr %t326, ptr %t338) store i32 0, ptr @lp_site call void @lp_free(ptr %t338) store ptr %t339, ptr %t303 %t340 = load ptr, ptr %t303 store i32 1218, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str2234) store i32 0, ptr @lp_site store ptr %t341, ptr %t303 %t342 = load ptr, ptr %t303 %t343 = load i32, ptr %t0 %t344 = load ptr, ptr %t38 %t345 = load ptr, ptr %t60 %t346 = call ptr @fn_mc_steps_src(i32 %t343, ptr @.str2235, ptr %t344, ptr %t345, ptr @.str2236) store i32 1219, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t342, ptr %t346) store i32 0, ptr @lp_site store ptr %t347, ptr %t303 %t348 = load ptr, ptr %t303 store i32 1220, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str2237) store i32 0, ptr @lp_site store ptr %t349, ptr %t303 %t350 = load ptr, ptr %t303 %t351 = load ptr, ptr %t23 %t352 = load ptr, ptr %t23 %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 10 %t354 = load i32, ptr %t353 call void @fn_mc_parse_gen(ptr %t350, ptr %t351, i32 %t354) br label %ret ret: ret void } define void @fn_mc_parse_gen(ptr %arg_src, ptr %arg_v, i32 %arg_vis) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t16 = alloca i32 store ptr %arg_src, ptr %t0 store ptr %arg_v, ptr %t1 store i32 %arg_vis, ptr %t2 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 store i32 %t5, ptr %t6 %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t1 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 9 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t1 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 8 %t13 = load i32, ptr %t12 %t14 = load i32, ptr %t2 call void @fn_vw_parse(ptr %t7, ptr %t10, i32 %t13, i32 %t14) %t15 = load i32, ptr %t6 store i32 %t15, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str2238, i32 %t25, i32 %t29) call void @exit(i32 1) unreachable ixok3: %t32 = getelementptr inbounds ptr, ptr %t27, i32 %t25 %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, 4 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then5, label %ifend7 then5: %t39 = load ptr, ptr @g_g_mc_gen %t40 = load ptr, ptr @g_prog %t41 = load i32, ptr %t16 %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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str2239, 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 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t51 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 2 %t52 = getelementptr inbounds %LSlice, ptr %t39, 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 1221, 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 %t16 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t16 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_mc_check_fns(i32 %arg_m) { entry: %t0 = alloca i32 %t12 = alloca i32 %t24 = alloca ptr %t36 = alloca ptr %t39 = alloca ptr %t40 = alloca i32 %t47 = alloca ptr %t74 = alloca ptr store i32 %arg_m, ptr %t0 %t1 = load ptr, ptr @g_g_mc_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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2241, 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_type %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str2242, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = call ptr @fn_find_comp(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr @g_g_mc_rec %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str2243, i32 %t26, i32 %t30) call void @exit(i32 1) unreachable ixok4: %t33 = getelementptr inbounds ptr, ptr %t28, i32 %t26 %t34 = load ptr, ptr %t33 %t35 = call ptr @fn_rr_decl(ptr %t34) store ptr %t35, ptr %t36 %t37 = load i32, ptr %t12 %t38 = call ptr @fn_reg_order(i32 %t37) store ptr %t38, ptr %t39 store i32 0, ptr %t40 %t41 = getelementptr %LSlice, ptr null, i32 1 %t42 = ptrtoint ptr %t41 to i64 store i32 1222, 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 br label %wcond6 wcond6: %t48 = load i32, ptr %t40 %t49 = load ptr, ptr %t39 %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp slt i32 %t48, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %wbody7, label %wend8 wbody7: %t55 = load ptr, ptr @g_g_df_rec %t56 = load ptr, ptr %t39 %t57 = load i32, ptr %t40 %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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str2245, 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 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t65, %t69 br i1 %t70, label %ixok11, label %ixbad12 ixbad12: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str2246, i32 %t65, i32 %t69) call void @exit(i32 1) unreachable ixok11: %t72 = getelementptr inbounds ptr, ptr %t67, i32 %t65 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load i32, ptr %t0 %t76 = load ptr, ptr %t74 %t77 = load ptr, ptr %t24 %t78 = call ptr @fn_mc_value(ptr %t76, ptr %t77, ptr @.str2247) %t79 = load ptr, ptr %t36 %t80 = load ptr, ptr %t47 call void @fn_mc_check_fn(i32 %t75, ptr %t78, i32 1, ptr %t79, ptr %t80) %t81 = load i32, ptr %t0 %t82 = load ptr, ptr %t74 %t83 = load ptr, ptr %t24 %t84 = call ptr @fn_mc_value(ptr %t82, ptr %t83, ptr @.str2248) %t85 = load ptr, ptr %t36 %t86 = load ptr, ptr %t47 call void @fn_mc_check_fn(i32 %t81, ptr %t84, i32 0, ptr %t85, ptr %t86) %t87 = load i32, ptr %t40 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t40 br label %wcond6 wend8: br label %ret ret: ret void } define void @fn_mc_check_fn(i32 %arg_m, ptr %arg_e, i32 %arg_guard, ptr %arg_rd, ptr %arg_seen) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t57 = alloca ptr %t62 = alloca ptr %t83 = alloca ptr %t84 = alloca ptr %t85 = alloca i32 %t95 = alloca i32 %t135 = alloca i32 %t187 = alloca i32 store i32 %arg_m, ptr %t0 store ptr %arg_e, ptr %t1 store i32 %arg_guard, ptr %t2 store ptr %arg_rd, ptr %t3 store ptr %arg_seen, ptr %t4 %t7 = load ptr, ptr %t1 %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 ptr, ptr %t1 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t13 %t15 = icmp ne i32 %t14, 55 %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 %scend3, label %sc2 sc2: %t22 = load ptr, ptr %t4 %t23 = load ptr, ptr %t1 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = call i32 @fn_mc_in(ptr %t22, ptr %t25) %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: br label %ret ifend6: %t31 = load ptr, ptr %t4 %t32 = load ptr, ptr %t1 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 %t37 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t38 = load i32, ptr %t35 %t39 = load i32, ptr %t36 %t40 = icmp sge i32 %t38, %t39 br i1 %t40, label %grow7, label %put8 grow7: %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 1223, 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 %put8 put8: %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 %t1 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_mc_fn_decl(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 %t59 = icmp eq ptr %t58, null %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then9, label %ifend11 then9: br label %ret ifend11: store ptr @.str2250, ptr %t62 %t63 = load i32, ptr %t2 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then12, label %ifend14 then12: store ptr @.str2251, ptr %t62 br label %ifend14 ifend14: %t65 = load ptr, ptr @g_g_mc_reg %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 %ixok15, label %ixbad16 ixbad16: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str2252, i32 %t66, i32 %t70) call void @exit(i32 1) unreachable ixok15: %t73 = getelementptr inbounds ptr, ptr %t68, i32 %t66 %t74 = load ptr, ptr %t73 store i32 1224, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str2253) store i32 0, ptr @lp_site %t76 = load ptr, ptr %t62 store i32 1225, 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 1226, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str2254) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) %t79 = load ptr, ptr %t57 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 store i32 1227, 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) store ptr %t82, ptr %t83 store ptr null, ptr %t84 store i32 0, ptr %t85 br label %wcond17 wcond17: %t86 = load i32, ptr %t85 %t87 = load ptr, ptr %t57 %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 1 %t91 = load i32, ptr %t90 %t92 = icmp slt i32 %t86, %t91 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %wbody18, label %wend19 wbody18: %t96 = load ptr, ptr %t57 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t85 %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 %ixok20, label %ixbad21 ixbad21: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str2255, i32 %t99, i32 %t103) call void @exit(i32 1) unreachable ixok20: %t106 = getelementptr inbounds ptr, ptr %t101, i32 %t99 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 0 %t109 = load i32, ptr %t108 %t110 = icmp eq i32 %t109, 5 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t95 br i1 %t112, label %sc22, label %scend23 sc22: %t114 = load ptr, ptr %t84 %t115 = icmp eq 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 %t95 br label %scend23 scend23: %t119 = load i32, ptr %t95 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then24, label %ifend26 then24: %t121 = load ptr, ptr %t57 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 %t123 = load ptr, ptr %t122 %t124 = load i32, ptr %t85 %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 %ixok27, label %ixbad28 ixbad28: %t130 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str2256, i32 %t124, i32 %t128) call void @exit(i32 1) unreachable ixok27: %t131 = getelementptr inbounds ptr, ptr %t126, i32 %t124 %t132 = load ptr, ptr %t131 store ptr %t132, ptr %t84 br label %ifend26 ifend26: %t133 = load i32, ptr %t85 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t85 br label %wcond17 wend19: %t136 = load ptr, ptr %t84 %t137 = icmp eq 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 %t135 br i1 %t139, label %scend30, label %sc29 sc29: %t141 = load ptr, ptr %t84 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 3 %t143 = load ptr, ptr %t142 %t144 = load ptr, ptr @g_g_mc_rec %t145 = load i32, ptr %t0 %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 %ixok31, label %ixbad32 ixbad32: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str2258, i32 %t145, i32 %t149) call void @exit(i32 1) unreachable ixok31: %t152 = getelementptr inbounds ptr, ptr %t147, i32 %t145 %t153 = load ptr, ptr %t152 store i32 1228, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str2257, ptr %t153) store i32 0, ptr @lp_site %t155 = call i32 @lp_str_eq(ptr %t143, ptr %t154) call void @lp_free(ptr %t154) %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 %t135 br label %scend30 scend30: %t160 = load i32, ptr %t135 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then33, label %ifend35 then33: %t162 = load ptr, ptr %t57 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 9 %t164 = load ptr, ptr %t163 %t165 = load ptr, ptr %t57 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 8 %t167 = load i32, ptr %t166 %t168 = load ptr, ptr %t57 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 18 %t170 = load i32, ptr %t169 %t171 = load ptr, ptr %t83 store i32 1229, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str2259) store i32 0, ptr @lp_site store i32 1230, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str2260) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) store i32 1231, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2261) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) %t175 = load ptr, ptr @g_g_mc_rec %t176 = load i32, ptr %t0 %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 %ixok36, label %ixbad37 ixbad37: %t182 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str2262, i32 %t176, i32 %t180) call void @exit(i32 1) unreachable ixok36: %t183 = getelementptr inbounds ptr, ptr %t178, i32 %t176 %t184 = load ptr, ptr %t183 store i32 1232, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t174, ptr %t184) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) store i32 1233, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str2263) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) call void @fn_perr_at(ptr %t164, i32 %t167, i32 %t170, ptr %t186) br label %ret ifend35: %t188 = load ptr, ptr %t3 %t189 = icmp ne 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 %t187 br i1 %t191, label %sc38, label %scend39 sc38: %t193 = load ptr, ptr %t3 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 9 %t195 = load ptr, ptr %t194 %t196 = call ptr @fn_rr_mod(ptr %t195) %t197 = load ptr, ptr %t57 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 9 %t199 = load ptr, ptr %t198 %t200 = call ptr @fn_rr_mod(ptr %t199) %t201 = call i32 @lp_str_eq(ptr %t196, ptr %t200) %t202 = icmp eq i32 %t201, 0 %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t187 br label %scend39 scend39: %t206 = load i32, ptr %t187 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then40, label %ifend42 then40: %t208 = load ptr, ptr %t57 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 9 %t210 = load ptr, ptr %t209 %t211 = load ptr, ptr %t57 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 8 %t213 = load i32, ptr %t212 %t214 = load ptr, ptr %t57 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 18 %t216 = load i32, ptr %t215 %t217 = load ptr, ptr %t83 store i32 1234, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str2264) store i32 0, ptr @lp_site %t219 = load ptr, ptr %t57 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 9 %t221 = load ptr, ptr %t220 %t222 = call ptr @fn_rr_mod_name(ptr %t221) store i32 1235, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t218, ptr %t222) store i32 0, ptr @lp_site call void @lp_free(ptr %t218) store i32 1236, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str2265) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t225 = load ptr, ptr @g_g_mc_rec %t226 = load i32, ptr %t0 %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 %ixok43, label %ixbad44 ixbad44: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str2266, i32 %t226, i32 %t230) call void @exit(i32 1) unreachable ixok43: %t233 = getelementptr inbounds ptr, ptr %t228, i32 %t226 %t234 = load ptr, ptr %t233 store i32 1237, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t224, ptr %t234) store i32 0, ptr @lp_site call void @lp_free(ptr %t224) store i32 1238, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str2267) store i32 0, ptr @lp_site call void @lp_free(ptr %t235) %t237 = load ptr, ptr %t3 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 9 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_rr_mod_name(ptr %t239) store i32 1239, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t236, ptr %t240) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) store i32 1240, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str2268) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) call void @fn_perr_at(ptr %t210, i32 %t213, i32 %t216, ptr %t242) br label %ifend42 ifend42: %t243 = load ptr, ptr %t57 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 4 %t245 = load ptr, ptr %t244 %t246 = load i32, ptr %t0 %t247 = load ptr, ptr %t83 %t248 = load ptr, ptr %t84 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 1 %t250 = load ptr, ptr %t249 %t251 = load i32, ptr %t2 %t252 = load ptr, ptr %t57 call void @fn_mc_walk(ptr %t245, i32 %t246, ptr %t247, ptr %t250, i32 %t251, ptr %t252) br label %ret ret: ret void } define void @fn_mc_walk_err(ptr %arg_n, ptr %arg_at, ptr %arg_msg) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_at, ptr %t1 store ptr %arg_msg, ptr %t2 %t3 = load ptr, ptr %t0 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 ptr, ptr %t4 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 9 %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 %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 %scend3, label %sc2 sc2: %t22 = load ptr, ptr %t4 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 8 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %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 %t1 store ptr %t31, ptr %t4 br label %ifend6 ifend6: %t32 = load ptr, ptr %t4 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 9 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t4 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 8 %t37 = load i32, ptr %t36 %t38 = load ptr, ptr %t4 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 18 %t40 = load i32, ptr %t39 %t41 = load ptr, ptr %t2 call void @fn_perr_at(ptr %t34, i32 %t37, i32 %t40, ptr %t41) br label %ret ret: ret void } define void @fn_mc_walk(ptr %arg_n, i32 %arg_m, ptr %arg_who, ptr %arg_r, i32 %arg_guard, ptr %arg_f) { entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca ptr %t20 = alloca ptr %t21 = alloca i32 %t22 = alloca i32 %t23 = alloca i32 %t64 = alloca i32 %t102 = alloca i32 %t123 = alloca ptr %t124 = alloca i32 %t125 = alloca i32 %t156 = alloca ptr %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 %t160 = alloca i32 %t161 = alloca i32 %t162 = alloca i32 %t163 = alloca i32 %t279 = alloca i32 %t301 = alloca ptr %t302 = alloca i32 %t320 = alloca i32 %t321 = alloca i32 %t346 = alloca i32 %t347 = alloca i32 %t348 = alloca i32 %t397 = alloca i32 %t398 = alloca i32 %t418 = alloca i32 %t442 = alloca ptr %t443 = alloca i32 %t496 = alloca i32 %t547 = alloca i32 store ptr %arg_n, ptr %t0 store i32 %arg_m, ptr %t1 store ptr %arg_who, ptr %t2 store ptr %arg_r, ptr %t3 store i32 %arg_guard, ptr %t4 store ptr %arg_f, 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: %t10 = load ptr, ptr @g_g_mc_rec %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2269, 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 %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, 35 %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 %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %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 %t23 br label %scend6 scend6: %t38 = load i32, ptr %t23 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t22 br i1 %t39, label %sc7, label %scend8 sc7: %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 4 %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, 33 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t22 br label %scend8 scend8: %t50 = load i32, ptr %t22 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t21 br i1 %t51, label %sc9, label %scend10 sc9: %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 = load ptr, ptr %t3 %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 %t21 br label %scend10 scend10: %t62 = load i32, ptr %t21 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then11, label %ifend13 then11: %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 @.str2270) %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t64 br i1 %t69, label %scend15, label %sc14 sc14: %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str2271) %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t64 br label %scend15 scend15: %t77 = load i32, ptr %t64 %t78 = icmp eq i32 %t77, 0 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then16, label %ifend18 then16: %t81 = load ptr, ptr %t0 %t82 = load ptr, ptr %t5 %t83 = load ptr, ptr %t2 store i32 1241, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str2272) store i32 0, ptr @lp_site %t85 = load ptr, ptr %t3 store i32 1242, 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 1243, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str2274) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 store i32 1244, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t87, ptr %t90) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) store i32 1245, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str2275) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t3 store i32 1246, 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 1247, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str2276) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = load ptr, ptr %t3 store i32 1248, 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 1249, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2277) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t20 store i32 1250, 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 1251, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str2278) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) call void @fn_mc_walk_err(ptr %t81, ptr %t82, ptr %t101) br label %ifend18 ifend18: br label %ret ifend13: %t103 = load ptr, ptr %t0 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 0 %t105 = load i32, ptr %t104 %t106 = icmp eq i32 %t105, 11 %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 %sc19, label %scend20 sc19: %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 %t102 br label %scend20 scend20: %t117 = load i32, ptr %t102 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then21, label %ifend23 then21: %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 4 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_ck_chain_root(ptr %t121) store ptr %t122, ptr %t123 %t126 = load i32, ptr %t4 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t125 br i1 %t127, label %sc24, label %scend25 sc24: %t129 = load ptr, ptr %t123 %t130 = icmp ne ptr %t129, null %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t125 br label %scend25 scend25: %t134 = load i32, ptr %t125 %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t124 br i1 %t135, label %sc26, label %scend27 sc26: %t137 = load ptr, ptr %t123 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = load ptr, ptr %t3 %t141 = call i32 @lp_str_eq(ptr %t139, ptr %t140) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t124 br label %scend27 scend27: %t144 = load i32, ptr %t124 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then28, label %ifend30 then28: %t146 = load ptr, ptr %t0 %t147 = load ptr, ptr %t5 %t148 = load ptr, ptr %t2 store i32 1252, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str2279) store i32 0, ptr @lp_site %t150 = load ptr, ptr %t3 store i32 1253, 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) store i32 1254, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str2280) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) call void @fn_mc_walk_err(ptr %t146, ptr %t147, ptr %t152) br label %ifend30 ifend30: %t153 = load ptr, ptr %t0 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4 %t155 = load ptr, ptr %t154 store ptr %t155, ptr %t156 %t164 = load ptr, ptr %t156 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 0 %t166 = load i32, ptr %t165 %t167 = icmp eq i32 %t166, 35 %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 %sc31, label %scend32 sc31: %t171 = load ptr, ptr %t156 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 4 %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 %t163 br label %scend32 scend32: %t178 = load i32, ptr %t163 %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t162 br i1 %t179, label %sc33, label %scend34 sc33: %t181 = load ptr, ptr %t156 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 4 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 0 %t185 = load i32, ptr %t184 %t186 = icmp eq i32 %t185, 35 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t162 br label %scend34 scend34: %t190 = load i32, ptr %t162 %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t161 br i1 %t191, label %sc35, label %scend36 sc35: %t193 = load ptr, ptr %t156 %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 1 %t197 = load ptr, ptr %t196 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str2281) %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t161 br label %scend36 scend36: %t201 = load i32, ptr %t161 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t160 br i1 %t202, label %sc37, label %scend38 sc37: %t204 = load ptr, ptr %t156 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 4 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 4 %t208 = load ptr, ptr %t207 %t209 = icmp ne ptr %t208, null %t210 = zext i1 %t209 to i32 %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t160 br label %scend38 scend38: %t213 = load i32, ptr %t160 %t214 = icmp ne i32 %t213, 0 %t215 = zext i1 %t214 to i32 store i32 %t215, ptr %t159 br i1 %t214, label %sc39, label %scend40 sc39: %t216 = load ptr, ptr %t156 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 4 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 4 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 0 %t222 = load i32, ptr %t221 %t223 = icmp eq i32 %t222, 33 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 %t226 = zext i1 %t225 to i32 store i32 %t226, ptr %t159 br label %scend40 scend40: %t227 = load i32, ptr %t159 %t228 = icmp ne i32 %t227, 0 %t229 = zext i1 %t228 to i32 store i32 %t229, ptr %t158 br i1 %t228, label %sc41, label %scend42 sc41: %t230 = load ptr, ptr %t156 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 4 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 4 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 1 %t236 = load ptr, ptr %t235 %t237 = load ptr, ptr %t3 %t238 = call i32 @lp_str_eq(ptr %t236, ptr %t237) %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t158 br label %scend42 scend42: %t241 = load i32, ptr %t158 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t157 br i1 %t242, label %sc43, label %scend44 sc43: %t244 = load ptr, ptr %t20 %t245 = load ptr, ptr %t156 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 1 %t247 = load ptr, ptr %t246 %t248 = call i32 @fn_rr_is_column(ptr %t244, ptr %t247) %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t157 br label %scend44 scend44: %t251 = load i32, ptr %t157 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then45, label %ifend47 then45: %t253 = load ptr, ptr %t0 %t254 = load ptr, ptr %t5 %t255 = load ptr, ptr %t2 store i32 1255, ptr @lp_site %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str2282) store i32 0, ptr @lp_site %t257 = load ptr, ptr %t20 store i32 1256, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr %t256, ptr %t257) store i32 0, ptr @lp_site call void @lp_free(ptr %t256) store i32 1257, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str2283) store i32 0, ptr @lp_site call void @lp_free(ptr %t258) %t260 = load ptr, ptr %t156 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 1 %t262 = load ptr, ptr %t261 store i32 1258, 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) store i32 1259, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str2284) store i32 0, ptr @lp_site call void @lp_free(ptr %t263) call void @fn_mc_walk_err(ptr %t253, ptr %t254, ptr %t264) br label %ifend47 ifend47: br label %ifend23 ifend23: %t265 = load ptr, ptr %t0 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 0 %t267 = load i32, ptr %t266 %t268 = icmp eq i32 %t267, 34 %t269 = zext i1 %t268 to i32 %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then48, label %ifend50 then48: %t271 = load ptr, ptr %t0 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 4 %t273 = load ptr, ptr %t272 %t274 = load i32, ptr %t1 %t275 = load ptr, ptr %t2 %t276 = load ptr, ptr %t3 %t277 = load i32, ptr %t4 %t278 = load ptr, ptr %t5 call void @fn_mc_walk(ptr %t273, i32 %t274, ptr %t275, ptr %t276, i32 %t277, ptr %t278) store i32 0, ptr %t279 br label %wcond51 wcond51: %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 %wbody52, label %wend53 wbody52: %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 %ixok54, label %ixbad55 ixbad55: %t298 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str2285, i32 %t292, i32 %t296) call void @exit(i32 1) unreachable ixok54: %t299 = getelementptr inbounds ptr, ptr %t294, i32 %t292 %t300 = load ptr, ptr %t299 store ptr %t300, ptr %t301 %t303 = load ptr, ptr %t301 %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 %t302 br i1 %t306, label %sc56, label %scend57 sc56: %t308 = load ptr, ptr %t301 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 0 %t310 = load i32, ptr %t309 %t311 = icmp eq i32 %t310, 42 %t312 = zext i1 %t311 to i32 %t313 = icmp ne i32 %t312, 0 %t314 = zext i1 %t313 to i32 store i32 %t314, ptr %t302 br label %scend57 scend57: %t315 = load i32, ptr %t302 %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then58, label %ifend60 then58: %t317 = load ptr, ptr %t301 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 4 %t319 = load ptr, ptr %t318 store ptr %t319, ptr %t301 br label %ifend60 ifend60: %t322 = load ptr, ptr %t301 %t323 = icmp ne ptr %t322, null %t324 = zext i1 %t323 to i32 %t325 = icmp ne i32 %t324, 0 %t326 = zext i1 %t325 to i32 store i32 %t326, ptr %t321 br i1 %t325, label %sc61, label %scend62 sc61: %t327 = load ptr, ptr %t301 %t328 = getelementptr inbounds %Cmp_Node, ptr %t327, i32 0, i32 0 %t329 = load i32, ptr %t328 %t330 = icmp eq i32 %t329, 33 %t331 = zext i1 %t330 to i32 %t332 = icmp ne i32 %t331, 0 %t333 = zext i1 %t332 to i32 store i32 %t333, ptr %t321 br label %scend62 scend62: %t334 = load i32, ptr %t321 %t335 = icmp ne i32 %t334, 0 %t336 = zext i1 %t335 to i32 store i32 %t336, ptr %t320 br i1 %t335, label %sc63, label %scend64 sc63: %t337 = load ptr, ptr %t301 %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 1 %t339 = load ptr, ptr %t338 %t340 = load ptr, ptr %t3 %t341 = call i32 @lp_str_eq(ptr %t339, ptr %t340) %t342 = icmp ne i32 %t341, 0 %t343 = zext i1 %t342 to i32 store i32 %t343, ptr %t320 br label %scend64 scend64: %t344 = load i32, ptr %t320 %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then65, label %else66 then65: %t349 = load i32, ptr %t4 %t350 = icmp ne i32 %t349, 0 %t351 = zext i1 %t350 to i32 store i32 %t351, ptr %t348 br i1 %t350, label %sc68, label %scend69 sc68: %t352 = load ptr, ptr %t0 %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 4 %t354 = load ptr, ptr %t353 %t355 = icmp ne ptr %t354, null %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 %scend69 scend69: %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 %sc70, label %scend71 sc70: %t362 = load ptr, ptr %t0 %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 4 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 0 %t366 = load i32, ptr %t365 %t367 = icmp eq i32 %t366, 33 %t368 = zext i1 %t367 to i32 %t369 = icmp ne i32 %t368, 0 %t370 = zext i1 %t369 to i32 store i32 %t370, ptr %t347 br label %scend71 scend71: %t371 = load i32, ptr %t347 %t372 = icmp ne i32 %t371, 0 %t373 = zext i1 %t372 to i32 store i32 %t373, ptr %t346 br i1 %t372, label %sc72, label %scend73 sc72: %t374 = load ptr, ptr %t0 %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 4 %t376 = load ptr, ptr %t375 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 1 %t378 = load ptr, ptr %t377 %t379 = call i32 @fn_rr_is_verb(ptr %t378) %t380 = icmp ne i32 %t379, 0 %t381 = zext i1 %t380 to i32 store i32 %t381, ptr %t346 br label %scend73 scend73: %t382 = load i32, ptr %t346 %t383 = icmp ne i32 %t382, 0 br i1 %t383, label %then74, label %ifend76 then74: %t384 = load ptr, ptr %t0 %t385 = load ptr, ptr %t5 %t386 = load ptr, ptr %t2 store i32 1260, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str2286) store i32 0, ptr @lp_site %t388 = load ptr, ptr %t3 store i32 1261, 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 1262, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str2287) store i32 0, ptr @lp_site call void @lp_free(ptr %t389) %t391 = load ptr, ptr %t0 %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 1 %t395 = load ptr, ptr %t394 store i32 1263, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t390, ptr %t395) store i32 0, ptr @lp_site call void @lp_free(ptr %t390) call void @fn_mc_walk_err(ptr %t384, ptr %t385, ptr %t396) br label %ifend76 ifend76: %t399 = load ptr, ptr %t0 %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 4 %t401 = load ptr, ptr %t400 %t402 = icmp ne ptr %t401, null %t403 = zext i1 %t402 to i32 %t404 = icmp ne i32 %t403, 0 %t405 = zext i1 %t404 to i32 store i32 %t405, ptr %t398 br i1 %t404, label %sc77, label %scend78 sc77: %t406 = load ptr, ptr %t0 %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 4 %t408 = load ptr, ptr %t407 %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 0 %t410 = load i32, ptr %t409 %t411 = icmp eq i32 %t410, 33 %t412 = zext i1 %t411 to i32 %t413 = icmp ne i32 %t412, 0 %t414 = zext i1 %t413 to i32 store i32 %t414, ptr %t398 br label %scend78 scend78: %t415 = load i32, ptr %t398 %t416 = icmp ne i32 %t415, 0 %t417 = zext i1 %t416 to i32 store i32 %t417, ptr %t397 br i1 %t416, label %sc79, label %scend80 sc79: %t419 = load ptr, ptr %t0 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 4 %t421 = load ptr, ptr %t420 %t422 = getelementptr inbounds %Cmp_Node, ptr %t421, i32 0, i32 1 %t423 = load ptr, ptr %t422 %t424 = call i32 @fn_rr_is_verb(ptr %t423) %t425 = icmp ne i32 %t424, 0 %t426 = zext i1 %t425 to i32 store i32 %t426, ptr %t418 br i1 %t425, label %scend82, label %sc81 sc81: %t427 = load ptr, ptr %t0 %t428 = getelementptr inbounds %Cmp_Node, ptr %t427, i32 0, i32 4 %t429 = load ptr, ptr %t428 %t430 = getelementptr inbounds %Cmp_Node, ptr %t429, i32 0, i32 1 %t431 = load ptr, ptr %t430 %t432 = call i32 @fn_mc_is_fn(ptr %t431) %t433 = icmp ne i32 %t432, 0 %t434 = zext i1 %t433 to i32 store i32 %t434, ptr %t418 br label %scend82 scend82: %t435 = load i32, ptr %t418 %t436 = icmp ne i32 %t435, 0 %t437 = zext i1 %t436 to i32 store i32 %t437, ptr %t397 br label %scend80 scend80: %t438 = load i32, ptr %t397 %t439 = icmp eq i32 %t438, 0 %t440 = zext i1 %t439 to i32 %t441 = icmp ne i32 %t440, 0 br i1 %t441, label %then83, label %ifend85 then83: store ptr @.str2288, ptr %t442 %t444 = load ptr, ptr %t0 %t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 4 %t446 = load ptr, ptr %t445 %t447 = icmp ne ptr %t446, null %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 %sc86, label %scend87 sc86: %t451 = load ptr, ptr %t0 %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 4 %t453 = load ptr, ptr %t452 %t454 = getelementptr inbounds %Cmp_Node, ptr %t453, i32 0, i32 0 %t455 = load i32, ptr %t454 %t456 = icmp eq i32 %t455, 33 %t457 = zext i1 %t456 to i32 %t458 = icmp ne i32 %t457, 0 %t459 = zext i1 %t458 to i32 store i32 %t459, ptr %t443 br label %scend87 scend87: %t460 = load i32, ptr %t443 %t461 = icmp ne i32 %t460, 0 br i1 %t461, label %then88, label %ifend90 then88: %t462 = load ptr, ptr %t0 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 4 %t464 = load ptr, ptr %t463 %t465 = getelementptr inbounds %Cmp_Node, ptr %t464, i32 0, i32 1 %t466 = load ptr, ptr %t465 store ptr %t466, ptr %t442 br label %ifend90 ifend90: %t467 = load ptr, ptr %t0 %t468 = load ptr, ptr %t5 %t469 = load ptr, ptr %t2 store i32 1264, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr %t469, ptr @.str2289) store i32 0, ptr @lp_site %t471 = load ptr, ptr %t442 store i32 1265, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr %t470, ptr %t471) store i32 0, ptr @lp_site call void @lp_free(ptr %t470) store i32 1266, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str2290) store i32 0, ptr @lp_site call void @lp_free(ptr %t472) %t474 = load ptr, ptr %t20 store i32 1267, 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) store i32 1268, ptr @lp_site %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str2291) store i32 0, ptr @lp_site call void @lp_free(ptr %t475) call void @fn_mc_walk_err(ptr %t467, ptr %t468, ptr %t476) br label %ifend85 ifend85: br label %ifend67 else66: %t477 = load ptr, ptr %t0 %t478 = getelementptr inbounds %Cmp_Node, ptr %t477, i32 0, i32 7 %t479 = load ptr, ptr %t478 %t480 = load i32, ptr %t279 %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 %ixok91, label %ixbad92 ixbad92: %t486 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t486, ptr @.fmt_bounds, ptr @.str2292, i32 %t480, i32 %t484) call void @exit(i32 1) unreachable ixok91: %t487 = getelementptr inbounds ptr, ptr %t482, i32 %t480 %t488 = load ptr, ptr %t487 %t489 = load i32, ptr %t1 %t490 = load ptr, ptr %t2 %t491 = load ptr, ptr %t3 %t492 = load i32, ptr %t4 %t493 = load ptr, ptr %t5 call void @fn_mc_walk(ptr %t488, i32 %t489, ptr %t490, ptr %t491, i32 %t492, ptr %t493) br label %ifend67 ifend67: %t494 = load i32, ptr %t279 %t495 = add i32 %t494, 1 store i32 %t495, ptr %t279 br label %wcond51 wend53: br label %ret ifend50: %t497 = load ptr, ptr %t0 %t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 0 %t499 = load i32, ptr %t498 %t500 = icmp eq i32 %t499, 33 %t501 = zext i1 %t500 to i32 %t502 = icmp ne i32 %t501, 0 %t503 = zext i1 %t502 to i32 store i32 %t503, ptr %t496 br i1 %t502, label %sc93, label %scend94 sc93: %t504 = load ptr, ptr %t0 %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 1 %t506 = load ptr, ptr %t505 %t507 = load ptr, ptr %t3 %t508 = call i32 @lp_str_eq(ptr %t506, ptr %t507) %t509 = icmp ne i32 %t508, 0 %t510 = zext i1 %t509 to i32 store i32 %t510, ptr %t496 br label %scend94 scend94: %t511 = load i32, ptr %t496 %t512 = icmp ne i32 %t511, 0 br i1 %t512, label %then95, label %ifend97 then95: %t513 = load ptr, ptr %t0 %t514 = load ptr, ptr %t5 %t515 = load ptr, ptr %t2 store i32 1269, ptr @lp_site %t516 = call ptr @lp_str_concat(ptr %t515, ptr @.str2293) store i32 0, ptr @lp_site %t517 = load ptr, ptr %t3 store i32 1270, 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) store i32 1271, ptr @lp_site %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str2294) store i32 0, ptr @lp_site call void @lp_free(ptr %t518) %t520 = load ptr, ptr %t20 store i32 1272, ptr @lp_site %t521 = call ptr @lp_str_concat(ptr %t519, ptr %t520) store i32 0, ptr @lp_site call void @lp_free(ptr %t519) store i32 1273, ptr @lp_site %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2295) store i32 0, ptr @lp_site call void @lp_free(ptr %t521) call void @fn_mc_walk_err(ptr %t513, ptr %t514, ptr %t522) br label %ifend97 ifend97: %t523 = load ptr, ptr %t0 %t524 = getelementptr inbounds %Cmp_Node, ptr %t523, i32 0, i32 4 %t525 = load ptr, ptr %t524 %t526 = load i32, ptr %t1 %t527 = load ptr, ptr %t2 %t528 = load ptr, ptr %t3 %t529 = load i32, ptr %t4 %t530 = load ptr, ptr %t5 call void @fn_mc_walk(ptr %t525, i32 %t526, ptr %t527, ptr %t528, i32 %t529, ptr %t530) %t531 = load ptr, ptr %t0 %t532 = getelementptr inbounds %Cmp_Node, ptr %t531, i32 0, i32 5 %t533 = load ptr, ptr %t532 %t534 = load i32, ptr %t1 %t535 = load ptr, ptr %t2 %t536 = load ptr, ptr %t3 %t537 = load i32, ptr %t4 %t538 = load ptr, ptr %t5 call void @fn_mc_walk(ptr %t533, i32 %t534, ptr %t535, ptr %t536, i32 %t537, ptr %t538) %t539 = load ptr, ptr %t0 %t540 = getelementptr inbounds %Cmp_Node, ptr %t539, i32 0, i32 6 %t541 = load ptr, ptr %t540 %t542 = load i32, ptr %t1 %t543 = load ptr, ptr %t2 %t544 = load ptr, ptr %t3 %t545 = load i32, ptr %t4 %t546 = load ptr, ptr %t5 call void @fn_mc_walk(ptr %t541, i32 %t542, ptr %t543, ptr %t544, i32 %t545, ptr %t546) store i32 0, ptr %t547 br label %wcond98 wcond98: %t548 = load i32, ptr %t547 %t549 = load ptr, ptr %t0 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 7 %t551 = load ptr, ptr %t550 %t552 = getelementptr inbounds %LSlice, ptr %t551, i32 0, i32 1 %t553 = load i32, ptr %t552 %t554 = icmp slt i32 %t548, %t553 %t555 = zext i1 %t554 to i32 %t556 = icmp ne i32 %t555, 0 br i1 %t556, label %wbody99, label %wend100 wbody99: %t557 = load ptr, ptr %t0 %t558 = getelementptr inbounds %Cmp_Node, ptr %t557, i32 0, i32 7 %t559 = load ptr, ptr %t558 %t560 = load i32, ptr %t547 %t561 = getelementptr inbounds %LSlice, ptr %t559, i32 0, i32 0 %t562 = load ptr, ptr %t561 %t563 = getelementptr inbounds %LSlice, ptr %t559, i32 0, i32 1 %t564 = load i32, ptr %t563 %t565 = icmp ult i32 %t560, %t564 br i1 %t565, label %ixok101, label %ixbad102 ixbad102: %t566 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t566, ptr @.fmt_bounds, ptr @.str2296, i32 %t560, i32 %t564) call void @exit(i32 1) unreachable ixok101: %t567 = getelementptr inbounds ptr, ptr %t562, i32 %t560 %t568 = load ptr, ptr %t567 %t569 = load i32, ptr %t1 %t570 = load ptr, ptr %t2 %t571 = load ptr, ptr %t3 %t572 = load i32, ptr %t4 %t573 = load ptr, ptr %t5 call void @fn_mc_walk(ptr %t568, i32 %t569, ptr %t570, ptr %t571, i32 %t572, ptr %t573) %t574 = load i32, ptr %t547 %t575 = add i32 %t574, 1 store i32 %t575, ptr %t547 br label %wcond98 wend100: br label %ret ret: ret void } 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 @.str2297, 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 1274, 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 1275, 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 1276, 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 @.str2300) 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 1277, 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 @.str2301, 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 1278, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str2302) 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 1279, 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 1280, 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 1281, ptr @lp_site %t74 = call ptr @lp_str_slice(ptr %t70, i32 %t71, i32 %t73) store i32 0, ptr @lp_site store i32 1282, 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 1283, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2303) 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 1284, 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 @.str2305) 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 1285, 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 1286, 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 1287, 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 @.str2307) 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 1288, 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 1289, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str2308, ptr %t59) store i32 0, ptr @lp_site %t61 = load ptr, ptr %t5 store i32 1290, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str2309, 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 1291, 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 @.str2310, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str2311, 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 @.str2312, 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 @.str2313) %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 @.str2314) %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 @.str2315) %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 1292, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str2316) 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 @.str2317) %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 1293, 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 @.str2318, 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 1294, 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 1295, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr @.str2319, 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 1296, 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 @.str2321) 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 @.str2322, 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 1297, 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 1298, 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 1299, 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 @.str2323) 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 1300, 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 @.str2324, 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 1301, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str2325) 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 1302, ptr @lp_site %t143 = call ptr @lp_str_slice(ptr %t139, i32 %t140, i32 %t142) store i32 0, ptr @lp_site store i32 1303, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2326, 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 1304, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str2327) 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2329, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str2330, 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 1305, 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 1306, 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 1307, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str2331) 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 1308, 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 1309, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2332, 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 @.str2333) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: %t15 = load ptr, ptr @g_g_mg_entry store i32 1310, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str2334, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str2336, 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 1311, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str2337, ptr %t58) store i32 0, ptr @lp_site store i32 1312, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str2338) 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str2339, 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 1313, 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 1314, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str2340, 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 1315, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str2341) store i32 0, ptr @lp_site %t3 = load ptr, ptr %t0 store i32 1316, 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 1317, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2343) 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 @.str2344, ptr @.str2345) %t11 = call ptr @fn_ensure_slash(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 store i32 1318, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2346) store i32 0, ptr @lp_site %t15 = load ptr, ptr %t0 store i32 1319, 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 1320, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str2347) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str2348, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str2349, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str2350, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str2351, 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 1321, 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 @.str2353) %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str2354, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str2355, 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2356, 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 1322, 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 1323, 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 1324, 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 1325, 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 1326, 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 1327, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str2358, 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 1328, 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 1329, 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 1330, 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 1331, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2360, 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 1332, 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 1333, 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 1334, 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 @.str2362, 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 1335, 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 @.str2363, 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: %t141 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str2364, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str2365, 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: %t181 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t181, ptr @.fmt_bounds, ptr @.str2366, 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: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str2367, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2368, 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 1336, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str2369, 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 1337, 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 1338, 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 1339, 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 1340, 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 1341, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str2371, ptr %t5) store i32 0, ptr @lp_site store i32 1342, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str2373) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2374, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str2375, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str2376, 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 1343, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t42, ptr %t44) store i32 0, ptr @lp_site store i32 1344, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str2377) 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2378, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str2379, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str2380, 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 1345, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t87, ptr %t89) store i32 0, ptr @lp_site store i32 1346, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str2381) 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 1347, 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 1348, 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 1349, 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 1350, 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 1351, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str2383, 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 1352, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2384) 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str2386, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2387, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str2388, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2389, 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str2390, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str2391, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str2392, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str2393, 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: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str2394, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str2395, 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 @.str2396) %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 @.str2397) %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 @.str2398) %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 @.str2399) %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 @.str2400) %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 1353, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2402, 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: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str2403, 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: %t106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str2404, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str2405, 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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str2406, 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 @.str2407) %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 @.str2408) %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 @.str2409) %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 @.str2410) %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 @.str2411) %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 @.str2412) %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 @.str2413) %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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2414, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2415, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2416, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str2417, 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 1354, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str2418, ptr %t103) store i32 0, ptr @lp_site store i32 1355, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str2420) 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 1356, 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 1357, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str2421) 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 1358, 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 1359, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str2422) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t74 store i32 1360, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str2423) store i32 0, ptr @lp_site %t123 = call ptr @fn_mg_esc(ptr %t122) store i32 1361, 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 @.str2424) 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 1362, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str2425) 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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2426, 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: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str2427, 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str2428, 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 1363, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str2429) 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 1364, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str2430, ptr %t210) store i32 0, ptr @lp_site store i32 1365, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str2431) 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 1366, 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 1367, 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 1368, 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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2433, 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str2434, 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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str2435, 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 1369, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str2436, 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 1370, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str2438, 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: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str2439, 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str2440, 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 1371, 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 1372, 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: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str2441, 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 1373, 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 1374, 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 1375, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str2442, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str2443, 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 @.str2444, 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 1376, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2445) 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 1377, 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 1378, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str2447, ptr %t28) store i32 0, ptr @lp_site store i32 1379, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str2448) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t1 store i32 1380, 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 1381, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str2449, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str2450, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str2451, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str2452, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str2453, 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 1382, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr @.str2454, ptr %t77) store i32 0, ptr @lp_site store i32 1383, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2456) 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 1384, 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 1385, 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: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str2458, 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str2459, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2460, 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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str2461, 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: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str2462, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str2463, 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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str2464, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str2465, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str2466, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2467, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str2468, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str2469, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str2470, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str2471, 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str2472, 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 1386, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str2473, ptr %t13) store i32 0, ptr @lp_site store i32 1387, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2475) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str2476, 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 1388, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str2477) 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str2478, 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 1389, 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str2479, 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 1390, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str2480) 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2481, 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 1391, 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 1392, 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 1393, 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 1394, 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 1395, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str2484, 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 @.str2485) %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 @.str2486) %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 @.str2487) %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 @.str2488) %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 @.str2489) %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 @.str2490) %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 @.str2491) %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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2492, 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: %t146 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str2493, 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 @.str2494) %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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str2495, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str2496, 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 @.str2497) %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: %t191 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str2498, 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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str2499, 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 @.str2500) %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: %t223 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str2501, 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: %t231 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str2502, 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: %t241 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str2503, 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: %t249 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t249, ptr @.fmt_bounds, ptr @.str2504, 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: %t259 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str2505, 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 1396, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str2506) 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: %t279 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str2507, 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 1397, 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 1398, 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 1399, 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 @.str2509, 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 1400, 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 @.str2510) %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 1401, 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 @.str2511) 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 @.str2512, 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 1402, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str2513) 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 1403, ptr @lp_site %t126 = call ptr @lp_str_slice(ptr %t122, i32 %t123, i32 %t125) store i32 0, ptr @lp_site store i32 1404, 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 1405, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str2514, ptr %t130) store i32 0, ptr @lp_site store ptr %t131, ptr %retval br label %ret ifend23: %t132 = load ptr, ptr %t14 store i32 1406, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str2515, 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 1407, 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 @.str2516) 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 1408, 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 1409, 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 1410, 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 1411, 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 @.str2517) 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 1412, 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 1413, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr @.str2518, 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 1414, 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 1415, 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 1416, 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 @.str2519) 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 1417, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str2520) 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 1418, 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 1419, 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 1420, 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 1421, 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 @.str2522) %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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str2523, 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 @.str2524) %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 @.str2525) %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 @.str2526) %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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str2527, 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 1422, 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 @.str2528, ptr %t194 %t195 = load i32, ptr %t59 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then39, label %ifend41 then39: store ptr @.str2529, 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 1423, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2530) 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: %t216 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str2531, 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 1424, 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 1425, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str2532) 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 @.str2533, 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 1426, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2534) 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 1427, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str2536) 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 1428, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str2537) 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 1429, ptr @lp_site %t39 = call ptr @lp_str_slice(ptr %t35, i32 %t36, i32 %t38) store i32 0, ptr @lp_site store i32 1430, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str2538, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str2539, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2540, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2541, 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str2542, 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 1431, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str2544, 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: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str2545, 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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str2546, 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 @.str2547) %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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str2548, 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 1432, 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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str2549, 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: %t229 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t229, ptr @.fmt_bounds, ptr @.str2550, 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 1433, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr @.str2551, ptr %t233) store i32 0, ptr @lp_site store i32 1434, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str2552) 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 1435, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr @.str2553, ptr %t240) store i32 0, ptr @lp_site store i32 1436, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str2554) 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 1437, 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 1438, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str2555) store i32 0, ptr @lp_site call void @lp_free(ptr %t247) %t249 = call ptr @fn_mg_esc(ptr @.str2556) store i32 1439, 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 @.str2557) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2558, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str2559, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str2560, 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 @.str2561, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2562, 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 1440, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str2563) 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str2565, 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 1441, 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 %t48 = alloca i32 %t63 = alloca i32 %t85 = alloca ptr %t86 = alloca i32 %t87 = alloca i32 %t88 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 %t157 = alloca i32 %t220 = alloca ptr %t230 = alloca i32 %t231 = alloca i32 %t232 = alloca i32 %t295 = alloca ptr %t296 = alloca i32 %t297 = 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str2566, 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: %t49 = load ptr, ptr %t1 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = call i32 @fn_s_has_prefix(ptr %t51, ptr @.str2567) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t48 br i1 %t53, label %scend16, label %sc15 sc15: %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = call i32 @fn_s_has_prefix(ptr %t57, ptr @.str2568) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t48 br label %scend16 scend16: %t61 = load i32, ptr %t48 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then17, label %ifend19 then17: br label %ret ifend19: store i32 0, ptr %t63 br label %wcond20 wcond20: %t64 = load i32, ptr %t63 %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 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 %wbody21, label %wend22 wbody21: %t73 = load ptr, ptr %t1 %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 %ixok23, label %ixbad24 ixbad24: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str2569, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok23: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 store ptr %t84, ptr %t85 %t89 = load ptr, ptr %t85 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 %t91 = load i32, ptr %t90 %t92 = icmp eq i32 %t91, 5 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t88 br i1 %t94, label %sc25, label %scend26 sc25: %t96 = load ptr, ptr %t85 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 3 %t98 = load ptr, ptr %t97 %t99 = call i32 @fn_is_state_ty(ptr %t98) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t88 br label %scend26 scend26: %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 %sc27, label %scend28 sc27: %t105 = load ptr, ptr %t85 %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 %t87 br label %scend28 scend28: %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 %sc29, label %scend30 sc29: %t115 = load ptr, ptr %t85 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 9 %t117 = load ptr, ptr %t116 %t118 = icmp ne ptr %t117, null %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 %t121 = zext i1 %t120 to i32 store i32 %t121, ptr %t86 br label %scend30 scend30: %t122 = load i32, ptr %t86 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then31, label %ifend33 then31: %t124 = load ptr, ptr @g_g_mu_need %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 %ixok34, label %ixbad35 ixbad35: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str2570, i32 %t125, i32 %t129) call void @exit(i32 1) unreachable ixok34: %t132 = getelementptr inbounds ptr, ptr %t127, i32 %t125 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t85 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 3 %t136 = load ptr, ptr %t135 %t137 = call i32 @fn_mg_state_named(ptr %t136) %t138 = call ptr @fn_itoa(i32 %t137) store i32 1442, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str2571, ptr %t138) store i32 0, ptr @lp_site store i32 1443, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str2573) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = call i32 @fn_has_sub(ptr %t133, ptr %t140) %t142 = icmp eq i32 %t141, 0 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then36, label %else37 then36: %t145 = load ptr, ptr %t85 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 9 %t147 = load ptr, ptr %t146 store i32 1444, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str2574, ptr %t147) store i32 0, ptr @lp_site store i32 1445, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str2575) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t150 = load ptr, ptr %t85 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 13 %t152 = load i32, ptr %t151 %t153 = call ptr @fn_itoa(i32 %t152) store i32 1446, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t149, ptr %t153) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) call void @fn_mg_emit(ptr %t154, ptr @.str2576) br label %ifend38 else37: %t158 = load i32, ptr @g_g_mg_tighten %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t157 br i1 %t159, label %sc39, label %scend40 sc39: %t161 = load ptr, ptr %t85 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 12 %t163 = load i32, ptr %t162 %t164 = icmp eq i32 %t163, 1 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t157 br label %scend40 scend40: %t168 = load i32, ptr %t157 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t156 br i1 %t169, label %sc41, label %scend42 sc41: %t171 = load ptr, ptr %t85 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 14 %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 %t156 br label %scend42 scend42: %t178 = load i32, ptr %t156 %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t155 br i1 %t179, label %sc43, label %scend44 sc43: %t181 = load ptr, ptr @g_g_mu_mut %t182 = load i32, ptr %t0 %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 %ixok45, label %ixbad46 ixbad46: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str2577, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok45: %t189 = getelementptr inbounds ptr, ptr %t184, i32 %t182 %t190 = load ptr, ptr %t189 %t191 = load ptr, ptr %t85 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 3 %t193 = load ptr, ptr %t192 %t194 = call i32 @fn_mg_state_named(ptr %t193) %t195 = call ptr @fn_itoa(i32 %t194) store i32 1447, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str2578, ptr %t195) store i32 0, ptr @lp_site store i32 1448, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2579) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) %t198 = call i32 @fn_has_sub(ptr %t190, ptr %t197) %t199 = icmp eq i32 %t198, 0 %t200 = zext i1 %t199 to i32 %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t155 br label %scend44 scend44: %t203 = load i32, ptr %t155 %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then47, label %ifend49 then47: %t205 = load ptr, ptr %t85 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 9 %t207 = load ptr, ptr %t206 store i32 1449, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr @.str2580, ptr %t207) store i32 0, ptr @lp_site store i32 1450, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str2581) store i32 0, ptr @lp_site call void @lp_free(ptr %t208) %t210 = load ptr, ptr %t85 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 14 %t212 = load i32, ptr %t211 %t213 = call ptr @fn_itoa(i32 %t212) store i32 1451, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t209, ptr %t213) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) call void @fn_mg_emit(ptr %t214, ptr @.str2582) br label %ifend49 ifend49: br label %ifend38 ifend38: br label %ifend33 ifend33: %t215 = load i32, ptr %t63 %t216 = add i32 %t215, 1 store i32 %t216, ptr %t63 br label %wcond20 wend22: br label %ret ifend11: %t217 = load ptr, ptr %t1 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 4 %t219 = load ptr, ptr %t218 store ptr %t219, ptr %t220 %t221 = load i32, ptr %t37 %t222 = icmp eq i32 %t221, 5 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then50, label %ifend52 then50: %t225 = load ptr, ptr %t1 store ptr %t225, ptr %t220 br label %ifend52 ifend52: %t226 = load ptr, ptr %t220 %t227 = icmp eq ptr %t226, null %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then53, label %ifend55 then53: br label %ret ifend55: store i32 0, ptr %t230 br label %wcond56 wcond56: %t233 = load i32, ptr %t230 %t234 = load ptr, ptr %t220 %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 1 %t238 = load i32, ptr %t237 %t239 = icmp slt i32 %t233, %t238 %t240 = zext i1 %t239 to i32 %t241 = icmp ne i32 %t240, 0 %t242 = zext i1 %t241 to i32 store i32 %t242, ptr %t232 br i1 %t241, label %sc59, label %scend60 sc59: %t243 = load ptr, ptr %t220 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 7 %t245 = load ptr, ptr %t244 %t246 = load i32, ptr %t230 %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 %ixok61, label %ixbad62 ixbad62: %t252 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str2583, i32 %t246, i32 %t250) call void @exit(i32 1) unreachable ixok61: %t253 = getelementptr inbounds ptr, ptr %t248, i32 %t246 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 11 %t256 = load ptr, ptr %t255 %t257 = icmp ne ptr %t256, null %t258 = zext i1 %t257 to i32 %t259 = icmp ne i32 %t258, 0 %t260 = zext i1 %t259 to i32 store i32 %t260, ptr %t232 br label %scend60 scend60: %t261 = load i32, ptr %t232 %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t231 br i1 %t262, label %sc63, label %scend64 sc63: %t264 = load ptr, ptr %t220 %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 7 %t266 = load ptr, ptr %t265 %t267 = load i32, ptr %t230 %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 %ixok65, label %ixbad66 ixbad66: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str2584, i32 %t267, i32 %t271) call void @exit(i32 1) unreachable ixok65: %t274 = getelementptr inbounds ptr, ptr %t269, i32 %t267 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 11 %t277 = load ptr, ptr %t276 %t278 = call i32 @lp_str_eq(ptr %t277, ptr @.str2585) %t279 = icmp ne i32 %t278, 0 %t280 = zext i1 %t279 to i32 store i32 %t280, ptr %t231 br label %scend64 scend64: %t281 = load i32, ptr %t231 %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %wbody57, label %wend58 wbody57: %t283 = load ptr, ptr %t220 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 7 %t285 = load ptr, ptr %t284 %t286 = load i32, ptr %t230 %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 %ixok67, label %ixbad68 ixbad68: %t292 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str2586, i32 %t286, i32 %t290) call void @exit(i32 1) unreachable ixok67: %t293 = getelementptr inbounds ptr, ptr %t288, i32 %t286 %t294 = load ptr, ptr %t293 store ptr %t294, ptr %t295 %t298 = load ptr, ptr %t295 %t299 = getelementptr inbounds %Cmp_Node, ptr %t298, i32 0, i32 13 %t300 = load i32, ptr %t299 %t301 = icmp sge i32 %t300, 0 %t302 = zext i1 %t301 to i32 %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t297 br i1 %t303, label %sc69, label %scend70 sc69: %t305 = load ptr, ptr %t295 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 9 %t307 = load ptr, ptr %t306 %t308 = icmp ne ptr %t307, null %t309 = zext i1 %t308 to i32 %t310 = icmp ne i32 %t309, 0 %t311 = zext i1 %t310 to i32 store i32 %t311, ptr %t297 br label %scend70 scend70: %t312 = load i32, ptr %t297 %t313 = icmp ne i32 %t312, 0 %t314 = zext i1 %t313 to i32 store i32 %t314, ptr %t296 br i1 %t313, label %sc71, label %scend72 sc71: %t315 = load ptr, ptr @g_g_mu_need %t316 = load i32, ptr %t0 %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 %ixok73, label %ixbad74 ixbad74: %t322 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t322, ptr @.fmt_bounds, ptr @.str2587, i32 %t316, i32 %t320) call void @exit(i32 1) unreachable ixok73: %t323 = getelementptr inbounds ptr, ptr %t318, i32 %t316 %t324 = load ptr, ptr %t323 %t325 = load ptr, ptr %t295 %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 3 %t327 = load ptr, ptr %t326 %t328 = call i32 @fn_mg_state_named(ptr %t327) %t329 = call ptr @fn_itoa(i32 %t328) store i32 1452, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr @.str2588, ptr %t329) store i32 0, ptr @lp_site store i32 1453, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str2589) store i32 0, ptr @lp_site call void @lp_free(ptr %t330) %t332 = call i32 @fn_has_sub(ptr %t324, ptr %t331) %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 %t296 br label %scend72 scend72: %t337 = load i32, ptr %t296 %t338 = icmp ne i32 %t337, 0 br i1 %t338, label %then75, label %ifend77 then75: %t339 = load ptr, ptr %t295 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 9 %t341 = load ptr, ptr %t340 store i32 1454, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str2590, ptr %t341) store i32 0, ptr @lp_site store i32 1455, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str2591) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = load ptr, ptr %t295 %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 13 %t346 = load i32, ptr %t345 %t347 = call ptr @fn_itoa(i32 %t346) store i32 1456, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr %t343, ptr %t347) store i32 0, ptr @lp_site call void @lp_free(ptr %t343) call void @fn_mg_emit(ptr %t348, ptr @.str2592) br label %ifend77 ifend77: %t349 = load i32, ptr %t230 %t350 = add i32 %t349, 1 store i32 %t350, ptr %t230 br label %wcond56 wend58: 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2593, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2594, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2595, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str2596, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str2597, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str2599, 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 1457, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str2598, ptr %t80) store i32 0, ptr @lp_site store i32 1458, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str2601) 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: %t117 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str2602, 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 1459, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str2603, ptr %t132) store i32 0, ptr @lp_site store i32 1460, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str2604) 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 1461, 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 @.str2605) 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str2606, 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 1462, 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 @.str2607, 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 1463, 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 @.str2609, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str2610, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2612, 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 1464, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str2611, ptr %t106) store i32 0, ptr @lp_site store i32 1465, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str2613) 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2614, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str2615, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str2616, 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str2617, 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 1466, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t149, ptr %t160) store i32 0, ptr @lp_site store i32 1467, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2618) 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: %t171 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str2619, 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: %t187 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str2620, 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: %t207 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t207, ptr @.fmt_bounds, ptr @.str2621, 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: %t218 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t218, ptr @.fmt_bounds, ptr @.str2622, 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: %t228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str2623, 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 1468, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t220, ptr %t231) store i32 0, ptr @lp_site store i32 1469, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t232, ptr @.str2624) 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 1470, 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 @.str2625) 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 1471, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str2626) store i32 0, ptr @lp_site %t292 = load ptr, ptr %t2 store i32 1472, 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 1473, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2627) 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 1474, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str2628) 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 1475, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr @.str2629, ptr %t306) store i32 0, ptr @lp_site store i32 1476, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str2630) 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 1477, 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 1478, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str2631) 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 1479, 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 1480, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str2632) 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 1481, 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: %t365 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str2633, 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: %t385 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str2634, 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 @.str2635) %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: %t402 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t402, ptr @.fmt_bounds, ptr @.str2636, 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 @.str2637, 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: %t440 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t440, ptr @.fmt_bounds, ptr @.str2638, 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: %t461 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t461, ptr @.fmt_bounds, ptr @.str2639, 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 @.str2640) %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: %t480 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t480, ptr @.fmt_bounds, ptr @.str2641, 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: %t493 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t493, ptr @.fmt_bounds, ptr @.str2642, 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: %t501 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t501, ptr @.fmt_bounds, ptr @.str2643, 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: %t515 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str2644, 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 1482, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str2645) 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: %t534 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t534, ptr @.fmt_bounds, ptr @.str2646, 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 1483, 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 1484, ptr @lp_site %t575 = call ptr @lp_str_concat(ptr @.str2647, ptr %t574) store i32 0, ptr @lp_site store i32 1485, ptr @lp_site %t576 = call ptr @lp_str_concat(ptr %t575, ptr @.str2648) 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 1486, ptr @lp_site %t580 = call ptr @lp_str_concat(ptr @.str2649, ptr %t579) store i32 0, ptr @lp_site store i32 1487, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str2650) 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 1488, 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 1489, ptr @lp_site %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str2651) 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 1490, 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 @.str2652) 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 1491, ptr @lp_site %t598 = call ptr @lp_str_concat(ptr @.str2653, ptr %t597) store i32 0, ptr @lp_site store i32 1492, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str2654) 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 1493, 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 1494, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str2655) store i32 0, ptr @lp_site call void @lp_free(ptr %t604) %t606 = load ptr, ptr %t2 store i32 1495, ptr @lp_site %t607 = call ptr @lp_str_concat(ptr @.str2656, ptr %t606) store i32 0, ptr @lp_site store i32 1496, ptr @lp_site %t608 = call ptr @lp_str_concat(ptr %t607, ptr @.str2657) store i32 0, ptr @lp_site call void @lp_free(ptr %t607) %t609 = call ptr @fn_mg_esc(ptr %t608) store i32 1497, 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 1498, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr %t613, ptr @.str2658) 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 1499, 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 1500, ptr @lp_site %t627 = call ptr @lp_str_concat(ptr @.str2659, ptr %t626) store i32 0, ptr @lp_site store i32 1501, ptr @lp_site %t628 = call ptr @lp_str_concat(ptr %t627, ptr @.str2660) 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 1502, 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 1503, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str2661) store i32 0, ptr @lp_site call void @lp_free(ptr %t633) %t635 = load ptr, ptr %t2 store i32 1504, ptr @lp_site %t636 = call ptr @lp_str_concat(ptr @.str2662, ptr %t635) store i32 0, ptr @lp_site store i32 1505, ptr @lp_site %t637 = call ptr @lp_str_concat(ptr %t636, ptr @.str2663) store i32 0, ptr @lp_site call void @lp_free(ptr %t636) %t638 = call ptr @fn_mg_esc(ptr %t637) store i32 1506, 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 1507, ptr @lp_site %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str2664) 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 1508, 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 1509, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr @.str2665, ptr %t655) store i32 0, ptr @lp_site store i32 1510, ptr @lp_site %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str2666) 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 1511, 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 1512, ptr @lp_site %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str2667) store i32 0, ptr @lp_site call void @lp_free(ptr %t662) %t664 = load ptr, ptr %t2 store i32 1513, ptr @lp_site %t665 = call ptr @lp_str_concat(ptr @.str2668, ptr %t664) store i32 0, ptr @lp_site store i32 1514, ptr @lp_site %t666 = call ptr @lp_str_concat(ptr %t665, ptr @.str2669) store i32 0, ptr @lp_site call void @lp_free(ptr %t665) %t667 = call ptr @fn_mg_esc(ptr %t666) store i32 1515, 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 1516, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t671, ptr @.str2670) 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 1517, 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 1518, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr @.str2671, ptr %t684) store i32 0, ptr @lp_site store i32 1519, ptr @lp_site %t686 = call ptr @lp_str_concat(ptr %t685, ptr @.str2672) 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 1520, 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 1521, ptr @lp_site %t692 = call ptr @lp_str_concat(ptr %t691, ptr @.str2673) store i32 0, ptr @lp_site call void @lp_free(ptr %t691) %t693 = load ptr, ptr %t2 store i32 1522, ptr @lp_site %t694 = call ptr @lp_str_concat(ptr @.str2674, ptr %t693) store i32 0, ptr @lp_site store i32 1523, ptr @lp_site %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str2675) store i32 0, ptr @lp_site call void @lp_free(ptr %t694) %t696 = call ptr @fn_mg_esc(ptr %t695) store i32 1524, 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 1525, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr %t700, ptr @.str2676) 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 1526, 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 1527, ptr @lp_site %t732 = call ptr @lp_str_concat(ptr @.str2677, ptr %t731) store i32 0, ptr @lp_site store i32 1528, ptr @lp_site %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str2678) 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 1529, ptr @lp_site %t737 = call ptr @lp_str_concat(ptr @.str2679, ptr %t736) store i32 0, ptr @lp_site store i32 1530, ptr @lp_site %t738 = call ptr @lp_str_concat(ptr %t737, ptr @.str2680) 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 1531, 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 1532, ptr @lp_site %t744 = call ptr @lp_str_concat(ptr %t743, ptr @.str2681) store i32 0, ptr @lp_site call void @lp_free(ptr %t743) %t745 = load ptr, ptr %t2 store i32 1533, ptr @lp_site %t746 = call ptr @lp_str_concat(ptr @.str2682, ptr %t745) store i32 0, ptr @lp_site store i32 1534, ptr @lp_site %t747 = call ptr @lp_str_concat(ptr %t746, ptr @.str2683) store i32 0, ptr @lp_site call void @lp_free(ptr %t746) %t748 = call ptr @fn_mg_esc(ptr %t747) store i32 1535, 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 1536, ptr @lp_site %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str2684) 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 1537, 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 1538, 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 @.str2685, 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 1539, 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 @.str2687, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2688, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str2690, 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 1540, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str2689, ptr %t79) store i32 0, ptr @lp_site store i32 1541, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str2691) 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2692, 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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str2693, 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str2694, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str2695, 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 1542, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t116, ptr %t127) store i32 0, ptr @lp_site store i32 1543, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str2696) 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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2697, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2698, 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: %t170 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str2699, 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: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str2700, 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: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str2701, 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 1544, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t181, ptr %t192) store i32 0, ptr @lp_site store i32 1545, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str2702) 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 1546, 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 @.str2703, 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 1547, 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 @.str2705, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str2706, 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str2707, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2708, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str2709, 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 1548, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str2710, ptr %t116) store i32 0, ptr @lp_site store i32 1549, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str2711) 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str2713, 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 1550, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str2712, ptr %t135) store i32 0, ptr @lp_site store i32 1551, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str2714) 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 1552, 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 @.str2715) 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2716, 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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str2717, 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 @.str2718, 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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str2719, 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: %t195 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str2720, 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 1553, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str2721, ptr %t199) store i32 0, ptr @lp_site store i32 1554, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str2722) 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: %t220 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str2723, 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: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str2724, 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: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str2725, 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 1555, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str2726) 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: %t271 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t271, ptr @.fmt_bounds, ptr @.str2727, 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 1556, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str2728) 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: %t282 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str2729, 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 1557, 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 1558, 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: %t295 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str2730, 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 1559, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str2731) 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: %t306 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t306, ptr @.fmt_bounds, ptr @.str2732, 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 1560, 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 1561, 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: %t342 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t342, ptr @.fmt_bounds, ptr @.str2734, 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 1562, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr @.str2733, ptr %t344) store i32 0, ptr @lp_site store i32 1563, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str2735) 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 1564, 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 1565, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str2736) store i32 0, ptr @lp_site call void @lp_free(ptr %t351) %t353 = call ptr @fn_mg_esc(ptr @.str2737) store i32 1566, 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 @.str2738) 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: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str2740, 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 1567, ptr @lp_site %t379 = call ptr @lp_str_concat(ptr @.str2739, ptr %t378) store i32 0, ptr @lp_site store i32 1568, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2741) 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: %t388 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t388, ptr @.fmt_bounds, ptr @.str2742, 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 1569, 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 1570, ptr @lp_site %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str2743) store i32 0, ptr @lp_site call void @lp_free(ptr %t392) %t394 = load ptr, ptr %t168 store i32 1571, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr @.str2744, ptr %t394) store i32 0, ptr @lp_site store i32 1572, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str2745) store i32 0, ptr @lp_site call void @lp_free(ptr %t395) %t397 = call ptr @fn_mg_esc(ptr %t396) store i32 1573, 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 @.str2746) 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: %t409 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t409, ptr @.fmt_bounds, ptr @.str2747, 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: %t420 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t420, ptr @.fmt_bounds, ptr @.str2749, 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 1574, ptr @lp_site %t423 = call ptr @lp_str_concat(ptr @.str2748, ptr %t422) store i32 0, ptr @lp_site store i32 1575, ptr @lp_site %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2750) 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 1576, 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 1577, ptr @lp_site %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2751) store i32 0, ptr @lp_site call void @lp_free(ptr %t429) %t431 = load ptr, ptr %t168 store i32 1578, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str2752, ptr %t431) store i32 0, ptr @lp_site %t433 = call ptr @fn_mg_esc(ptr %t432) store i32 1579, 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 @.str2753) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2754, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str2755, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2756, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2758, 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 1580, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str2757, ptr %t60) store i32 0, ptr @lp_site store i32 1581, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str2760) 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 @.str2761, 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 1582, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str2762) 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str2763, 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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str2765, 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 1583, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str2764, ptr %t100) store i32 0, ptr @lp_site store i32 1584, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str2766) 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str2767, 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: %t122 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t122, ptr @.fmt_bounds, ptr @.str2768, 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 1585, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str2769) 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str2770, 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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str2771, 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 1586, 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 1587, 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: %t156 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t156, ptr @.fmt_bounds, ptr @.str2772, 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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str2773, 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 1588, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str2774) 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: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str2775, 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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str2776, 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 1589, 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 1590, 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 1591, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr @.str2777, ptr %t193) store i32 0, ptr @lp_site store i32 1592, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str2778) 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: %t203 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str2779, 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 1593, 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 1594, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str2780) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) %t209 = load ptr, ptr %t63 store i32 1595, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str2781, ptr %t209) store i32 0, ptr @lp_site store i32 1596, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2782) store i32 0, ptr @lp_site call void @lp_free(ptr %t210) %t212 = call ptr @fn_mg_esc(ptr %t211) store i32 1597, 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 @.str2783) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2784, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2785, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str2786, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str2787, 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 @.str2788, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str2789, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str2790, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2791, 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 1598, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str2792) 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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str2794, 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str2795, 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 1599, 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 1600, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str2796, ptr %t189) store i32 0, ptr @lp_site store i32 1601, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str2797) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t70 store i32 1602, 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 1603, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str2798) 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 1604, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str2799) 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 1605, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str2800, ptr %t209) store i32 0, ptr @lp_site store i32 1606, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2801) 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 1607, 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 1608, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str2802) 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 1609, 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 1610, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str2803) 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 1611, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2804, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2805, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str2806, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str2807, 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str2808, 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str2809, 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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str2810, 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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str2811, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str2812, 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 1612, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2813) store i32 0, ptr @lp_site %t136 = load ptr, ptr %t124 store i32 1613, 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: %t146 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str2815, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str2816, 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 1614, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2817) store i32 0, ptr @lp_site %t163 = load ptr, ptr %t124 store i32 1615, 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 1616, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr @.str2818, ptr %t167) store i32 0, ptr @lp_site store i32 1617, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str2819) 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 1618, 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 1619, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str2820) 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 1620, 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 1621, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str2821) 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 1622, 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 1623, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str2822) 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 1624, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2823, 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 @.str2824) %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 1625, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str2825, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str2827, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str2828, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str2829, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2830, 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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str2831, 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 1626, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2833, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2834, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str2835, 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 @.str2836, ptr %t70) store i32 0, ptr @lp_site store i32 1628, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str2838) 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 @.str2839) 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 @.str2840) 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str2841, 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 1633, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str2842) store i32 0, ptr @lp_site %t96 = load ptr, ptr %t67 store i32 1634, 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 1635, 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 @.str2843) 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 1636, 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 1637, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str2845, 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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str2846, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str2847, 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 1638, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str2848, ptr %t83) store i32 0, ptr @lp_site store i32 1639, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str2849) 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 1640, 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 @.str2850) 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: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str2851, 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 1641, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str2852, ptr %t106) store i32 0, ptr @lp_site store i32 1642, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str2853) 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 1643, 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 1644, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str2854) 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 1645, 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 1646, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str2855) 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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str2856, 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 1647, 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 1648, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str2857) 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: %t140 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str2858, 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 1649, 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 @.str2859) 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str2860, 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: %t195 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str2861, 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: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str2862, 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: %t239 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str2864, 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 1650, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr @.str2863, ptr %t241) store i32 0, ptr @lp_site store i32 1651, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str2865) 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 1652, 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 1653, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str2866) 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 1654, 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 1655, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str2867) 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: %t262 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str2868, 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 1656, 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 1657, ptr @lp_site %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str2869) 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: %t275 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t275, ptr @.fmt_bounds, ptr @.str2870, 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 1658, 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 1659, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str2871) 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: %t287 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t287, ptr @.fmt_bounds, ptr @.str2872, 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 1660, 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 1661, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str2873) store i32 0, ptr @lp_site call void @lp_free(ptr %t290) call void @fn_mg_emit(ptr %t291, ptr @.str2874) 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: %t303 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str2875, 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: %t314 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str2877, 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 1662, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr @.str2876, ptr %t316) store i32 0, ptr @lp_site store i32 1663, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str2878) 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 1664, 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 1665, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str2879) 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 1666, 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 1667, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str2880) 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: %t337 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str2881, 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 1668, 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 1669, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str2882) 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: %t350 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t350, ptr @.fmt_bounds, ptr @.str2883, 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 1670, 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 1671, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str2884) 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: %t362 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t362, ptr @.fmt_bounds, ptr @.str2885, 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 1672, 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 @.str2886) 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 1673, ptr @lp_site %t371 = call ptr @lp_pak_open(ptr %t370, ptr @.str2887) 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 @.str2888) 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: %t392 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t392, ptr @.fmt_bounds, ptr @.str2889, 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: %t402 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t402, ptr @.fmt_bounds, ptr @.str2890, 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 @.str2891, 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: %t431 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t431, ptr @.fmt_bounds, ptr @.str2892, 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: %t441 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t441, ptr @.fmt_bounds, ptr @.str2893, 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 @.str2894, 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 1674, 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 1675, 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 1676, 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 1677, 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 1678, 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 1679, 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 1680, 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 1681, 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 1682, 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 %t247 = 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 @.str2898) %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 1683, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str2899, ptr %t17) store i32 0, ptr @lp_site store i32 1684, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2901) 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 1685, 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 1686, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str2902) 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 @.str2903) %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 1687, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str2904, ptr %t40) store i32 0, ptr @lp_site store i32 1688, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2905) 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 1689, 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 1690, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2906) 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 @.str2907) %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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str2908, 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 1691, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str2909, 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 1692, 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 1693, 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 1694, 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 1695, 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 1696, 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 1697, 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 1698, 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 %t7 %t221 = load i32, ptr %t1 call void @fn_mc_take(ptr %t220, i32 %t221) %t222 = load ptr, ptr @g_g_rg_at %t223 = call i32 @fn_at_registry_take() %t224 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 2 %t226 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t227 = load i32, ptr %t224 %t228 = load i32, ptr %t225 %t229 = icmp sge i32 %t227, %t228 br i1 %t229, label %grow31, label %put32 grow31: %t230 = mul i32 %t228, 2 %t231 = icmp eq i32 %t228, 0 %t232 = select i1 %t231, i32 8, i32 %t230 %t233 = getelementptr i32, 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 1699, 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 %put32 put32: %t239 = load ptr, ptr %t226 %t240 = getelementptr inbounds i32, ptr %t239, i32 %t227 store i32 %t223, ptr %t240 %t241 = add i32 %t227, 1 store i32 %t241, ptr %t224 %t242 = load i32, ptr %t1 %t243 = load i32, ptr %t3 %t244 = load ptr, ptr %t7 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 1 %t246 = load ptr, ptr %t245 call void @fn_pm_declared(i32 %t242, i32 %t243, ptr %t246) %t248 = load ptr, ptr %t52 %t249 = icmp ne ptr %t248, null %t250 = zext i1 %t249 to i32 %t251 = icmp ne i32 %t250, 0 %t252 = zext i1 %t251 to i32 store i32 %t252, ptr %t247 br i1 %t251, label %sc33, label %scend34 sc33: %t253 = load i32, ptr %t1 %t254 = icmp eq i32 %t253, 0 %t255 = zext i1 %t254 to i32 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t247 br label %scend34 scend34: %t258 = load i32, ptr %t247 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then35, label %ifend37 then35: %t260 = load ptr, ptr %t7 %t261 = load ptr, ptr %t52 call void @fn_res_read(ptr %t260, ptr %t261) 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 @.str2910) %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2911, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str2912, 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 1700, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str2913, ptr %t45) store i32 0, ptr @lp_site store i32 1701, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str2915) 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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str2916, 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 1702, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str2918) 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 1703, 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 @.str2917, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str2919, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2920, 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 @.str2921, 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 1704, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2923, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str2924, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str2925, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str2927, 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 1705, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str2926, ptr %t55) store i32 0, ptr @lp_site store i32 1706, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str2929) 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str2930, 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 1707, 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 1708, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str2931) 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str2932, 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 1709, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2933, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str2934, 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 @.str2935) %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 1710, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str2937, 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str2938, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str2939, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str2940, 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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str2942, 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 1711, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str2941, ptr %t140) store i32 0, ptr @lp_site store i32 1712, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str2943) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t92 store i32 1713, 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 1714, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str2944) 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 1715, 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 @.str2945) %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: %t185 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str2947, 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 1716, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr @.str2946, ptr %t187) store i32 0, ptr @lp_site store i32 1717, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str2948) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) %t190 = load ptr, ptr %t92 store i32 1718, 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 1719, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str2949) 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: %t200 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t200, ptr @.fmt_bounds, ptr @.str2950, 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 1720, 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 1721, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str2951) 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 @.str2952) %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 @.str2953, 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 1722, 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: %t268 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str2954, 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: %t278 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t278, ptr @.fmt_bounds, ptr @.str2955, 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 1723, 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: %t329 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t329, ptr @.fmt_bounds, ptr @.str2956, 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 1724, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str2957) store i32 0, ptr @lp_site %t333 = load ptr, ptr %t92 %t334 = call ptr @fn_reg_upper(ptr %t333) store i32 1725, 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: %t349 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str2958, 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 1726, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str2959) 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 1727, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2960) store i32 0, ptr @lp_site store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 store i32 1728, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str2962, ptr %t7) store i32 0, ptr @lp_site store i32 1729, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2963) 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 1730, 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 1731, 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 %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 store i32 1732, 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 1733, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2965) 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str2966, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str2967, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str2968, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str2969, 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 @.str2970) %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: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str2971, 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 1734, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str2972, ptr %t80) store i32 0, ptr @lp_site store i32 1735, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str2974) 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str2975, 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 1736, 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 1737, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str2976) 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 1738, 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 1739, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str2977) 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 1740, 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 1741, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str2978) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t39 store i32 1742, 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 1743, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str2979) 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 1744, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str2981, 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 1745, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str2982, 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2983, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str2984, 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 1746, 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: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str2985, 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 1747, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str2986, 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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str2987, 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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str2988, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str2989, 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: %t221 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t221, ptr @.fmt_bounds, ptr @.str2990, 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: %t248 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t248, ptr @.fmt_bounds, ptr @.str2991, 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: %t258 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str2992, 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: %t271 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t271, ptr @.fmt_bounds, ptr @.str2993, 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: %t284 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t284, ptr @.fmt_bounds, ptr @.str2994, 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 1748, 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 1749, 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 1750, 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 1751, 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 1752, 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 1753, 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 1754, 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 1755, 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 1756, 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: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str2997, 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: %t140 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str2998, 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 @.str2999) %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 @.str3000, 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 @.str3001, ptr %t6 br label %wcond3 wcond3: %t7 = call i32 @fn_is_op(ptr @.str3002) %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 @.str3003) %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str3004, 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 1757, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str3005, 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 1758, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str3007, 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 1759, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str3008, 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 1760, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3009) 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 1761, 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 @.str3010) %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 @.str3011) %t166 = load ptr, ptr %t6 store i32 1762, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str3012) 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 1763, ptr @lp_site %t12 = call ptr @lp_str_slice(ptr %t8, i32 1, i32 %t11) store i32 0, ptr @lp_site store i32 1764, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str3013, 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 1765, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str3015, 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 @.str3016) %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 @.str3017) %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 @.str3018) %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 @.str3019) %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 @.str3020) %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 @.str3021) %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 @.str3022) %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 @.str3023) %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 @.str3024) %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 @.str3025) %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 @.str3026) %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 @.str3027) %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 @.str3028) %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 @.str3029) %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 @.str3030) %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 @.str3031) %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 @.str3032) %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 @.str3033) %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 @.str3034) %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 @.str3035) %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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str3036, 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 1766, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str3037, ptr %t66) store i32 0, ptr @lp_site store i32 1767, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3039) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t1 store i32 1768, 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 1769, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str3040) 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 @.str3041) %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 @.str3042) br label %ifend26 ifend26: %t101 = load ptr, ptr %t1 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str3043) %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 @.str3044) %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 @.str3045) br label %ifend33 ifend33: %t122 = load ptr, ptr %t1 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str3046) %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 @.str3047) br label %ifend38 ifend38: %t134 = load ptr, ptr %t1 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str3048) %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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str3049, 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 1770, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr @.str3050, ptr %t166) store i32 0, ptr @lp_site store i32 1771, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str3051) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) %t169 = load ptr, ptr %t1 store i32 1772, 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 1773, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str3052) 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 @.str3053) %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 @.str3054) br label %ifend52 ifend52: %t186 = load ptr, ptr %t1 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str3055) %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: %t198 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str3056, 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 1774, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr @.str3057, ptr %t213) store i32 0, ptr @lp_site store i32 1775, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3058) 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str3059, 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 @.str3060) %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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str3061, 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 @.str3062) %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 @.str3063) 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 1776, 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 1777, 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 ptr, ptr @g_g_at_decl %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_at_decl_clear() br label %ifend2 ifend2: 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 1778, 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 1779, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str3066, 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 @.str3067) %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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str3068, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str3069, 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 1780, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str3071, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str3072, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str3073, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str3074, 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str3075, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str3076, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str3077, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str3078, 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 @.str3079) %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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str3080, 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 @.str3081) 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str3082, 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 @.str3083) %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: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str3084, 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 @.str3085) %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 1781, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str3086, ptr %t128) store i32 0, ptr @lp_site store i32 1782, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str3088) 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 1783, 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 1784, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str3089) 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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str3090, 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 1785, 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 1786, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3091) 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: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str3092, 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 1787, 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 1788, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3093) 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 1789, 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 1790, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str3094) 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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str3095, 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 @.str3096) %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: %t187 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str3097, 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 @.str3098) %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: %t203 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str3099, 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 @.str3100) %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: %t220 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str3101, 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: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str3102, 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: %t240 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t240, ptr @.fmt_bounds, ptr @.str3103, 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 @.str3104) %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: %t256 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t256, ptr @.fmt_bounds, ptr @.str3105, 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 @.str3106) %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: %t269 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t269, ptr @.fmt_bounds, ptr @.str3107, 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: %t289 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str3108, 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str3109, 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 1791, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str3110, ptr %t17) store i32 0, ptr @lp_site store i32 1792, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str3112) 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 1793, 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 1794, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str3113) 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str3114, 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 1795, 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 1796, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str3115) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t14 store i32 1797, 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 1798, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str3116) 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 1799, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str3117) store i32 0, ptr @lp_site %t55 = load ptr, ptr %t14 store i32 1800, 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 1801, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str3118) store i32 0, ptr @lp_site call void @lp_free(ptr %t56) %t58 = load ptr, ptr %t3 store i32 1802, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str3119, 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 1803, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str3120) store i32 0, ptr @lp_site %t80 = load ptr, ptr %t14 store i32 1804, 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 1805, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str3121) 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 1806, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str3122, ptr %t6) store i32 0, ptr @lp_site store i32 1807, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3124) 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 1808, 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 1809, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str3125) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3126, 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 1810, 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 1811, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str3127) store i32 0, ptr @lp_site %t40 = load ptr, ptr %t3 store i32 1812, 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 1813, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3128) 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str3129, 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 1814, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3130) store i32 0, ptr @lp_site %t63 = load ptr, ptr %t3 store i32 1815, 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 1816, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3131) 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 1817, 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 1818, 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 @.str3133, 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 1819, 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 @.str3134, 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 1820, 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 @.str3135, 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 1821, 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 @.str3136, 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 1822, 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 @.str3137, 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 1823, 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 @.str3138, 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 1824, 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 @.str3139, 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 1825, 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 @.str3140, 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 1826, 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 @.str3141, 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 1827, 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 @.str3142, 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 1828, 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 @.str3143, 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 1829, 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 @.str3144, 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 1830, 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 @.str3145, 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 1831, 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 @.str3146, 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 1832, 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 @.str3147, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str3148, 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 @.str3149) %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 @.str3150) %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 @.str3151) %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 @.str3152) %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 @.str3153, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3154) %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 @.str3155) %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 @.str3156) %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 @.str3157) %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 @.str3158, ptr %retval br label %ret ifend17: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3159) %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 @.str3160) %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 @.str3161) %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 @.str3162, ptr %retval br label %ret ifend24: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str3163) %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 @.str3164) %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 @.str3165) %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 @.str3166) %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 @.str3167, ptr %retval br label %ret ifend33: %t102 = load ptr, ptr %t0 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str3168) %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 @.str3169) %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 @.str3170, ptr %retval br label %ret ifend38: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str3171) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then39, label %ifend41 then39: store ptr @.str3172, ptr %retval br label %ret ifend41: %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str3173) %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 @.str3174) %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 @.str3175) %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 @.str3176) %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 @.str3177, ptr %retval br label %ret ifend50: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str3178) %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 @.str3179) %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 @.str3180, ptr %retval br label %ret ifend55: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str3181) %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 @.str3182) %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 @.str3183) %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 @.str3184, ptr %retval br label %ret ifend62: %t175 = load ptr, ptr %t0 %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str3185) %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 @.str3186) %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 @.str3187) %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 @.str3188) %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 @.str3189, ptr %retval br label %ret ifend71: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str3190) %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 @.str3191) %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 @.str3192, ptr %retval br label %ret ifend76: %t212 = load ptr, ptr %t0 %t213 = call i32 @lp_str_eq(ptr %t212, ptr @.str3193) %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 @.str3194) %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 @.str3195) %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 @.str3196, ptr %retval br label %ret ifend83: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str3197) %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 @.str3198) %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 @.str3199, ptr %retval br label %ret ifend88: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str3200) %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 @.str3201) %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 @.str3202, ptr %retval br label %ret ifend93: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str3203) %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 @.str3204) %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 @.str3205, 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 1833, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str3206, ptr %t28) store i32 0, ptr @lp_site store i32 1834, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str3208) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t16 store i32 1835, 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 1836, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str3209) 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 1837, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str3210, ptr %t41) store i32 0, ptr @lp_site store i32 1838, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str3211) 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str3212, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str3213, 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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str3214, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str3215, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str3216, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str3217, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str3218, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str3219, 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 @.str3220) 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 @.str3221) %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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3222, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str3223, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str3224, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str3225, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3226, 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 1839, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str3227, ptr %t6) store i32 0, ptr @lp_site store i32 1840, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3229) 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 1841, 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 1842, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str3230) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t2 store i32 1843, 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 1844, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str3231) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t3 store i32 1845, 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 1846, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str3232) 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 1847, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str3233) 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 1848, 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 1849, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3234) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t3 store i32 1850, 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 @.str3235) 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 1851, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str3236) store i32 0, ptr @lp_site %t68 = load ptr, ptr %t3 store i32 1852, 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 1853, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3237) 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str3238, 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 1854, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3239) store i32 0, ptr @lp_site %t112 = load ptr, ptr %t3 store i32 1855, 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 1856, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3240) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t52 store i32 1857, 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 1858, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3241) 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: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str3242, 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 1859, 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 1860, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str3243) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load i32, ptr %t90 store i32 1861, ptr @lp_site %t131 = call ptr @lp_int_str(i32 %t130) store i32 0, ptr @lp_site store i32 1862, 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 1863, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str3244) 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 1864, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str3245, ptr %t5) store i32 0, ptr @lp_site store i32 1865, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str3247) 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 1866, 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 1867, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str3248) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3249, 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 @.str3250) %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 1868, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3251) 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 1869, 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 1870, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str3252) 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 1871, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3253) 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 1872, 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 1873, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str3254) 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: %t102 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str3255, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str3256, 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: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str3257, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str3258, 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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str3259, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str3260, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str3261, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str3262, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str3263, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str3264, 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 1874, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str3265) 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 1875, 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 1876, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str3267) 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 1877, 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 1878, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str3268) 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 1879, 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 1880, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3269) 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 1881, 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 1882, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str3270) 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 1883, 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 1884, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str3271) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str3272, 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 @.str3273, 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 1885, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3274) store i32 0, ptr @lp_site store ptr %t15, ptr %t1 br label %ifend5 ifend5: %t16 = load ptr, ptr %t1 store i32 1886, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str3276) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str3277, 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 1887, 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 1888, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str3278) 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 1889, 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 1890, 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 1891, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str3280, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str3281, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str3282, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str3283, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str3284, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str3285, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str3286, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str3287, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str3288, 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 @.str3289) %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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str3290, 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 void @fn_vc(ptr %arg_kind, ptr %arg_name, ptr %arg_role, ptr %arg_form, ptr %arg_on, ptr %arg_doc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr store ptr %arg_kind, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_role, ptr %t2 store ptr %arg_form, ptr %t3 store ptr %arg_on, ptr %t4 store ptr %arg_doc, ptr %t5 %t6 = load ptr, ptr @g_g_vc_kind %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 1892, 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_vc_name %t27 = load ptr, 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 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 1893, 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 = load ptr, ptr @g_g_vc_role %t47 = load ptr, ptr %t2 %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 %grow4, label %put5 grow4: %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 1894, 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 %put5 put5: %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_vc_form %t67 = load ptr, ptr %t3 %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 %grow6, label %put7 grow6: %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 1895, 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 %put7 put7: %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 @g_g_vc_on %t87 = load ptr, ptr %t4 %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 %grow8, label %put9 grow8: %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 1896, 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 %put9 put9: %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 ptr, ptr @g_g_vc_doc %t107 = load ptr, ptr %t5 %t108 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 1 %t109 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 2 %t110 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 %t111 = load i32, ptr %t108 %t112 = load i32, ptr %t109 %t113 = icmp sge i32 %t111, %t112 br i1 %t113, label %grow10, label %put11 grow10: %t114 = mul i32 %t112, 2 %t115 = icmp eq i32 %t112, 0 %t116 = select i1 %t115, i32 8, i32 %t114 %t117 = getelementptr ptr, ptr null, i32 1 %t118 = ptrtoint ptr %t117 to i64 %t119 = zext i32 %t116 to i64 %t120 = mul i64 %t119, %t118 %t121 = load ptr, ptr %t110 store i32 1897, ptr @lp_site %t122 = call ptr @lp_realloc(ptr %t121, i64 %t120) store i32 0, ptr @lp_site store ptr %t122, ptr %t110 store i32 %t116, ptr %t109 br label %put11 put11: %t123 = load ptr, ptr %t110 %t124 = getelementptr inbounds ptr, ptr %t123, i32 %t111 store ptr %t107, ptr %t124 %t125 = add i32 %t111, 1 store i32 %t125, ptr %t108 br label %ret ret: ret void } define void @fn_vc_kw(ptr %arg_role, ptr %arg_w, ptr %arg_doc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_role, ptr %t0 store ptr %arg_w, ptr %t1 store ptr %arg_doc, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = load ptr, ptr %t0 %t5 = load ptr, ptr %t2 call void @fn_vc(ptr @.str3292, ptr %t3, ptr %t4, ptr @.str3293, ptr @.str3294, ptr %t5) br label %ret ret: ret void } define void @fn_vc_decl(ptr %arg_name, ptr %arg_form, ptr %arg_doc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_form, ptr %t1 store ptr %arg_doc, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = load ptr, ptr %t2 call void @fn_vc(ptr @.str3295, ptr %t3, ptr @.str3296, ptr %t4, ptr @.str3297, ptr %t5) br label %ret ret: ret void } define void @fn_vc_ty(ptr %arg_name, ptr %arg_role, ptr %arg_doc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_role, ptr %t1 store ptr %arg_doc, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = load ptr, ptr %t2 call void @fn_vc(ptr @.str3298, ptr %t3, ptr %t4, ptr @.str3299, ptr @.str3300, ptr %t5) br label %ret ret: ret void } define void @fn_vc_at(ptr %arg_name, ptr %arg_role, ptr %arg_on, ptr %arg_args, ptr %arg_doc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_role, ptr %t1 store ptr %arg_on, ptr %t2 store ptr %arg_args, ptr %t3 store ptr %arg_doc, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 %t7 = load ptr, ptr %t3 %t8 = load ptr, ptr %t2 %t9 = load ptr, ptr %t4 call void @fn_vc(ptr @.str3301, ptr %t5, ptr %t6, ptr %t7, ptr %t8, ptr %t9) br label %ret ret: ret void } define void @fn_vc_op(ptr %arg_op, ptr %arg_role, ptr %arg_doc) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_role, ptr %t1 store ptr %arg_doc, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = load ptr, ptr %t2 call void @fn_vc(ptr @.str3302, ptr %t3, ptr %t4, ptr @.str3303, ptr @.str3304, ptr %t5) br label %ret ret: ret void } define void @fn_vocab_keywords() { entry: call void @fn_vc_kw(ptr @.str3305, ptr @.str3306, ptr @.str3307) call void @fn_vc_kw(ptr @.str3308, ptr @.str3309, ptr @.str3310) call void @fn_vc_kw(ptr @.str3311, ptr @.str3312, ptr @.str3313) call void @fn_vc_kw(ptr @.str3314, ptr @.str3315, ptr @.str3316) call void @fn_vc_kw(ptr @.str3317, ptr @.str3318, ptr @.str3319) call void @fn_vc_kw(ptr @.str3320, ptr @.str3321, ptr @.str3322) call void @fn_vc_kw(ptr @.str3323, ptr @.str3324, ptr @.str3325) call void @fn_vc_kw(ptr @.str3326, ptr @.str3327, ptr @.str3328) call void @fn_vc_kw(ptr @.str3329, ptr @.str3330, ptr @.str3331) call void @fn_vc_kw(ptr @.str3332, ptr @.str3333, ptr @.str3334) call void @fn_vc_kw(ptr @.str3335, ptr @.str3336, ptr @.str3337) call void @fn_vc_kw(ptr @.str3338, ptr @.str3339, ptr @.str3340) call void @fn_vc_kw(ptr @.str3341, ptr @.str3342, ptr @.str3343) call void @fn_vc_kw(ptr @.str3344, ptr @.str3345, ptr @.str3346) call void @fn_vc_kw(ptr @.str3347, ptr @.str3348, ptr @.str3349) call void @fn_vc_kw(ptr @.str3350, ptr @.str3351, ptr @.str3352) call void @fn_vc_kw(ptr @.str3353, ptr @.str3354, ptr @.str3355) call void @fn_vc_kw(ptr @.str3356, ptr @.str3357, ptr @.str3358) call void @fn_vc_kw(ptr @.str3359, ptr @.str3360, ptr @.str3361) call void @fn_vc_kw(ptr @.str3362, ptr @.str3363, ptr @.str3364) call void @fn_vc_kw(ptr @.str3365, ptr @.str3366, ptr @.str3367) call void @fn_vc_kw(ptr @.str3368, ptr @.str3369, ptr @.str3370) call void @fn_vc_kw(ptr @.str3371, ptr @.str3372, ptr @.str3373) call void @fn_vc_kw(ptr @.str3374, ptr @.str3375, ptr @.str3376) call void @fn_vc_kw(ptr @.str3377, ptr @.str3378, ptr @.str3379) call void @fn_vc_kw(ptr @.str3380, ptr @.str3381, ptr @.str3382) call void @fn_vc_kw(ptr @.str3383, ptr @.str3384, ptr @.str3385) call void @fn_vc_kw(ptr @.str3386, ptr @.str3387, ptr @.str3388) call void @fn_vc_kw(ptr @.str3389, ptr @.str3390, ptr @.str3391) call void @fn_vc_kw(ptr @.str3392, ptr @.str3393, ptr @.str3394) call void @fn_vc_kw(ptr @.str3395, ptr @.str3396, ptr @.str3397) call void @fn_vc_kw(ptr @.str3398, ptr @.str3399, ptr @.str3400) call void @fn_vc_kw(ptr @.str3401, ptr @.str3402, ptr @.str3403) call void @fn_vc_kw(ptr @.str3404, ptr @.str3405, ptr @.str3406) call void @fn_vc_kw(ptr @.str3407, ptr @.str3408, ptr @.str3409) call void @fn_vc_kw(ptr @.str3410, ptr @.str3411, ptr @.str3412) call void @fn_vc_kw(ptr @.str3413, ptr @.str3414, ptr @.str3415) call void @fn_vc_kw(ptr @.str3416, ptr @.str3417, ptr @.str3418) call void @fn_vc_kw(ptr @.str3419, ptr @.str3420, ptr @.str3421) call void @fn_vc_kw(ptr @.str3422, ptr @.str3423, ptr @.str3424) call void @fn_vc_kw(ptr @.str3425, ptr @.str3426, ptr @.str3427) call void @fn_vc_kw(ptr @.str3428, ptr @.str3429, ptr @.str3430) call void @fn_vc_kw(ptr @.str3431, ptr @.str3432, ptr @.str3433) call void @fn_vc_kw(ptr @.str3434, ptr @.str3435, ptr @.str3436) call void @fn_vc_kw(ptr @.str3437, ptr @.str3438, ptr @.str3439) call void @fn_vc_kw(ptr @.str3440, ptr @.str3441, ptr @.str3442) call void @fn_vc_kw(ptr @.str3443, ptr @.str3444, ptr @.str3445) call void @fn_vc_kw(ptr @.str3446, ptr @.str3447, ptr @.str3448) call void @fn_vc_kw(ptr @.str3449, ptr @.str3450, ptr @.str3451) call void @fn_vc_kw(ptr @.str3452, ptr @.str3453, ptr @.str3454) call void @fn_vc_kw(ptr @.str3455, ptr @.str3456, ptr @.str3457) call void @fn_vc_kw(ptr @.str3458, ptr @.str3459, ptr @.str3460) call void @fn_vc_kw(ptr @.str3461, ptr @.str3462, ptr @.str3463) call void @fn_vc_kw(ptr @.str3464, ptr @.str3465, ptr @.str3466) call void @fn_vc_kw(ptr @.str3467, ptr @.str3468, ptr @.str3469) call void @fn_vc_kw(ptr @.str3470, ptr @.str3471, ptr @.str3472) call void @fn_vc_kw(ptr @.str3473, ptr @.str3474, ptr @.str3475) call void @fn_vc_kw(ptr @.str3476, ptr @.str3477, ptr @.str3478) call void @fn_vc_kw(ptr @.str3479, ptr @.str3480, ptr @.str3481) call void @fn_vc_kw(ptr @.str3482, ptr @.str3483, ptr @.str3484) call void @fn_vc_kw(ptr @.str3485, ptr @.str3486, ptr @.str3487) call void @fn_vc_kw(ptr @.str3488, ptr @.str3489, ptr @.str3490) call void @fn_vc_kw(ptr @.str3491, ptr @.str3492, ptr @.str3493) call void @fn_vc_kw(ptr @.str3494, ptr @.str3495, ptr @.str3496) call void @fn_vc_kw(ptr @.str3497, ptr @.str3498, ptr @.str3499) call void @fn_vc_kw(ptr @.str3500, ptr @.str3501, ptr @.str3502) call void @fn_vc_kw(ptr @.str3503, ptr @.str3504, ptr @.str3505) call void @fn_vc_kw(ptr @.str3506, ptr @.str3507, ptr @.str3508) call void @fn_vc_kw(ptr @.str3509, ptr @.str3510, ptr @.str3511) call void @fn_vc_kw(ptr @.str3512, ptr @.str3513, ptr @.str3514) call void @fn_vc_kw(ptr @.str3515, ptr @.str3516, ptr @.str3517) call void @fn_vc_kw(ptr @.str3518, ptr @.str3519, ptr @.str3520) call void @fn_vc_kw(ptr @.str3521, ptr @.str3522, ptr @.str3523) call void @fn_vc_kw(ptr @.str3524, ptr @.str3525, ptr @.str3526) call void @fn_vc_kw(ptr @.str3527, ptr @.str3528, ptr @.str3529) call void @fn_vc_kw(ptr @.str3530, ptr @.str3531, ptr @.str3532) call void @fn_vc_kw(ptr @.str3533, ptr @.str3534, ptr @.str3535) call void @fn_vc_kw(ptr @.str3536, ptr @.str3537, ptr @.str3538) call void @fn_vc_kw(ptr @.str3539, ptr @.str3540, ptr @.str3541) call void @fn_vc_kw(ptr @.str3542, ptr @.str3543, ptr @.str3544) call void @fn_vc_kw(ptr @.str3545, ptr @.str3546, ptr @.str3547) call void @fn_vc_kw(ptr @.str3548, ptr @.str3549, ptr @.str3550) call void @fn_vc_kw(ptr @.str3551, ptr @.str3552, ptr @.str3553) br label %ret ret: ret void } define void @fn_vocab_declarations() { entry: call void @fn_vc_decl(ptr @.str3554, ptr @.str3555, ptr @.str3556) call void @fn_vc_decl(ptr @.str3557, ptr @.str3558, ptr @.str3559) call void @fn_vc_decl(ptr @.str3560, ptr @.str3561, ptr @.str3562) call void @fn_vc_decl(ptr @.str3563, ptr @.str3564, ptr @.str3565) call void @fn_vc_decl(ptr @.str3566, ptr @.str3567, ptr @.str3568) call void @fn_vc_decl(ptr @.str3569, ptr @.str3570, ptr @.str3571) call void @fn_vc_decl(ptr @.str3572, ptr @.str3573, ptr @.str3574) call void @fn_vc_decl(ptr @.str3575, ptr @.str3576, ptr @.str3577) call void @fn_vc_decl(ptr @.str3578, ptr @.str3579, ptr @.str3580) call void @fn_vc_decl(ptr @.str3581, ptr @.str3582, ptr @.str3583) call void @fn_vc_decl(ptr @.str3584, ptr @.str3585, ptr @.str3586) call void @fn_vc_decl(ptr @.str3587, ptr @.str3588, ptr @.str3589) call void @fn_vc_decl(ptr @.str3590, ptr @.str3591, ptr @.str3592) call void @fn_vc_decl(ptr @.str3593, ptr @.str3594, ptr @.str3595) call void @fn_vc_decl(ptr @.str3596, ptr @.str3597, ptr @.str3598) call void @fn_vc_decl(ptr @.str3599, ptr @.str3600, ptr @.str3601) call void @fn_vc_decl(ptr @.str3602, ptr @.str3603, ptr @.str3604) call void @fn_vc_decl(ptr @.str3605, ptr @.str3606, ptr @.str3607) call void @fn_vc_decl(ptr @.str3608, ptr @.str3609, ptr @.str3610) call void @fn_vc_decl(ptr @.str3611, ptr @.str3612, ptr @.str3613) call void @fn_vc_decl(ptr @.str3614, ptr @.str3615, ptr @.str3616) call void @fn_vc_decl(ptr @.str3617, ptr @.str3618, ptr @.str3619) call void @fn_vc_decl(ptr @.str3620, ptr @.str3621, ptr @.str3622) call void @fn_vc_decl(ptr @.str3623, ptr @.str3624, ptr @.str3625) call void @fn_vc_decl(ptr @.str3626, ptr @.str3627, ptr @.str3628) call void @fn_vc_decl(ptr @.str3629, ptr @.str3630, ptr @.str3631) call void @fn_vc_decl(ptr @.str3632, ptr @.str3633, ptr @.str3634) call void @fn_vc_decl(ptr @.str3635, ptr @.str3636, ptr @.str3637) call void @fn_vc_decl(ptr @.str3638, ptr @.str3639, ptr @.str3640) call void @fn_vc_decl(ptr @.str3641, ptr @.str3642, ptr @.str3643) call void @fn_vc_decl(ptr @.str3644, ptr @.str3645, ptr @.str3646) br label %ret ret: ret void } define void @fn_vocab_types() { entry: call void @fn_vc_ty(ptr @.str3647, ptr @.str3648, ptr @.str3649) call void @fn_vc_ty(ptr @.str3650, ptr @.str3651, ptr @.str3652) call void @fn_vc_ty(ptr @.str3653, ptr @.str3654, ptr @.str3655) call void @fn_vc_ty(ptr @.str3656, ptr @.str3657, ptr @.str3658) call void @fn_vc_ty(ptr @.str3659, ptr @.str3660, ptr @.str3661) call void @fn_vc_ty(ptr @.str3662, ptr @.str3663, ptr @.str3664) call void @fn_vc_ty(ptr @.str3665, ptr @.str3666, ptr @.str3667) call void @fn_vc_ty(ptr @.str3668, ptr @.str3669, ptr @.str3670) call void @fn_vc_ty(ptr @.str3671, ptr @.str3672, ptr @.str3673) call void @fn_vc_ty(ptr @.str3674, ptr @.str3675, ptr @.str3676) call void @fn_vc_ty(ptr @.str3677, ptr @.str3678, ptr @.str3679) call void @fn_vc_ty(ptr @.str3680, ptr @.str3681, ptr @.str3682) call void @fn_vc_ty(ptr @.str3683, ptr @.str3684, ptr @.str3685) call void @fn_vc_ty(ptr @.str3686, ptr @.str3687, ptr @.str3688) call void @fn_vc_ty(ptr @.str3689, ptr @.str3690, ptr @.str3691) call void @fn_vc_ty(ptr @.str3692, ptr @.str3693, ptr @.str3694) call void @fn_vc_ty(ptr @.str3695, ptr @.str3696, ptr @.str3697) call void @fn_vc_ty(ptr @.str3698, ptr @.str3699, ptr @.str3700) call void @fn_vc_ty(ptr @.str3701, ptr @.str3702, ptr @.str3703) call void @fn_vc_ty(ptr @.str3704, ptr @.str3705, ptr @.str3706) call void @fn_vc_ty(ptr @.str3707, ptr @.str3708, ptr @.str3709) br label %ret ret: ret void } define void @fn_vocab_phases() { entry: call void @fn_vc(ptr @.str3710, ptr @.str3711, ptr @.str3712, ptr @.str3713, ptr @.str3714, ptr @.str3715) call void @fn_vc(ptr @.str3716, ptr @.str3717, ptr @.str3718, ptr @.str3719, ptr @.str3720, ptr @.str3721) call void @fn_vc(ptr @.str3722, ptr @.str3723, ptr @.str3724, ptr @.str3725, ptr @.str3726, ptr @.str3727) call void @fn_vc(ptr @.str3728, ptr @.str3729, ptr @.str3730, ptr @.str3731, ptr @.str3732, ptr @.str3733) call void @fn_vc(ptr @.str3734, ptr @.str3735, ptr @.str3736, ptr @.str3737, ptr @.str3738, ptr @.str3739) call void @fn_vc(ptr @.str3740, ptr @.str3741, ptr @.str3742, ptr @.str3743, ptr @.str3744, ptr @.str3745) call void @fn_vc(ptr @.str3746, ptr @.str3747, ptr @.str3748, ptr @.str3749, ptr @.str3750, ptr @.str3751) br label %ret ret: ret void } define void @fn_vocab_attributes() { entry: call void @fn_vc_at(ptr @.str3752, ptr @.str3753, ptr @.str3754, ptr @.str3755, ptr @.str3756) call void @fn_vc_at(ptr @.str3757, ptr @.str3758, ptr @.str3759, ptr @.str3760, ptr @.str3761) call void @fn_vc_at(ptr @.str3762, ptr @.str3763, ptr @.str3764, ptr @.str3765, ptr @.str3766) call void @fn_vc_at(ptr @.str3767, ptr @.str3768, ptr @.str3769, ptr @.str3770, ptr @.str3771) call void @fn_vc_at(ptr @.str3772, ptr @.str3773, ptr @.str3774, ptr @.str3775, ptr @.str3776) call void @fn_vc_at(ptr @.str3777, ptr @.str3778, ptr @.str3779, ptr @.str3780, ptr @.str3781) call void @fn_vc_at(ptr @.str3782, ptr @.str3783, ptr @.str3784, ptr @.str3785, ptr @.str3786) call void @fn_vc_at(ptr @.str3787, ptr @.str3788, ptr @.str3789, ptr @.str3790, ptr @.str3791) call void @fn_vc_at(ptr @.str3792, ptr @.str3793, ptr @.str3794, ptr @.str3795, ptr @.str3796) call void @fn_vc_at(ptr @.str3797, ptr @.str3798, ptr @.str3799, ptr @.str3800, ptr @.str3801) call void @fn_vc_at(ptr @.str3802, ptr @.str3803, ptr @.str3804, ptr @.str3805, ptr @.str3806) call void @fn_vc_at(ptr @.str3807, ptr @.str3808, ptr @.str3809, ptr @.str3810, ptr @.str3811) call void @fn_vc_at(ptr @.str3812, ptr @.str3813, ptr @.str3814, ptr @.str3815, ptr @.str3816) call void @fn_vc_at(ptr @.str3817, ptr @.str3818, ptr @.str3819, ptr @.str3820, ptr @.str3821) call void @fn_vc_at(ptr @.str3822, ptr @.str3823, ptr @.str3824, ptr @.str3825, ptr @.str3826) call void @fn_vc_at(ptr @.str3827, ptr @.str3828, ptr @.str3829, ptr @.str3830, ptr @.str3831) call void @fn_vc_at(ptr @.str3832, ptr @.str3833, ptr @.str3834, ptr @.str3835, ptr @.str3836) call void @fn_vc_at(ptr @.str3837, ptr @.str3838, ptr @.str3839, ptr @.str3840, ptr @.str3841) call void @fn_vc_at(ptr @.str3842, ptr @.str3843, ptr @.str3844, ptr @.str3845, ptr @.str3846) call void @fn_vc_at(ptr @.str3847, ptr @.str3848, ptr @.str3849, ptr @.str3850, ptr @.str3851) call void @fn_vc_at(ptr @.str3852, ptr @.str3853, ptr @.str3854, ptr @.str3855, ptr @.str3856) call void @fn_vc_at(ptr @.str3857, ptr @.str3858, ptr @.str3859, ptr @.str3860, ptr @.str3861) call void @fn_vc_at(ptr @.str3862, ptr @.str3863, ptr @.str3864, ptr @.str3865, ptr @.str3866) call void @fn_vc_at(ptr @.str3867, ptr @.str3868, ptr @.str3869, ptr @.str3870, ptr @.str3871) call void @fn_vc_at(ptr @.str3872, ptr @.str3873, ptr @.str3874, ptr @.str3875, ptr @.str3876) call void @fn_vc_at(ptr @.str3877, ptr @.str3878, ptr @.str3879, ptr @.str3880, ptr @.str3881) call void @fn_vc_at(ptr @.str3882, ptr @.str3883, ptr @.str3884, ptr @.str3885, ptr @.str3886) call void @fn_vc_at(ptr @.str3887, ptr @.str3888, ptr @.str3889, ptr @.str3890, ptr @.str3891) call void @fn_vc_at(ptr @.str3892, ptr @.str3893, ptr @.str3894, ptr @.str3895, ptr @.str3896) call void @fn_vc_at(ptr @.str3897, ptr @.str3898, ptr @.str3899, ptr @.str3900, ptr @.str3901) call void @fn_vc_at(ptr @.str3902, ptr @.str3903, ptr @.str3904, ptr @.str3905, ptr @.str3906) call void @fn_vc_at(ptr @.str3907, ptr @.str3908, ptr @.str3909, ptr @.str3910, ptr @.str3911) call void @fn_vc_at(ptr @.str3912, ptr @.str3913, ptr @.str3914, ptr @.str3915, ptr @.str3916) call void @fn_vc_at(ptr @.str3917, ptr @.str3918, ptr @.str3919, ptr @.str3920, ptr @.str3921) call void @fn_vc_at(ptr @.str3922, ptr @.str3923, ptr @.str3924, ptr @.str3925, ptr @.str3926) call void @fn_vc_at(ptr @.str3927, ptr @.str3928, ptr @.str3929, ptr @.str3930, ptr @.str3931) call void @fn_vc_at(ptr @.str3932, ptr @.str3933, ptr @.str3934, ptr @.str3935, ptr @.str3936) call void @fn_vc_at(ptr @.str3937, ptr @.str3938, ptr @.str3939, ptr @.str3940, ptr @.str3941) call void @fn_vc_at(ptr @.str3942, ptr @.str3943, ptr @.str3944, ptr @.str3945, ptr @.str3946) call void @fn_vc_at(ptr @.str3947, ptr @.str3948, ptr @.str3949, ptr @.str3950, ptr @.str3951) call void @fn_vc_at(ptr @.str3952, ptr @.str3953, ptr @.str3954, ptr @.str3955, ptr @.str3956) call void @fn_vc_at(ptr @.str3957, ptr @.str3958, ptr @.str3959, ptr @.str3960, ptr @.str3961) call void @fn_vc_at(ptr @.str3962, ptr @.str3963, ptr @.str3964, ptr @.str3965, ptr @.str3966) call void @fn_vc_at(ptr @.str3967, ptr @.str3968, ptr @.str3969, ptr @.str3970, ptr @.str3971) call void @fn_vc_at(ptr @.str3972, ptr @.str3973, ptr @.str3974, ptr @.str3975, ptr @.str3976) call void @fn_vc_at(ptr @.str3977, ptr @.str3978, ptr @.str3979, ptr @.str3980, ptr @.str3981) call void @fn_vc_at(ptr @.str3982, ptr @.str3983, ptr @.str3984, ptr @.str3985, ptr @.str3986) call void @fn_vc_at(ptr @.str3987, ptr @.str3988, ptr @.str3989, ptr @.str3990, ptr @.str3991) call void @fn_vc_at(ptr @.str3992, ptr @.str3993, ptr @.str3994, ptr @.str3995, ptr @.str3996) call void @fn_vc_at(ptr @.str3997, ptr @.str3998, ptr @.str3999, ptr @.str4000, ptr @.str4001) call void @fn_vc_at(ptr @.str4002, ptr @.str4003, ptr @.str4004, ptr @.str4005, ptr @.str4006) call void @fn_vc_at(ptr @.str4007, ptr @.str4008, ptr @.str4009, ptr @.str4010, ptr @.str4011) call void @fn_vc_at(ptr @.str4012, ptr @.str4013, ptr @.str4014, ptr @.str4015, ptr @.str4016) call void @fn_vc_at(ptr @.str4017, ptr @.str4018, ptr @.str4019, ptr @.str4020, ptr @.str4021) call void @fn_vc_at(ptr @.str4022, ptr @.str4023, ptr @.str4024, ptr @.str4025, ptr @.str4026) call void @fn_vc_at(ptr @.str4027, ptr @.str4028, ptr @.str4029, ptr @.str4030, ptr @.str4031) br label %ret ret: ret void } define void @fn_vocab_operators() { entry: call void @fn_vc_op(ptr @.str4032, ptr @.str4033, ptr @.str4034) call void @fn_vc_op(ptr @.str4035, ptr @.str4036, ptr @.str4037) call void @fn_vc_op(ptr @.str4038, ptr @.str4039, ptr @.str4040) call void @fn_vc_op(ptr @.str4041, ptr @.str4042, ptr @.str4043) call void @fn_vc_op(ptr @.str4044, ptr @.str4045, ptr @.str4046) call void @fn_vc_op(ptr @.str4047, ptr @.str4048, ptr @.str4049) call void @fn_vc_op(ptr @.str4050, ptr @.str4051, ptr @.str4052) call void @fn_vc_op(ptr @.str4053, ptr @.str4054, ptr @.str4055) call void @fn_vc_op(ptr @.str4056, ptr @.str4057, ptr @.str4058) call void @fn_vc_op(ptr @.str4059, ptr @.str4060, ptr @.str4061) call void @fn_vc_op(ptr @.str4062, ptr @.str4063, ptr @.str4064) call void @fn_vc_op(ptr @.str4065, ptr @.str4066, ptr @.str4067) call void @fn_vc_op(ptr @.str4068, ptr @.str4069, ptr @.str4070) call void @fn_vc_op(ptr @.str4071, ptr @.str4072, ptr @.str4073) call void @fn_vc_op(ptr @.str4074, ptr @.str4075, ptr @.str4076) call void @fn_vc_op(ptr @.str4077, ptr @.str4078, ptr @.str4079) call void @fn_vc_op(ptr @.str4080, ptr @.str4081, ptr @.str4082) call void @fn_vc_op(ptr @.str4083, ptr @.str4084, ptr @.str4085) call void @fn_vc_op(ptr @.str4086, ptr @.str4087, ptr @.str4088) call void @fn_vc_op(ptr @.str4089, ptr @.str4090, ptr @.str4091) call void @fn_vc_op(ptr @.str4092, ptr @.str4093, ptr @.str4094) call void @fn_vc_op(ptr @.str4095, ptr @.str4096, ptr @.str4097) call void @fn_vc_op(ptr @.str4098, ptr @.str4099, ptr @.str4100) call void @fn_vc_op(ptr @.str4101, ptr @.str4102, ptr @.str4103) call void @fn_vc_op(ptr @.str4104, ptr @.str4105, ptr @.str4106) call void @fn_vc_op(ptr @.str4107, ptr @.str4108, ptr @.str4109) call void @fn_vc_op(ptr @.str4110, ptr @.str4111, ptr @.str4112) call void @fn_vc_op(ptr @.str4113, ptr @.str4114, ptr @.str4115) call void @fn_vc_op(ptr @.str4116, ptr @.str4117, ptr @.str4118) call void @fn_vc_op(ptr @.str4119, ptr @.str4120, ptr @.str4121) call void @fn_vc_op(ptr @.str4122, ptr @.str4123, ptr @.str4124) call void @fn_vc_op(ptr @.str4125, ptr @.str4126, ptr @.str4127) call void @fn_vc_op(ptr @.str4128, ptr @.str4129, ptr @.str4130) call void @fn_vc_op(ptr @.str4131, ptr @.str4132, ptr @.str4133) call void @fn_vc_op(ptr @.str4134, ptr @.str4135, ptr @.str4136) call void @fn_vc_op(ptr @.str4137, ptr @.str4138, ptr @.str4139) br label %ret ret: ret void } define void @fn_vocab_literals() { entry: call void @fn_vc(ptr @.str4140, ptr @.str4141, ptr @.str4142, ptr @.str4143, ptr @.str4144, ptr @.str4145) call void @fn_vc(ptr @.str4146, ptr @.str4147, ptr @.str4148, ptr @.str4149, ptr @.str4150, ptr @.str4151) call void @fn_vc(ptr @.str4152, ptr @.str4153, ptr @.str4154, ptr @.str4155, ptr @.str4156, ptr @.str4157) call void @fn_vc(ptr @.str4158, ptr @.str4159, ptr @.str4160, ptr @.str4161, ptr @.str4162, ptr @.str4163) call void @fn_vc(ptr @.str4164, ptr @.str4165, ptr @.str4166, ptr @.str4167, ptr @.str4168, ptr @.str4169) call void @fn_vc(ptr @.str4170, ptr @.str4171, ptr @.str4172, ptr @.str4173, ptr @.str4174, ptr @.str4175) call void @fn_vc(ptr @.str4176, ptr @.str4177, ptr @.str4178, ptr @.str4179, ptr @.str4180, ptr @.str4181) call void @fn_vc(ptr @.str4182, ptr @.str4183, ptr @.str4184, ptr @.str4185, ptr @.str4186, ptr @.str4187) call void @fn_vc(ptr @.str4188, ptr @.str4189, ptr @.str4190, ptr @.str4191, ptr @.str4192, ptr @.str4193) br label %ret ret: ret void } define void @fn_vocab_fill() { entry: %t0 = load ptr, ptr @g_g_vc_name %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: br label %ret ifend2: call void @fn_vocab_keywords() call void @fn_vocab_declarations() call void @fn_vocab_types() call void @fn_vocab_phases() call void @fn_vocab_attributes() call void @fn_vocab_operators() call void @fn_vocab_literals() br label %ret ret: ret void } define void @fn_vocab_check() { entry: %t0 = alloca i32 %t18 = alloca ptr %t29 = alloca ptr %t30 = alloca i32 %t46 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_vc_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_vc_kind %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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str4194, 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_vc_name %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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4195, 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 %t31 = load ptr, ptr %t18 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4196) %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 %t29 %t36 = call i32 @fn_is_phase_name(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 %t30 br label %scend8 scend8: %t41 = load i32, ptr %t30 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load ptr, ptr %t29 store i32 1898, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str4197, ptr %t43) store i32 0, ptr @lp_site store i32 1899, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4199) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_die(ptr %t45) br label %ifend11 ifend11: %t49 = load ptr, ptr %t18 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str4200) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t48 br i1 %t51, label %sc12, label %scend13 sc12: %t53 = load ptr, ptr @g_g_vc_on %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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str4201, 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 = call i32 @lp_str_eq(ptr %t62, ptr @.str4202) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t48 br label %scend13 scend13: %t66 = load i32, ptr %t48 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t47 br i1 %t67, label %sc16, label %scend17 sc16: %t69 = load ptr, ptr @g_g_vc_role %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 %ixok18, label %ixbad19 ixbad19: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str4203, i32 %t70, i32 %t74) call void @exit(i32 1) unreachable ixok18: %t77 = getelementptr inbounds ptr, ptr %t72, i32 %t70 %t78 = load ptr, ptr %t77 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str4204) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t47 br label %scend17 scend17: %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 %sc20, label %scend21 sc20: %t85 = load ptr, ptr %t29 %t86 = call i32 @fn_vc_field_attr(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 %t46 br label %scend21 scend21: %t91 = load i32, ptr %t46 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then22, label %ifend24 then22: %t93 = load ptr, ptr %t29 store i32 1900, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str4205, ptr %t93) store i32 0, ptr @lp_site store i32 1901, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4206) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) call void @fn_die(ptr %t95) br label %ifend24 ifend24: %t96 = load i32, ptr %t0 %t97 = add i32 %t96, 1 store i32 %t97, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_vc_field_attr(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 %t6 = alloca i32 %t7 = alloca i32 store ptr %arg_a, ptr %t0 %t8 = load ptr, ptr %t0 %t9 = call i32 @fn_at_field_known(ptr %t8) %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 @.str4207) %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 @.str4208) %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 @.str4209) %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 @.str4210) %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 @.str4211) %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 @.str4212) %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 @.str4213) %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 void @fn_vc_list(ptr %arg_b, ptr %arg_kind, ptr %arg_key) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t7 = alloca i32 %t8 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_kind, ptr %t1 store ptr %arg_key, ptr %t2 %t3 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t3, ptr @.str4214) %t4 = load ptr, ptr %t0 %t5 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t4, ptr %t5) %t6 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t6, ptr @.str4215) store i32 1, ptr %t7 store i32 0, ptr %t8 br label %wcond0 wcond0: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr @g_g_vc_name %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_vc_kind %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str4216, 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 %t1 %t27 = call ptr @fn_vc_kind_of(ptr %t26) %t28 = call i32 @lp_str_eq(ptr %t25, ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: %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 %then8, label %ifend10 then8: %t34 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t34, ptr @.str4217) br label %ifend10 ifend10: store i32 0, ptr %t7 %t35 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t35, ptr @.str4218) %t36 = load ptr, ptr %t0 %t37 = load ptr, ptr %t2 call void @fn_buf_puts(ptr %t36, ptr %t37) %t38 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t38, ptr @.str4219) %t39 = load ptr, ptr %t0 %t40 = load ptr, ptr @g_g_vc_name %t41 = load i32, ptr %t8 %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 %ixok11, label %ixbad12 ixbad12: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str4220, i32 %t41, i32 %t45) call void @exit(i32 1) unreachable ixok11: %t48 = getelementptr inbounds ptr, ptr %t43, i32 %t41 %t49 = load ptr, ptr %t48 call void @fn_jq_put(ptr %t39, ptr %t49) %t50 = load ptr, ptr %t0 %t51 = load i32, ptr %t8 call void @fn_vc_fields(ptr %t50, i32 %t51) %t52 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t52, ptr @.str4221) %t53 = load ptr, ptr %t0 %t54 = load ptr, ptr @g_g_vc_doc %t55 = load i32, ptr %t8 %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 %ixok13, label %ixbad14 ixbad14: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str4222, i32 %t55, i32 %t59) call void @exit(i32 1) unreachable ixok13: %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 %t0 call void @fn_buf_puts(ptr %t64, ptr @.str4223) br label %ifend7 ifend7: %t65 = load i32, ptr %t8 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t8 br label %wcond0 wend2: %t67 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t67, ptr @.str4224) br label %ret ret: ret void } define ptr @fn_vc_kind_of(ptr %arg_list) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_list, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str4225) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str4226, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4227) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str4228, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4229) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str4230, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str4231) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str4232, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str4233) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str4234, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str4235) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str4236, ptr %retval br label %ret ifend17: store ptr @.str4237, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define void @fn_vc_fields(ptr %arg_b, i32 %arg_i) { entry: %t0 = alloca ptr %t1 = alloca i32 %t12 = alloca ptr store ptr %arg_b, ptr %t0 store i32 %arg_i, ptr %t1 %t2 = load ptr, ptr @g_g_vc_kind %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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str4238, 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 = load ptr, ptr @g_g_vc_role %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 %ixok2, label %ixbad3 ixbad3: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str4239, i32 %t14, i32 %t18) call void @exit(i32 1) unreachable ixok2: %t21 = getelementptr inbounds ptr, ptr %t16, i32 %t14 %t22 = load ptr, ptr %t21 %t23 = call i64 @strlen(ptr %t22) %t24 = trunc i64 %t23 to i32 %t25 = icmp sgt i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then4, label %ifend6 then4: %t28 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t28, ptr @.str4240) %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr @g_g_vc_role %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 %ixok7, label %ixbad8 ixbad8: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str4241, i32 %t31, i32 %t35) call void @exit(i32 1) unreachable ixok7: %t38 = getelementptr inbounds ptr, ptr %t33, i32 %t31 %t39 = load ptr, ptr %t38 call void @fn_jq_put(ptr %t29, ptr %t39) br label %ifend6 ifend6: %t40 = load ptr, ptr %t12 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str4242) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t43, ptr @.str4243) %t44 = load ptr, ptr @g_g_vc_name %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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str4244, 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 i32 @fn_is_reserved_word(ptr %t53) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %else15 then14: %t56 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t56, ptr @.str4245) br label %ifend16 else15: %t57 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t57, ptr @.str4246) br label %ifend16 ifend16: br label %ifend11 ifend11: %t58 = load ptr, ptr %t12 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str4247) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then17, label %ifend19 then17: %t61 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t61, ptr @.str4248) %t62 = load ptr, ptr %t0 %t63 = load ptr, ptr @g_g_vc_form %t64 = load i32, ptr %t1 %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 %ixok20, label %ixbad21 ixbad21: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str4249, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok20: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 call void @fn_jq_put(ptr %t62, ptr %t72) br label %ifend19 ifend19: %t73 = load ptr, ptr %t12 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str4250) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then22, label %ifend24 then22: %t76 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t76, ptr @.str4251) %t77 = load ptr, ptr %t0 %t78 = load ptr, ptr @g_g_vc_on %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 %ixok25, label %ixbad26 ixbad26: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str4252, i32 %t79, i32 %t83) call void @exit(i32 1) unreachable ixok25: %t86 = getelementptr inbounds ptr, ptr %t81, i32 %t79 %t87 = load ptr, ptr %t86 call void @fn_vc_words(ptr %t77, ptr %t87) %t88 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t88, ptr @.str4253) %t89 = load ptr, ptr @g_g_vc_form %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 %ixok27, label %ixbad28 ixbad28: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str4254, i32 %t90, i32 %t94) call void @exit(i32 1) unreachable ixok27: %t97 = getelementptr inbounds ptr, ptr %t92, i32 %t90 %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 %then29, label %else30 then29: %t104 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t104, ptr @.str4255) br label %ifend31 else30: %t105 = load ptr, ptr %t0 %t106 = load ptr, ptr @g_g_vc_form %t107 = load i32, ptr %t1 %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 %ixok32, label %ixbad33 ixbad33: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str4256, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok32: %t114 = getelementptr inbounds ptr, ptr %t109, i32 %t107 %t115 = load ptr, ptr %t114 call void @fn_jq_put(ptr %t105, ptr %t115) br label %ifend31 ifend31: br label %ifend24 ifend24: br label %ret ret: ret void } define void @fn_vc_words(ptr %arg_b, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t7 = alloca i32 %t14 = alloca i32 %t15 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_s, ptr %t1 store i32 0, ptr %t2 store i32 1, 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 %t2 %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 store i32 %t13, ptr %t14 br label %wcond3 wcond3: %t16 = load i32, ptr %t14 %t17 = load i32, ptr %t7 %t18 = icmp slt i32 %t16, %t17 %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 %sc6, label %scend7 sc6: %t22 = load ptr, ptr %t1 %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 ne i32 %t26, 32 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t15 br label %scend7 scend7: %t31 = load i32, ptr %t15 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody4, label %wend5 wbody4: %t33 = load i32, ptr %t14 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t14 br label %wcond3 wend5: %t35 = load i32, ptr %t14 %t36 = load i32, ptr %t2 %t37 = icmp sgt i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: %t40 = load i32, ptr %t3 %t41 = icmp eq i32 %t40, 0 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: %t44 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t44, ptr @.str4257) br label %ifend13 ifend13: store i32 0, ptr %t3 %t45 = load ptr, ptr %t0 %t46 = load ptr, ptr %t1 %t47 = load i32, ptr %t2 %t48 = load i32, ptr %t14 store i32 1902, ptr @lp_site %t49 = call ptr @lp_str_slice(ptr %t46, i32 %t47, i32 %t48) store i32 0, ptr @lp_site call void @fn_jq_put(ptr %t45, ptr %t49) br label %ifend10 ifend10: %t50 = load i32, ptr %t14 %t51 = add i32 %t50, 1 store i32 %t51, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_syntax_json() { entry: %retval = alloca ptr %t1 = alloca ptr call void @fn_vocab_fill() call void @fn_vocab_check() %t0 = call ptr @fn_buf_new() store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t2, ptr @.str4259) %t3 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t3, ptr @.str4260, ptr @.str4261) %t4 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t4, ptr @.str4262, ptr @.str4263) %t5 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t5, ptr @.str4264, ptr @.str4265) %t6 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t6, ptr @.str4266, ptr @.str4267) %t7 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t7, ptr @.str4268, ptr @.str4269) %t8 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t8, ptr @.str4270, ptr @.str4271) %t9 = load ptr, ptr %t1 call void @fn_vc_list(ptr %t9, ptr @.str4272, ptr @.str4273) %t10 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t10, ptr @.str4274) %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_buf_str(ptr %t11) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define void @fn_syntax_emit() { entry: %t1 = alloca ptr %t0 = call ptr @fn_syntax_json() store ptr %t0, ptr %t1 %t2 = load ptr, ptr @__stdoutp %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 call void @exit(i32 0) unreachable ret: ret void } 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 1903, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str4275, 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 1904, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4277) store i32 0, ptr @lp_site %t16 = load ptr, ptr %t1 store i32 1905, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str4279, 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 1906, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4280) store i32 0, ptr @lp_site %t46 = load i32, ptr %t26 %t47 = call ptr @fn_itoa(i32 %t46) store i32 1907, 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 @.str4281) %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: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str4282, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str4283, 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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str4284, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str4285, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4286, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str4287, 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 @.str4288) %t0 = call ptr @fn_expr() store ptr %t0, ptr %t1 call void @fn_eat_op(ptr @.str4289) %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 @.str4290) 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 1908, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str4292, ptr %t25) store i32 0, ptr @lp_site store i32 1909, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4294) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) call void @fn_at_decl_with(ptr @.str4291, 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 1910, 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 1911, 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 1912, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str4296, ptr %t56) store i32 0, ptr @lp_site store i32 1913, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4297) 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 1914, 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 1915, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str4298) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t2 store i32 1916, 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 1917, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4299) 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4300, 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 1918, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str4301) store i32 0, ptr @lp_site store ptr %t35, ptr %t10 br label %ifend7 ifend7: %t36 = load ptr, ptr %t10 store i32 1919, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4303) 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 @.str4304) %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 @.str4305, ptr %t3 br label %ifend13 else12: %t55 = load ptr, ptr %t3 store i32 1920, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4306) 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 1921, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str4308, 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 @.str4309) %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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str4310, 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 1922, 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 1923, 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 @.str4312) %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 @.str4313) %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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str4314, 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 @.str4315) %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 1924, 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 @.str4316, ptr %t144 %t145 = load i32, ptr %t24 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then26, label %ifend28 then26: store ptr @.str4317, 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 1925, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str4318) 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: %t169 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str4319, 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 1926, 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 @.str4320, 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 1927, 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 @.str4322) %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 @.str4323) %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 @.str4324) %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 @.str4325) %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 @.str4326) %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4327, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4328, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str4329, 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 1928, 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 1929, 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 1930, 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 1931, 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 1932, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4333, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str4334, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str4335, 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 1933, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str4336, ptr %t10) store i32 0, ptr @lp_site store i32 1934, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4338) 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 1935, 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 1936, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str4339) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str4340, 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 1937, 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 1938, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4341) 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 1939, 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 1940, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4342) 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 1941, 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 1942, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4343) 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 1943, 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 1944, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str4344) 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 1945, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str4345, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str4346, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str4347, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str4348, 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 1946, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str4349, ptr %t47) store i32 0, ptr @lp_site store i32 1947, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4351) 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str4352, 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 1948, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str4353, ptr %t74) store i32 0, ptr @lp_site store i32 1949, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str4354) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t22 store i32 1950, 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 1951, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str4355) 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str4356, 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 1952, 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 1953, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str4357) 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 1954, 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 1955, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4358) 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str4359, 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 @.str4360) %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 @.str4361) %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 @.str4362) %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 @.str4363) %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 1956, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr @.str4364, ptr %t151) store i32 0, ptr @lp_site store i32 1957, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str4365) 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 1958, 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 1959, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str4366) 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 1960, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr @.str4367, ptr %t178) store i32 0, ptr @lp_site store i32 1961, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str4368) 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 1962, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr @.str4369, ptr %t200) store i32 0, ptr @lp_site store i32 1963, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str4370) 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: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str4371, 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 1964, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str4372, ptr %t228) store i32 0, ptr @lp_site store i32 1965, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str4373) 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: %t238 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str4374, 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 1966, 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 1967, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str4375, ptr %t257) store i32 0, ptr @lp_site store i32 1968, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str4376) 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: %t279 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str4377, 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 @.str4378) %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: %t300 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str4379, 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 @.str4380) %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 1969, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str4381, ptr %t323) store i32 0, ptr @lp_site store i32 1970, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str4382) store i32 0, ptr @lp_site call void @lp_free(ptr %t324) %t326 = load ptr, ptr %t22 store i32 1971, 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 1972, ptr @lp_site %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str4383) 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 1973, 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 @.str4385) %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 @.str4386) %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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str4387, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str4388, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str4389, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str4391, 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 1974, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str4390, ptr %t51) store i32 0, ptr @lp_site store i32 1975, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4393) 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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str4394, 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 1976, 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 1977, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4395) 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str4396, 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 1978, 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 1979, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4397) 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str4398, 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 1980, 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 1981, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4399) 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 1982, 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 1983, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str4401, 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 1984, 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 1985, 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 1986, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str4403, 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 1987, 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 1988, 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 1989, 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 1990, 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 1991, 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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str4404, 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: %t185 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str4405, 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 1992, 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: %t215 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str4406, 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: %t223 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str4407, 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 1993, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str4408, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str4409, 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 @.str4410) %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 @.str4411) %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 @.str4412) %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 @.str4413) %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 @.str4414) %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 @.str4415) %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 @.str4416) %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 @.str4417) %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 @.str4418) %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 @.str4419) %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 @.str4420) %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 @.str4421) %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 @.str4422) %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 @.str4423) %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 1994, 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 1995, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str4425, 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 @.str4426) %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 1996, 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 1997, 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 1998, 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 1999, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str4428, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str4429, 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str4430, 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 @.str4431) %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 2000, 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 2001, 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 2002, 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 2003, 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 @.str4432, 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 @.str4433) %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 2004, 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 2005, 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 2006, 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 2007, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4434, 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 @.str4435) 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str4436, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str4437, 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 @.str4438) %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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str4439, 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 @.str4440) %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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str4441, 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 @.str4442) %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 @.str4443) %t62 = load ptr, ptr %t1 %t63 = call ptr @fn_buf_str(ptr %t62) call void @fn_pm_parse_src(ptr %t63, ptr @.str4444, 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 @.str4445) 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 2008, ptr @lp_site %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str4446) 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str4448, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str4449, 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 @.str4450) 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str4451, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str4452, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str4453, 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str4454, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str4455, 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: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str4456, 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 @.str4457) %t102 = load ptr, ptr %t40 %t103 = load ptr, ptr %t25 store i32 2009, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str4458, ptr %t103) store i32 0, ptr @lp_site store i32 2010, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4460) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t22 store i32 2011, 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 2012, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str4461) 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 2013, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str4463) store i32 0, ptr @lp_site %t112 = call ptr @fn_pm_q(ptr %t111) store i32 2014, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str4462, ptr %t112) store i32 0, ptr @lp_site store i32 2015, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str4464) 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 @.str4465) %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 2016, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str4466, ptr %t3) store i32 0, ptr @lp_site store i32 2017, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4468) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str4470, 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 2018, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str4469, ptr %t15) store i32 0, ptr @lp_site store i32 2019, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str4471) 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4472, 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 2020, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str4473, 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 2021, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str4474, ptr %t48) store i32 0, ptr @lp_site store i32 2022, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str4475) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t46 store i32 2023, 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 2024, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4476) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t46 store i32 2025, 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str4477, 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 2026, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str4478, ptr %t68) store i32 0, ptr @lp_site store i32 2027, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str4479) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr %t46 store i32 2028, 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 2029, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str4480) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t46 store i32 2030, 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 2031, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr @.str4481, ptr %t77) store i32 0, ptr @lp_site store i32 2032, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str4482) 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 @.str4483) 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 2033, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str4484, ptr %t4) store i32 0, ptr @lp_site store i32 2034, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4486) 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 2035, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str4487, ptr %t8) store i32 0, ptr @lp_site store i32 2036, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str4488) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t2 store i32 2037, 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 @.str4489) %t14 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t14, ptr @.str4490) %t15 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t15, ptr @.str4491) %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t1 store i32 2038, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str4492, ptr %t17) store i32 0, ptr @lp_site store i32 2039, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4493) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 2040, 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 2041, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4494) 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 @.str4495) %t24 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t24, ptr @.str4496) 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 2042, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str4497, ptr %t4) store i32 0, ptr @lp_site store i32 2043, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4499) 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 @.str4500) %t8 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t8, ptr @.str4501) %t9 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t9, ptr @.str4502) %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t2 store i32 2044, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str4503, ptr %t11) store i32 0, ptr @lp_site store i32 2045, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str4504) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t2 store i32 2046, 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 2047, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str4505, ptr %t17) store i32 0, ptr @lp_site store i32 2048, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4506) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 2049, 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 2050, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4507) 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 @.str4508) %t24 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t24, ptr @.str4509) %t25 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t25, ptr @.str4510) %t26 = load ptr, ptr %t0 %t27 = load ptr, ptr %t1 store i32 2051, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str4511, ptr %t27) store i32 0, ptr @lp_site store i32 2052, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4512) 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 2053, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str4513, ptr %t31) store i32 0, ptr @lp_site store i32 2054, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4514) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t1 store i32 2055, 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 2056, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4515) 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 @.str4516) %t38 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t38, ptr @.str4517) %t39 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t39, ptr @.str4518) %t40 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t40, ptr @.str4519) 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 2057, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str4520, ptr %t4) store i32 0, ptr @lp_site store i32 2058, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4522) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 2059, 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 2060, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4523) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str4524, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str4526, 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 2061, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str4525, ptr %t39) store i32 0, ptr @lp_site store i32 2062, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4527) 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 @.str4528) 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str4529, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str4530, 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 2063, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str4531, ptr %t75) store i32 0, ptr @lp_site store i32 2064, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4532) 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 2065, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str4533, ptr %t79) store i32 0, ptr @lp_site store i32 2066, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4534) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr %t62 store i32 2067, 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 2068, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str4535) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t2 store i32 2069, 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 2070, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4536) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t62 store i32 2071, 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 2072, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4537) 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 2073, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str4538, ptr %t92) store i32 0, ptr @lp_site store i32 2074, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4539) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t62 store i32 2075, 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 2076, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4540) 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 2077, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr @.str4541, ptr %t99) store i32 0, ptr @lp_site store i32 2078, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str4542) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) %t102 = load ptr, ptr %t62 store i32 2079, 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 2080, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str4543) 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 2081, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str4544, ptr %t106) store i32 0, ptr @lp_site store i32 2082, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str4545) 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 @.str4546) %t110 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t110, ptr @.str4547) %t111 = load ptr, ptr %t0 %t112 = load ptr, ptr %t62 store i32 2083, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str4548, 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 2084, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr @.str4549, ptr %t115) store i32 0, ptr @lp_site store i32 2085, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str4550) 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 2086, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str4551, ptr %t119) store i32 0, ptr @lp_site store i32 2087, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str4552) 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 @.str4553) %t123 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t123, ptr @.str4554) 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 @.str4555) %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t1 store i32 2088, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str4556, ptr %t9) store i32 0, ptr @lp_site store i32 2089, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4558) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2090, 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 2091, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4559) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t2 store i32 2092, 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 2093, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str4560) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t3 store i32 2094, 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 2095, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str4561) 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 2096, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str4562, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str4563, 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 2097, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str4564, ptr %t61) store i32 0, ptr @lp_site store i32 2098, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4565) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t55 store i32 2099, 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 2100, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4566) 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 2101, 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 2102, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str4567) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t55 store i32 2103, 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 2104, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4568) 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 2105, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str4569, ptr %t84) store i32 0, ptr @lp_site store i32 2106, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4570) 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 2107, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr @.str4571, ptr %t89) store i32 0, ptr @lp_site store i32 2108, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str4572) 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 2109, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr @.str4573, ptr %t94) store i32 0, ptr @lp_site store i32 2110, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str4574) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t97 = load ptr, ptr %t55 store i32 2111, 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 2112, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str4575) 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 2113, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str4576, ptr %t101) store i32 0, ptr @lp_site store i32 2114, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str4577) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t55 store i32 2115, 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 2116, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str4578) 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 2117, 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 2118, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str4579) 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 2119, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str4580, ptr %t113) store i32 0, ptr @lp_site store i32 2120, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4581) 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 @.str4582) %t117 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t117, ptr @.str4583) 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 2121, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str4584, ptr %t123) store i32 0, ptr @lp_site store i32 2122, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str4585) store i32 0, ptr @lp_site call void @lp_free(ptr %t124) %t126 = load ptr, ptr %t55 store i32 2123, 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 2124, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str4586) 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 2125, 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 2126, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str4587) 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 2127, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str4588, ptr %t135) store i32 0, ptr @lp_site store i32 2128, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4589) 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 2129, 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 2130, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str4590) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t55 store i32 2131, 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 2132, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str4591) 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 2133, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str4592, ptr %t147) store i32 0, ptr @lp_site store i32 2134, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str4593) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) %t150 = load ptr, ptr %t55 store i32 2135, 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 @.str4594) 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 @.str4595) %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t1 store i32 2136, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str4596, ptr %t9) store i32 0, ptr @lp_site store i32 2137, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4598) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2138, 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 2139, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4599) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t2 store i32 2140, 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 2141, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str4600) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t3 store i32 2142, 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 2143, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str4601) 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 @.str4602) %t22 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t22, ptr @.str4603) %t23 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t23, ptr @.str4604) 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str4605, 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 @.str4606, 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 @.str4607, ptr %t47 br label %ifend7 ifend7: %t52 = load ptr, ptr %t0 %t53 = load ptr, ptr %t47 store i32 2144, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str4608, ptr %t53) store i32 0, ptr @lp_site store i32 2145, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4609) 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 2146, 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 2147, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4610) 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 @.str4611) %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 2148, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str4612, ptr %t79) store i32 0, ptr @lp_site store i32 2149, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4613) 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 2150, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str4614, ptr %t84) store i32 0, ptr @lp_site store i32 2151, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4615) 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 @.str4616) %t88 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t88, ptr @.str4617) %t89 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t89, ptr @.str4618) 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 @.str4619, 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 @.str4620, 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 @.str4621, ptr %retval br label %ret ifend8: store ptr @.str4622, 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 2152, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str4623, ptr %t31) store i32 0, ptr @lp_site store i32 2153, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4625) 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 2154, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str4626, ptr %t66) store i32 0, ptr @lp_site store i32 2155, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4627) 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 2156, 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 2157, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4628) 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 2158, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str4629, ptr %t78) store i32 0, ptr @lp_site store i32 2159, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4630) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t1 store i32 2160, 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 2161, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4631) 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 2162, 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 2163, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4632) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t12 store i32 2164, 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 2165, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str4633) 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 2166, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr @.str4634, ptr %t99) store i32 0, ptr @lp_site store i32 2167, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str4635) 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 2168, 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 2169, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str4636) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load ptr, ptr %t12 store i32 2170, 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 2171, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str4637) 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 @.str4638) %t119 = load ptr, ptr %t0 %t120 = load ptr, ptr %t12 store i32 2172, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str4639, ptr %t120) store i32 0, ptr @lp_site store i32 2173, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4640) 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 2174, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr @.str4641, ptr %t124) store i32 0, ptr @lp_site store i32 2175, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str4642) 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 2176, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str4643, ptr %t128) store i32 0, ptr @lp_site store i32 2177, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str4644) 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 2178, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str4645, ptr %t136) store i32 0, ptr @lp_site store i32 2179, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str4646) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t1 store i32 2180, 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 2181, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str4647) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t114 store i32 2182, 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 2183, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str4648) 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 2184, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str4649, ptr %t146) store i32 0, ptr @lp_site store i32 2185, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str4650) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load ptr, ptr %t114 store i32 2186, 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 2187, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str4651) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t15 store i32 2188, 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 2189, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str4652) 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 2190, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str4653, ptr %t156) store i32 0, ptr @lp_site store i32 2191, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str4654) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t159 = load ptr, ptr %t1 store i32 2192, 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 2193, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str4655) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) %t162 = load ptr, ptr %t114 store i32 2194, 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 2195, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str4656) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) %t165 = load ptr, ptr %t15 store i32 2196, 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 2197, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str4657) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t15 store i32 2198, 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 2199, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str4658) 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 2200, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr @.str4659, ptr %t172) store i32 0, ptr @lp_site store i32 2201, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str4660) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) %t175 = load ptr, ptr %t15 store i32 2202, 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 2203, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str4661) 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 2204, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str4662, ptr %t182) store i32 0, ptr @lp_site store i32 2205, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str4663) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t185 = load ptr, ptr %t15 store i32 2206, 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 2207, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str4664) 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 2208, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str4665, ptr %t189) store i32 0, ptr @lp_site store i32 2209, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str4666) 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 2210, 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 2211, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str4667) store i32 0, ptr @lp_site call void @lp_free(ptr %t194) %t196 = load ptr, ptr %t15 store i32 2212, 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 2213, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str4668) 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 2214, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr @.str4669, ptr %t200) store i32 0, ptr @lp_site store i32 2215, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str4670) store i32 0, ptr @lp_site call void @lp_free(ptr %t201) %t203 = load ptr, ptr %t15 store i32 2216, 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 2217, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str4671) 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 @.str4672) %t207 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t207, ptr @.str4673) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str4674, 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 2218, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str4675, ptr %t23) store i32 0, ptr @lp_site store i32 2219, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4677) 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 2220, 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 2221, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4678) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t21 store i32 2222, 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 2223, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4679) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t21 store i32 2224, 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 2225, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str4680) 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 @.str4681) %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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str4682, 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 2226, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str4683, ptr %t65) store i32 0, ptr @lp_site store i32 2227, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4684) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t62 store i32 2228, 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 2229, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str4685) 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 2230, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str4686, ptr %t75) store i32 0, ptr @lp_site store i32 2231, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4687) 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 @.str4688) %t79 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t79, ptr @.str4689) %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 @.str4690, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str4691, 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 2232, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4692) 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 2233, 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 @.str4694, 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 2234, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str4695, ptr %t79) store i32 0, ptr @lp_site store i32 2235, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4696) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr %t69 store i32 2236, 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 2237, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str4698, 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 2238, 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 @.str4699) %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 @.str4700) %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 store i32 2239, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str4701, ptr %t6) store i32 0, ptr @lp_site store i32 2240, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4703) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 2241, 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 2242, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4704) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2243, 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 2244, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4705) 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 @.str4706) %t16 = load ptr, ptr %t0 %t17 = load ptr, ptr %t3 store i32 2245, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str4707, 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 @.str4708) %t20 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t20, ptr @.str4709) %t21 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t21, ptr @.str4710) %t22 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t22, ptr @.str4711) %t23 = load ptr, ptr %t0 %t24 = load ptr, ptr %t1 store i32 2246, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str4712, ptr %t24) store i32 0, ptr @lp_site store i32 2247, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str4713) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t2 store i32 2248, 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 2249, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4714) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t3 store i32 2250, 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 2251, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4715) 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 @.str4716) %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 store i32 2252, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str4717, ptr %t35) store i32 0, ptr @lp_site store i32 2253, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4718) 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 @.str4719) %t39 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t39, ptr @.str4720) %t40 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t40, ptr @.str4721) %t41 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t41, ptr @.str4722) %t42 = load ptr, ptr %t0 %t43 = load ptr, ptr %t1 store i32 2254, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str4723, ptr %t43) store i32 0, ptr @lp_site store i32 2255, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4724) 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 2256, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str4725, ptr %t47) store i32 0, ptr @lp_site store i32 2257, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4726) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t3 store i32 2258, 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 2259, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4727) 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 2260, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str4728, ptr %t54) store i32 0, ptr @lp_site store i32 2261, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4729) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t3 store i32 2262, 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 2263, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str4730) 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 @.str4731) %t61 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t61, ptr @.str4732) %t62 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t62, ptr @.str4733) %t63 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t63, ptr @.str4734) %t64 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t64, ptr @.str4735) %t65 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t65, ptr @.str4736) %t66 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t66, ptr @.str4737) %t67 = load ptr, ptr %t0 %t68 = load ptr, ptr %t1 store i32 2264, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str4738, ptr %t68) store i32 0, ptr @lp_site store i32 2265, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str4739) 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 @.str4740) %t72 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t72, ptr @.str4741) %t73 = load ptr, ptr %t0 %t74 = load ptr, ptr %t1 store i32 2266, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str4742, ptr %t74) store i32 0, ptr @lp_site store i32 2267, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str4743) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t2 store i32 2268, 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 2269, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str4744) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = load ptr, ptr %t3 store i32 2270, 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 2271, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str4745) 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 @.str4746) %t84 = load ptr, ptr %t0 %t85 = load ptr, ptr %t1 store i32 2272, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str4747, ptr %t85) store i32 0, ptr @lp_site store i32 2273, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4748) 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 @.str4749) %t89 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t89, ptr @.str4750) 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 2274, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str4752) store i32 0, ptr @lp_site %t5 = call ptr @fn_pm_q(ptr %t4) store i32 2275, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str4751, ptr %t5) store i32 0, ptr @lp_site store i32 2276, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str4754) 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 @.str4755) %t9 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t9, ptr @.str4756) %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str4757, 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 2277, 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 2278, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str4758, ptr %t117) store i32 0, ptr @lp_site store i32 2279, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str4759) 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 @.str4760) br label %ifend23 else22: %t130 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t130, ptr @.str4761) 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 2280, 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 2281, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str4762, ptr %t150) store i32 0, ptr @lp_site store i32 2282, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str4763) 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 @.str4764) %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t2 store i32 2283, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str4765, ptr %t6) store i32 0, ptr @lp_site store i32 2284, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4767) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t3 store i32 2285, 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 2286, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4768) 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 @.str4769) %t13 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t13, ptr @.str4770) %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 @.str4771) %t17 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t17, ptr @.str4772) %t18 = load ptr, ptr %t0 %t19 = load ptr, ptr %t2 store i32 2287, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str4773, ptr %t19) store i32 0, ptr @lp_site store i32 2288, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4774) 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 2289, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str4775, ptr %t23) store i32 0, ptr @lp_site store i32 2290, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4776) 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 @.str4777) %t27 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t27, ptr @.str4778) %t28 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t28, ptr @.str4779) %t29 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t29, ptr @.str4780) %t30 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t30, ptr @.str4781) %t31 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t31, ptr @.str4782) %t32 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t32, ptr @.str4783) %t33 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t33, ptr @.str4784) %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t2 store i32 2291, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str4785, ptr %t35) store i32 0, ptr @lp_site store i32 2292, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4786) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t3 store i32 2293, 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 2294, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str4787) 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 2295, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str4788, ptr %t42) store i32 0, ptr @lp_site store i32 2296, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4789) 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 @.str4790) %t46 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t46, ptr @.str4791) %t47 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t47, ptr @.str4792) %t48 = load ptr, ptr %t0 %t49 = load ptr, ptr %t2 store i32 2297, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str4793, ptr %t49) store i32 0, ptr @lp_site store i32 2298, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str4794) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t3 store i32 2299, 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 2300, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str4795) 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 @.str4796) %t56 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t56, ptr @.str4797) 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 2301, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str4798, ptr %t5) store i32 0, ptr @lp_site store i32 2302, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str4800) store i32 0, ptr @lp_site call void @lp_free(ptr %t6) %t8 = load ptr, ptr %t3 store i32 2303, 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 2304, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str4801) 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 @.str4802) %t12 = load ptr, ptr %t0 %t13 = load ptr, ptr %t2 store i32 2305, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str4803, ptr %t13) store i32 0, ptr @lp_site store i32 2306, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4804) 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 @.str4805) %t17 = load ptr, ptr %t0 %t18 = load ptr, ptr %t2 store i32 2307, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str4806, ptr %t18) store i32 0, ptr @lp_site store i32 2308, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str4807) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = load ptr, ptr %t3 store i32 2309, 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 2310, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str4808) 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 @.str4809) %t25 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t25, ptr @.str4810) %t26 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t26, ptr @.str4811) %t27 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t27, ptr @.str4812) %t28 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t28, ptr @.str4813) %t29 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t29, ptr @.str4814) %t30 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t30, ptr @.str4815) %t31 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t31, ptr @.str4816) %t32 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t32, ptr @.str4817) %t33 = load ptr, ptr %t0 %t34 = load ptr, ptr %t2 store i32 2311, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str4818, ptr %t34) store i32 0, ptr @lp_site store i32 2312, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4819) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t3 store i32 2313, 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 2314, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4820) 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 @.str4821) %t41 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t41, ptr @.str4822) %t42 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t42, ptr @.str4823) %t43 = load ptr, ptr %t0 %t44 = load ptr, ptr %t2 store i32 2315, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str4824, ptr %t44) store i32 0, ptr @lp_site store i32 2316, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4825) 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 @.str4826) %t48 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t48, ptr @.str4827) %t49 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t49, ptr @.str4828) %t50 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t50, ptr @.str4829) %t51 = load ptr, ptr %t0 %t52 = load ptr, ptr %t2 store i32 2317, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str4830, ptr %t52) store i32 0, ptr @lp_site store i32 2318, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str4831) 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 @.str4832) %t56 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t56, ptr @.str4833) %t57 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t57, ptr @.str4834) %t58 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t58, ptr @.str4835) %t59 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t59, ptr @.str4836) %t60 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t60, ptr @.str4837) %t61 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t61, ptr @.str4838) %t62 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t62, ptr @.str4839) %t63 = load ptr, ptr %t0 %t64 = load ptr, ptr %t3 store i32 2319, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str4840, ptr %t64) store i32 0, ptr @lp_site store i32 2320, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4841) 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 @.str4842) %t68 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t68, ptr @.str4843) %t69 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t69, ptr @.str4844) %t70 = load ptr, ptr %t0 %t71 = load ptr, ptr %t2 store i32 2321, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str4845, ptr %t71) store i32 0, ptr @lp_site store i32 2322, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str4846) 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 @.str4847) %t75 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t75, ptr @.str4848) %t76 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t76, ptr @.str4849) %t77 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t77, ptr @.str4850) %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 @.str4851) %t81 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t81, ptr @.str4852) %t82 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t82, ptr @.str4853) %t83 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t83, ptr @.str4854) %t84 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t84, ptr @.str4855) %t85 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t85, ptr @.str4856) %t86 = load ptr, ptr %t0 %t87 = load ptr, ptr %t2 store i32 2323, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str4857, ptr %t87) store i32 0, ptr @lp_site store i32 2324, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4858) 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 2325, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str4859, ptr %t91) store i32 0, ptr @lp_site store i32 2326, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str4860) 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 @.str4861) %t95 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t95, ptr @.str4862) %t96 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t96, ptr @.str4863) %t97 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t97, ptr @.str4864) %t98 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t98, ptr @.str4865) %t99 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t99, ptr @.str4866) %t100 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t100, ptr @.str4867) %t101 = load ptr, ptr %t0 %t102 = load ptr, ptr %t2 store i32 2327, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str4868, ptr %t102) store i32 0, ptr @lp_site store i32 2328, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str4869) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t3 store i32 2329, 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 2330, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str4870) 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 2331, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str4871, ptr %t109) store i32 0, ptr @lp_site store i32 2332, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str4872) 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 2333, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str4873, ptr %t113) store i32 0, ptr @lp_site store i32 2334, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4874) 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 @.str4875) %t117 = load ptr, ptr %t0 %t118 = load ptr, ptr %t2 store i32 2335, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str4876, ptr %t118) store i32 0, ptr @lp_site store i32 2336, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str4877) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t3 store i32 2337, 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 2338, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str4878) 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 @.str4879) %t125 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t125, ptr @.str4880) %t126 = load ptr, ptr %t0 %t127 = load ptr, ptr %t2 store i32 2339, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str4881, ptr %t127) store i32 0, ptr @lp_site store i32 2340, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str4882) 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 @.str4883) %t131 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t131, ptr @.str4884) %t132 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t132, ptr @.str4885) %t133 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t133, ptr @.str4886) %t134 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t134, ptr @.str4887) %t135 = load ptr, ptr %t0 %t136 = load ptr, ptr %t2 store i32 2341, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str4888, ptr %t136) store i32 0, ptr @lp_site store i32 2342, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str4889) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t3 store i32 2343, 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 2344, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str4890) 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 @.str4891) %t143 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t143, ptr @.str4892) %t144 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t144, ptr @.str4893) %t145 = load ptr, ptr %t0 call void @fn_pm_l(ptr %t145, ptr @.str4894) 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 @.str4895, ptr %t9) br label %ret ifend2: %t10 = load ptr, ptr %t0 store i32 2345, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4896) store i32 0, ptr @lp_site %t12 = load i32, ptr %t1 %t13 = call ptr @fn_itoa(i32 %t12) store i32 2346, 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 2347, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4898) 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 2348, 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 2349, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4899) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t3 store i32 2350, 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 2351, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4900) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr @__stderrp %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 2352, 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 @.str4902, ptr @.str4903) 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 @.str4904, ptr @.str4905) %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 2353, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str4906) store i32 0, ptr @lp_site %t18 = load ptr, ptr %t0 %t19 = load ptr, ptr @g_g_act_main store i32 2354, 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 2355, 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 2356, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4907) 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 @.str4908, ptr %t28 %t29 = load i32, ptr %t1 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: store ptr @.str4909, ptr %t28 br label %ifend8 ifend8: %t31 = load ptr, ptr %t28 store i32 2357, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str4910, ptr %t31) store i32 0, ptr @lp_site store i32 2358, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4911) 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 2359, 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 2360, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4912) 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 2361, 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 2362, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4913) 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 2363, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str4914, ptr %t43) store i32 0, ptr @lp_site store i32 2364, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4915) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t25 store i32 2365, 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 2366, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4916) 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 2367, 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 2368, 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 2369, 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 2370, 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 2371, 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 2372, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str4919, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str4920, 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 2373, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4921) store i32 0, ptr @lp_site %t35 = load ptr, ptr %t19 store i32 2374, 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 2375, 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 2376, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4922) store i32 0, ptr @lp_site %t95 = load ptr, ptr %t19 %t96 = load i32, ptr %t65 store i32 2377, ptr @lp_site %t97 = call ptr @lp_str_slice(ptr %t95, i32 0, i32 %t96) store i32 0, ptr @lp_site store i32 2378, 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 2379, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str4923, 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 2380, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str4924) 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: %t139 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str4925, 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 2381, 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 2382, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str4926, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str4927, 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 2383, 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 2384, 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 2385, 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 2386, 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 2387, 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 2388, 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 2389, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str4929) 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str4931, 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 2390, 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 2391, 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 2392, 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 2393, 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 2394, 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 2395, 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 2396, 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 2397, 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 2398, 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 2399, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str4933, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str4934, 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: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str4935, 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str4936, 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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str4937, 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 2400, 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 2401, 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 2402, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str4939, 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 2403, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4940) 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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str4941, 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 2404, 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 2405, 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: %t102 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str4942, 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: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str4943, 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: %t122 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t122, ptr @.fmt_bounds, ptr @.str4944, 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: %t130 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str4945, 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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str4946, 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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str4947, 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: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str4948, 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: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str4949, 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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str4951, 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 2406, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str4950, ptr %t185) store i32 0, ptr @lp_site store i32 2407, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str4952) 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 2408, 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 2409, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str4954, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str4955, 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 2410, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str4956, 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str4957, 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 2411, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str4958) 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str4959, 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 2412, 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 2413, 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 2414, 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 @.str4960, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str4961, 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: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str4962, 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: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str4963, 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: %t185 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str4964, 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: %t198 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str4965, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str4966, 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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str4967, 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: %t235 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str4968, 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: %t245 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str4969, 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: %t255 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str4971, 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 2415, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str4970, ptr %t257) store i32 0, ptr @lp_site store i32 2416, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str4972) 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: %t267 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str4973, 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 2417, 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 2418, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str4974) 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: %t279 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str4975, 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 2419, 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 2420, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str4976) 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 2421, 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 2422, 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 2423, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str4978, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str4979, 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 2424, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str4980) 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str4981, 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 2425, 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 2426, 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 2427, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str4982, 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: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str4983, 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 2428, 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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str4984, 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 2429, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str4985) 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: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str4986, 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 2430, 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: %t193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str4987, 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: %t203 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str4989, 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 2431, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str4988, ptr %t205) store i32 0, ptr @lp_site store i32 2432, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str4990) 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: %t215 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str4991, 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 2433, 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 2434, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str4992) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str4993, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str4994, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str4995, 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 2435, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4996) 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 2436, 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 @.str4998) %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 @.str4999) 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str5000, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str5001, 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 @.str5002, 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 @.str5003, 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 @.str5004, 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 @.str5005, 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 @.str5006, 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 2437, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str5007, 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 @.str5009, 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 @.str5010, 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 2438, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str5011, ptr %t128) store i32 0, ptr @lp_site store ptr %t129, ptr %retval br label %ret ifend38: store ptr @.str5012, 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 2439, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5013) store i32 0, ptr @lp_site %t8 = load ptr, ptr %t2 store i32 2440, 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 2441, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5015) 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 2442, 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 @.str5016) %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 2443, 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 2444, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str5018, 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 @.str5019) 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 @.str5020) 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str5021, 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 @.str5022) 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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str5023, 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 2445, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str5024, ptr %t109) store i32 0, ptr @lp_site store i32 2446, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str5026) store i32 0, ptr @lp_site call void @lp_free(ptr %t110) %t112 = load ptr, ptr %t2 store i32 2447, 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 2448, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5027) 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 2449, 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 2450, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str5028) 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 @.str5029) 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 @.str5030) 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 @.str5031) 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 2451, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr @.str5032, ptr %t211) store i32 0, ptr @lp_site store i32 2452, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str5033) 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 2453, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr @.str5034, 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: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str5035, 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 2454, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str5036) 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 2455, 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 2456, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str5037) 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: %t259 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str5038, 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: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str5039, 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: %t280 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t280, ptr @.fmt_bounds, ptr @.str5040, 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 @.str5041) br label %ifend85 else84: %t294 = load ptr, ptr %t0 %t295 = load ptr, ptr %t1 call void @fn_pmk_want(ptr %t294, ptr %t295, ptr @.str5042) 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 @.str5043) 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 2457, ptr @lp_site %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str5044) 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 2458, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5046) store i32 0, ptr @lp_site %t12 = load ptr, ptr %t2 store i32 2459, 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 2460, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str5048) store i32 0, ptr @lp_site %t25 = load ptr, ptr %t2 store i32 2461, 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 2462, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5049) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t14 store i32 2463, 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 2464, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str5050) 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str5051, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str5052, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str5053, 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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str5054, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str5055, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str5056, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str5057, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str5058, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str5059, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str5060, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str5061, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str5062, 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 @.str5063) %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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str5064, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str5065, 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 2465, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str5066) 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 2466, 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 2467, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5068) 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 2468, 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 2469, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str5069) 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 @.str5070) %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 @.str5071) %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: %t148 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str5072, 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: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str5073, 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 2470, 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 2471, 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 2472, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str5074, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str5075, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str5076, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str5077, 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 @.str5078) %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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str5079, 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str5080, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str5081, 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 2473, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5082) store i32 0, ptr @lp_site %t127 = load ptr, ptr %t2 store i32 2474, 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 2475, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5084) 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str5085, 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 2476, 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 2477, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str5086) 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str5087, 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 2478, 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 2479, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str5088) 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 @.str5089) %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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str5090, 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str5091, 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 @.str5092) %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 2480, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str5093) store i32 0, ptr @lp_site %t226 = load ptr, ptr %t2 store i32 2481, 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 2482, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5094) 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: %t236 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t236, ptr @.fmt_bounds, ptr @.str5095, 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 2483, 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 2484, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str5096) 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 2485, 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 2486, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5097) 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 2487, 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 2488, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str5098) 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 @.str5099) %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: %t262 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str5100, 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: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str5101, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str5102, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str5103, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str5104, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str5105, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str5106, 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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str5107, 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 2489, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5108) store i32 0, ptr @lp_site %t181 = load ptr, ptr %t162 store i32 2490, 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 2491, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5110) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) %t184 = load ptr, ptr %t169 store i32 2492, 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 2493, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str5111) 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 2494, 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 2495, 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 2496, 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 2497, 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 @.str5114, 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 2498, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str5116, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str5117, 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 @.str5118) 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 2499, 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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str5120, 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: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str5121, 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 2500, 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 2501, 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 2502, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str5123, 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 2503, 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 2504, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str5124, 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 2505, 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: %t172 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str5125, 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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str5126, 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: %t198 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str5127, 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: %t216 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str5128, 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: %t235 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str5129, 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: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str5130, 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 2506, 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: %t298 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str5131, 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: %t317 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t317, ptr @.fmt_bounds, ptr @.str5132, 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 2507, 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: %t367 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t367, ptr @.fmt_bounds, ptr @.str5133, 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: %t390 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t390, ptr @.fmt_bounds, ptr @.str5134, 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 2508, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str5135, 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 2509, 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 2510, 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 2511, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str5137, ptr %t2) store i32 0, ptr @lp_site store i32 2512, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5139) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str5140, 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 2513, 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 2514, 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 2515, 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 2516, 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 2517, 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 2518, 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 2519, 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 @.str5142) 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 @.str5143) %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 @.str5144) %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 @.str5145) %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 @.str5146) 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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str5147, 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 @.str5148, 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 2520, 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 2521, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5149) 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 2522, 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 2523, 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 2524, 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 2525, 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 2526, 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: %t259 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str5150, 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 2527, 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 @.str5151) %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 2528, 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 2529, 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 2530, 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 2531, 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 2532, 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 2533, 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 2534, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5152) store i32 0, ptr @lp_site %t8 = load ptr, ptr %t1 store i32 2535, 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 @.str5154) %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 @.str5155) %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 2536, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str5156, ptr %t23) store i32 0, ptr @lp_site store i32 2537, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str5157) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t1 store i32 2538, 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 2539, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5158) 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 2540, 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 2541, 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 2542, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str5159, ptr %t3) store i32 0, ptr @lp_site store i32 2543, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5161) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 2544, 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 2545, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5162) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t1 store i32 2546, 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 2547, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5163) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t1 store i32 2548, 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 2549, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5164) 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str5165, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str5166, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str5167, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str5168, 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 @.str5169) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t2 store i32 2550, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str5170, ptr %t7) store i32 0, ptr @lp_site store i32 2551, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5172) 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 @.str5173) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t2 store i32 2552, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str5174, ptr %t13) store i32 0, ptr @lp_site store i32 2553, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5175) 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 @.str5176) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: %t19 = load ptr, ptr %t2 store i32 2554, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str5177, ptr %t19) store i32 0, ptr @lp_site store i32 2555, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5178) 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 2556, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str5179, ptr %t25) store i32 0, ptr @lp_site store i32 2557, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5180) 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 @.str5181) %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 @.str5182, ptr @.str5183, ptr %t31) %t32 = load ptr, ptr %t2 store i32 2558, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str5184, ptr %t32) store i32 0, ptr @lp_site store i32 2559, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str5185) 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 2560, 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 2561, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str5186, 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 2562, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str5187) store i32 0, ptr @lp_site %t80 = load ptr, ptr %t2 store i32 2563, 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 2564, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str5188) 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 @.str5189, 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 2565, 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 2566, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str5190, ptr %t112) store i32 0, ptr @lp_site store i32 2567, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5191) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t1 store i32 2568, 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 2569, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str5192) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = load ptr, ptr %t87 store i32 2570, 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 2571, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str5193) 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 2572, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str5194) store i32 0, ptr @lp_site %t129 = load ptr, ptr %t2 store i32 2573, 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 2574, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str5195) 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 2575, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str5196, 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 2576, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str5197) store i32 0, ptr @lp_site %t148 = load ptr, ptr %t2 store i32 2577, 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 2578, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str5198) 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 2579, 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 2580, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr @.str5199, ptr %t171) store i32 0, ptr @lp_site store i32 2581, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5200) store i32 0, ptr @lp_site call void @lp_free(ptr %t172) %t174 = load ptr, ptr %t1 store i32 2582, 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 2583, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5201) 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: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str5202, 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 2584, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr @.str5203, 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 2585, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr @.str5204, ptr %t225) store i32 0, ptr @lp_site store i32 2586, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str5205) store i32 0, ptr @lp_site call void @lp_free(ptr %t226) %t228 = load ptr, ptr %t217 store i32 2587, 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 2588, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str5206) store i32 0, ptr @lp_site call void @lp_free(ptr %t229) store i32 2589, 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 2590, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str5207) 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 2591, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str5208) store i32 0, ptr @lp_site %t244 = load ptr, ptr %t2 store i32 2592, 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 2593, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str5209) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str5210, 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 2594, 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 2595, 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 @.str5213) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t2 store i32 2596, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str5214, ptr %t9) store i32 0, ptr @lp_site store i32 2597, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5216) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t3 store i32 2598, 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 2599, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5217) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t4 store i32 2600, 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 2601, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str5218) 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 @.str5219) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t2 store i32 2602, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str5220, ptr %t21) store i32 0, ptr @lp_site store i32 2603, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5221) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = load ptr, ptr %t3 store i32 2604, 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 2605, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5222) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t4 store i32 2606, 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 2607, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5223) 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 @.str5224) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %ifend8 then6: %t33 = load ptr, ptr %t2 store i32 2608, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str5225, ptr %t33) store i32 0, ptr @lp_site store i32 2609, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5226) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t3 store i32 2610, 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 2611, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str5227) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t4 store i32 2612, 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 2613, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5228) 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 2614, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str5229, ptr %t45) store i32 0, ptr @lp_site store i32 2615, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5230) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t3 store i32 2616, 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 2617, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str5231) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t4 store i32 2618, 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 2619, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5232) 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 @.str5233) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then12, label %ifend14 then12: %t57 = load ptr, ptr %t2 store i32 2620, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str5234, ptr %t57) store i32 0, ptr @lp_site store i32 2621, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str5235) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t3 store i32 2622, 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 2623, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str5236) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t4 store i32 2624, 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 2625, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5237) 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 @.str5238) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then15, label %ifend17 then15: %t69 = load ptr, ptr %t2 store i32 2626, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str5239, ptr %t69) store i32 0, ptr @lp_site store i32 2627, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str5240) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t3 store i32 2628, 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 2629, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str5241) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t4 store i32 2630, 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 2631, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str5242) 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 @.str5243) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then18, label %ifend20 then18: %t81 = load ptr, ptr %t2 store i32 2632, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str5244, ptr %t81) store i32 0, ptr @lp_site store i32 2633, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5245) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t3 store i32 2634, 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 2635, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str5246) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = load ptr, ptr %t4 store i32 2636, 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 2637, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5247) 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 @.str5248) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then21, label %ifend23 then21: %t93 = load ptr, ptr %t2 store i32 2638, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str5249, ptr %t93) store i32 0, ptr @lp_site store i32 2639, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5250) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = load ptr, ptr %t3 store i32 2640, 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 2641, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5251) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t4 store i32 2642, 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 2643, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str5252) 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 @.str5253) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then24, label %ifend26 then24: %t105 = load ptr, ptr %t2 store i32 2644, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr @.str5254, ptr %t105) store i32 0, ptr @lp_site store i32 2645, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str5255) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t3 store i32 2646, 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 2647, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str5256) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) %t111 = load ptr, ptr %t4 store i32 2648, 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 2649, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str5257) 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 @.str5258) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then27, label %ifend29 then27: %t117 = load ptr, ptr %t2 store i32 2650, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str5259, ptr %t117) store i32 0, ptr @lp_site store i32 2651, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str5260) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) %t120 = load ptr, ptr %t3 store i32 2652, 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 2653, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5261) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = load ptr, ptr %t4 store i32 2654, 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 2655, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5262) 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 2656, 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 2657, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr @.str5263, ptr %t171) store i32 0, ptr @lp_site store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t173 store i32 2658, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr @.str5264, ptr %t174) store i32 0, ptr @lp_site store i32 2659, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5265) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) %t177 = load ptr, ptr %t1 store i32 2660, 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 2661, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5266) 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 2662, 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 2663, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5267) 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 2664, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str5268, ptr %t186) store i32 0, ptr @lp_site store i32 2665, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str5269) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = load ptr, ptr %t2 store i32 2666, 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 2667, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str5270) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t3 store i32 2668, 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 2669, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str5271) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = load ptr, ptr %t4 store i32 2670, 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 2671, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str5272) 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 2672, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str5273, ptr %t209) store i32 0, ptr @lp_site store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t211 store i32 2673, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr @.str5274, ptr %t212) store i32 0, ptr @lp_site store i32 2674, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str5275) store i32 0, ptr @lp_site call void @lp_free(ptr %t213) %t215 = load ptr, ptr %t1 store i32 2675, 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 2676, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str5276) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %t218 = load ptr, ptr %t208 store i32 2677, 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 2678, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5277) 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 2679, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr @.str5278, ptr %t223) store i32 0, ptr @lp_site store i32 2680, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str5279) store i32 0, ptr @lp_site call void @lp_free(ptr %t224) %t226 = load ptr, ptr %t2 store i32 2681, 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 2682, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5280) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr %t3 store i32 2683, 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 2684, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str5281) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t4 store i32 2685, 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 2686, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str5282) 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 2687, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr @.str5283, ptr %t245) store i32 0, ptr @lp_site store i32 2688, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str5284) store i32 0, ptr @lp_site call void @lp_free(ptr %t246) %t248 = load ptr, ptr %t3 store i32 2689, 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 2690, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5285) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) %t251 = load ptr, ptr %t240 store i32 2691, 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 2692, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5286) 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 2693, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str5287, 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 2694, 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 2695, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str5289, ptr %t33) store i32 0, ptr @lp_site store i32 2696, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5290) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t1 store i32 2697, 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 2698, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str5291) 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str5292, 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 2699, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str5294, ptr %t78) store i32 0, ptr @lp_site %t80 = load ptr, ptr %t2 %t81 = call ptr @fn_vw_set(i32 %t69, ptr %t72, ptr @.str5293, 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 2700, 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 2701, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str5295) 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str5296, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str5297, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str5299, 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 2702, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str5298, ptr %t35) store i32 0, ptr @lp_site store i32 2703, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5301) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t1 store i32 2704, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str5302, 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 @.str5303) %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 @.str5304) 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str5305, 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 2705, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str5306, ptr %t29) store i32 0, ptr @lp_site store i32 2706, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str5308) 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str5309, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str5310, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str5311, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str5312, 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 2707, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5313) 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 2708, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5314) 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 2709, 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 2710, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str5315) 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 2711, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str5316, ptr %t119) store i32 0, ptr @lp_site store i32 2712, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5317) store i32 0, ptr @lp_site call void @lp_free(ptr %t120) %t122 = load ptr, ptr %t105 store i32 2713, 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 2714, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str5318) store i32 0, ptr @lp_site call void @lp_free(ptr %t123) store i32 2715, 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 2716, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5319) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str5320, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str5321, 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: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str5322, 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str5323, 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 @.str5324, 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 @.str5325, 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 @.str5326, 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 @.str5327, 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 @.str5328) %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: %t252 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str5329, 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 2717, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr @.str5330, ptr %t260) store i32 0, ptr @lp_site store i32 2718, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str5332) store i32 0, ptr @lp_site call void @lp_free(ptr %t261) %t263 = load ptr, ptr %t2 store i32 2719, 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 2720, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5333) store i32 0, ptr @lp_site call void @lp_free(ptr %t264) call void @fn_vw_err(i32 %t259, ptr %t265) store ptr @.str5334, 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 2721, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str5335, ptr %t3) store i32 0, ptr @lp_site store i32 2722, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5337) 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: %t14 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str5338, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str5339, 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 @.str5340, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str5341, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str5342, 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 2723, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5343) 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str5344, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str5345, 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 2724, 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 2725, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str5346) store i32 0, ptr @lp_site %t108 = load ptr, ptr %t37 store i32 2726, 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 2727, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str5347) 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: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str5349, 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: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str5350, 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 2728, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr @.str5348, ptr %t131) store i32 0, ptr @lp_site store i32 2729, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str5351) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) store i32 2730, 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 @.str5352) %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 2731, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str5353, ptr %t141) store i32 0, ptr @lp_site store i32 2732, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5354) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) store i32 2733, 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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str5355, 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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str5356, 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 2734, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str5357) 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 2735, 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 2736, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str5358) 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 2737, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str5359, ptr %t184) store i32 0, ptr @lp_site store i32 2738, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str5360) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) store i32 2739, 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 2740, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str5361) 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 2741, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str5362) 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 2742, ptr @lp_site %t4 = call ptr @lp_int_str(i32 %t3) store i32 0, ptr @lp_site store i32 2743, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str5363, ptr %t4) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store i32 2744, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5365) 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 @.str5366) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load ptr, ptr %t7 store i32 2745, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str5367, ptr %t13) store i32 0, ptr @lp_site store i32 2746, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5368) 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 @.str5369) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t7 store i32 2747, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str5370, ptr %t21) store i32 0, ptr @lp_site store i32 2748, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5371) 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 @.str5372) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t7 store i32 2749, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str5373, ptr %t29) store i32 0, ptr @lp_site store i32 2750, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str5374) 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 @.str5375) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: %t37 = load ptr, ptr %t7 store i32 2751, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str5376, ptr %t37) store i32 0, ptr @lp_site store i32 2752, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5377) 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 2753, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5378) 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 2754, 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 2755, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5379) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) call void @fn_vw_err(i32 %t40, ptr %t49) store ptr @.str5380, 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 2756, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str5381, ptr %t2) store i32 0, ptr @lp_site store i32 2757, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5383) 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 2758, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str5385, 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 2759, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str5386, 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 2760, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str5387, 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 2761, 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: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str5388, 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 2762, 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 2763, 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 2764, 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 2765, 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: %t212 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str5389, 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 2766, 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 2767, 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 2768, 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 2769, 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 2770, 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 2771, 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 2772, 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 2773, 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 2774, 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 2775, 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 2776, 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 2777, 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 2778, 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 2779, 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 2780, 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 2781, 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 2782, 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 2783, 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 2784, 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 2785, 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 2786, 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 2787, 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 2788, 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 2789, 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 2790, 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 @.str5390, 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 2791, 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 @.str5391, 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 2792, 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 @.str5392, ptr %t585 %t586 = add i32 %t572, 1 store i32 %t586, ptr %t569 call void @fn_skipnl() call void @fn_eat_op(ptr @.str5393) 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 @.str5394) %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 @.str5395) %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 2793, ptr @lp_site %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str5396) 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 @.str5397, 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 2794, 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 2795, 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 @.str5398) %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 @.str5399) %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 @.str5400) 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str5401, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str5402, 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 2796, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str5404, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str5405, 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 2797, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str5406, 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: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str5407, 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 2798, 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 @.str5408) %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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str5409, 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 2799, 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: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str5410, 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 2800, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str5411, 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 2801, 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 @.str5412) %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 2802, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str5413) store i32 0, ptr @lp_site %t239 = load ptr, ptr %t140 store i32 2803, 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: %t251 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t251, ptr @.fmt_bounds, ptr @.str5414, 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: %t264 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str5415, 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: %t276 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t276, ptr @.fmt_bounds, ptr @.str5416, 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 2804, 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: %t305 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t305, ptr @.fmt_bounds, ptr @.str5417, 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 2805, 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: %t341 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t341, ptr @.fmt_bounds, ptr @.str5418, 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 2806, 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 @.str5419) %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 @.str5420) %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 @.str5421) 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: %t383 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str5422, 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 @.str5423, 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: %t399 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t399, ptr @.fmt_bounds, ptr @.str5424, 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 2807, 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: %t430 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t430, ptr @.fmt_bounds, ptr @.str5425, 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 2808, 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 2809, ptr @lp_site %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str5426) 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 2810, 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 2811, 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: %t476 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t476, ptr @.fmt_bounds, ptr @.str5427, 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 2812, 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 2813, 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: %t525 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t525, ptr @.fmt_bounds, ptr @.str5428, 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: %t535 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t535, ptr @.fmt_bounds, ptr @.str5429, 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 2814, 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 @.str5430) %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 @.str5431) %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 2815, ptr @lp_site %t571 = call ptr @lp_str_concat(ptr @.str5432, ptr %t570) store i32 0, ptr @lp_site store i32 2816, ptr @lp_site %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str5433) store i32 0, ptr @lp_site call void @lp_free(ptr %t571) %t573 = load ptr, ptr %t559 store i32 2817, 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 2818, ptr @lp_site %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5434) 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: %t585 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t585, ptr @.fmt_bounds, ptr @.str5435, 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 2819, 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 2820, ptr @lp_site %t608 = call ptr @lp_str_concat(ptr %t607, ptr @.str5436) store i32 0, ptr @lp_site %t609 = load ptr, ptr %t559 store i32 2821, 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: %t625 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t625, ptr @.fmt_bounds, ptr @.str5437, 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 2822, 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 2823, 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 2824, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str5439, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str5441, 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 2825, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str5440, ptr %t58) store i32 0, ptr @lp_site store i32 2826, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5443) 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 2827, 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 2828, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5444) 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 @.str5445, 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 2829, 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 2830, 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: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str5446, 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 2831, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str5447, 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 2832, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str5449, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str5450, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str5451, 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 2833, 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 2834, 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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str5452, 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 2835, 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str5453, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str5454, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5455, 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str5456, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str5457, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5458, 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str5459, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str5460, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5461, 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 @.str5462, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str5464, 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 2836, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str5463, ptr %t71) store i32 0, ptr @lp_site store i32 2837, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5466) 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 2838, 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 2839, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5467) 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: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str5468, 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 2840, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str5469) 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 2841, 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 2842, 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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str5470, 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 2843, 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: %t274 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str5471, 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str5472, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str5473, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str5475, 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 2844, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str5474, ptr %t31) store i32 0, ptr @lp_site store i32 2845, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str5477) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t1 store i32 2846, 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 @.str5478) %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 @.str5479) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str5480, 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 2847, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str5481, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str5483, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str5484, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str5485, 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 2848, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str5486, ptr %t56) store i32 0, ptr @lp_site store i32 2849, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5487) 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str5488, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str5490, 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str5491, 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 2850, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str5489, ptr %t96) store i32 0, ptr @lp_site store i32 2851, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5492) 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: %t106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str5493, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str5494, 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 2852, 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 2853, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str5495) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) store i32 2854, 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 2855, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str5496) 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str5497, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str5498, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5499, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str5500, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str5501, 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: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str5502, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str5503, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str5504, 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: %t117 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str5505, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str5506, 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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str5507, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str5508, 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: %t168 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str5509, 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str5510, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str5511, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str5512, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str5513, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str5514, 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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str5515, 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: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str5516, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str5517, 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: %t161 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t161, ptr @.fmt_bounds, ptr @.str5518, 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str5519, 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: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str5520, 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 @.str5521, 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 @.str5522, 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 @.str5523, 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 @.str5524, 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 @.str5525) %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: %t347 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t347, ptr @.fmt_bounds, ptr @.str5526, 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 2856, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr @.str5527, ptr %t353) store i32 0, ptr @lp_site store i32 2857, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t354, ptr @.str5529) store i32 0, ptr @lp_site call void @lp_free(ptr %t354) %t356 = load ptr, ptr %t2 store i32 2858, 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 2859, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str5530) store i32 0, ptr @lp_site call void @lp_free(ptr %t357) call void @fn_cm_err(i32 %t352, ptr %t358) store ptr @.str5531, 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 2860, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str5532, ptr %t3) store i32 0, ptr @lp_site store i32 2861, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5534) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 2862, 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 2863, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5535) 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str5536, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str5537, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str5538, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str5540, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str5541, 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 2864, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str5539, ptr %t68) store i32 0, ptr @lp_site store i32 2865, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str5542) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr %t1 store i32 2866, 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 2867, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5543) 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str5544, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str5545, 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 2868, 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 2869, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5546) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) store i32 2870, 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 2871, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str5547) 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 2872, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str5548, ptr %t3) store i32 0, ptr @lp_site store i32 2873, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5550) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 2874, 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 2875, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5551) 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str5552, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str5553, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str5554, 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str5555, 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str5556, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str5557, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str5558, 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 2876, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str5559, ptr %t87) store i32 0, ptr @lp_site store i32 2877, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5560) 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 2878, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str5561, ptr %t93) store i32 0, ptr @lp_site store i32 2879, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5562) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = load ptr, ptr %t66 store i32 2880, 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 2881, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5563) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t91 store i32 2882, 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 2883, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str5564) store i32 0, ptr @lp_site call void @lp_free(ptr %t100) store i32 2884, 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 2885, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5565) 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 @.str5566) %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 @.str5567) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = load ptr, ptr %t2 store i32 2886, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str5568, ptr %t10) store i32 0, ptr @lp_site store i32 2887, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5570) 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 @.str5571) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %ifend8 then6: %t16 = load ptr, ptr %t2 store i32 2888, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str5572, ptr %t16) store i32 0, ptr @lp_site store i32 2889, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5573) 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 @.str5574) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then9, label %ifend11 then9: %t22 = load ptr, ptr %t2 store i32 2890, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str5575, ptr %t22) store i32 0, ptr @lp_site store i32 2891, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str5576) 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 @.str5577) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then12, label %ifend14 then12: %t28 = load ptr, ptr %t2 store i32 2892, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str5578, ptr %t28) store i32 0, ptr @lp_site store i32 2893, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str5579) 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 2894, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str5580, 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 2895, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str5581, ptr %t4) store i32 0, ptr @lp_site store i32 2896, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5583) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 2897, 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 2898, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5584) 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str5585, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5586, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str5587, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str5588, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str5589, 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 2899, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str5590, 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 2900, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str5591, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str5592, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str5593, 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: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str5594, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str5595, 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 2901, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str5596) 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 2902, 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 2903, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str5597) 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 @.str5598) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t2 store i32 2904, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str5599, ptr %t7) store i32 0, ptr @lp_site store i32 2905, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5601) 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 @.str5602) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t2 store i32 2906, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str5603, ptr %t13) store i32 0, ptr @lp_site store i32 2907, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5604) 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 @.str5605) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then6, label %ifend8 then6: %t19 = load ptr, ptr %t2 store i32 2908, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str5606, ptr %t19) store i32 0, ptr @lp_site store i32 2909, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5607) 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 @.str5608) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then9, label %ifend11 then9: %t25 = load ptr, ptr %t2 store i32 2910, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str5609, ptr %t25) store i32 0, ptr @lp_site store i32 2911, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5610) 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 @.str5611) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then12, label %ifend14 then12: %t31 = load ptr, ptr %t2 store i32 2912, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str5612, ptr %t31) store i32 0, ptr @lp_site store i32 2913, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str5613) 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 @.str5614) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: %t37 = load ptr, ptr %t2 store i32 2914, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str5615, ptr %t37) store i32 0, ptr @lp_site store i32 2915, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5616) 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 @.str5617) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then18, label %ifend20 then18: %t43 = load ptr, ptr %t2 store i32 2916, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str5618, ptr %t43) store i32 0, ptr @lp_site store i32 2917, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5619) 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 @.str5620) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then21, label %ifend23 then21: %t49 = load ptr, ptr %t2 store i32 2918, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str5621, ptr %t49) store i32 0, ptr @lp_site store i32 2919, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5622) 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 @.str5623) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t2 store i32 2920, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str5624, ptr %t8) store i32 0, ptr @lp_site store i32 2921, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5626) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t3 store i32 2922, 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 2923, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5627) 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 @.str5628) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: %t17 = load ptr, ptr %t2 store i32 2924, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str5629, ptr %t17) store i32 0, ptr @lp_site store i32 2925, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5630) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t3 store i32 2926, 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 2927, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5631) 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 @.str5632) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: %t26 = load ptr, ptr %t2 store i32 2928, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str5633, ptr %t26) store i32 0, ptr @lp_site store i32 2929, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5634) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t3 store i32 2930, 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 2931, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str5635) 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 @.str5636) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %ifend11 then9: %t35 = load ptr, ptr %t2 store i32 2932, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str5637, ptr %t35) store i32 0, ptr @lp_site store i32 2933, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5638) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t3 store i32 2934, 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 2935, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5639) 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 @.str5640) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then12, label %ifend14 then12: %t44 = load ptr, ptr %t2 store i32 2936, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str5641, ptr %t44) store i32 0, ptr @lp_site store i32 2937, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5642) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t3 store i32 2938, 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 2939, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5643) 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 @.str5644) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then15, label %ifend17 then15: %t53 = load ptr, ptr %t2 store i32 2940, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str5645, ptr %t53) store i32 0, ptr @lp_site store i32 2941, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str5646) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t3 store i32 2942, 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 2943, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5647) 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 @.str5648) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then18, label %ifend20 then18: %t62 = load ptr, ptr %t2 store i32 2944, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str5649, ptr %t62) store i32 0, ptr @lp_site store i32 2945, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str5650) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t3 store i32 2946, 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 2947, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5651) 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 @.str5652) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then21, label %ifend23 then21: %t71 = load ptr, ptr %t2 store i32 2948, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str5653, ptr %t71) store i32 0, ptr @lp_site store i32 2949, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5654) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t3 store i32 2950, 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 2951, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str5655) 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 @.str5656, 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 2952, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str5657, ptr %t88) store i32 0, ptr @lp_site store i32 2953, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str5658) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) call void @fn_cm_err(i32 %t87, ptr %t90) store ptr @.str5659, 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 @.str5660) %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 2954, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str5661, ptr %t18) store i32 0, ptr @lp_site store i32 2955, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str5663) 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 2956, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str5664, ptr %t4) store i32 0, ptr @lp_site store i32 2957, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5666) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t2 store i32 2958, 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 2959, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5667) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str5668, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str5669, 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 @.str5670, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str5671, 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 2960, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5672) 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str5673, 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 2961, 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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str5675, 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: %t106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str5676, 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 2962, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str5674, ptr %t108) store i32 0, ptr @lp_site store i32 2963, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str5677) store i32 0, ptr @lp_site call void @lp_free(ptr %t109) store i32 2964, 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 2965, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5678) store i32 0, ptr @lp_site %t116 = load ptr, ptr %t41 store i32 2966, 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 2967, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str5679) 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 @.str5680) %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 2968, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str5681, ptr %t126) store i32 0, ptr @lp_site store i32 2969, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str5682) store i32 0, ptr @lp_site call void @lp_free(ptr %t127) store i32 2970, 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 2971, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr @.str5683, ptr %t137) store i32 0, ptr @lp_site store i32 2972, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5684) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) store i32 2973, 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 2974, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str5685) 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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str5686, 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: %t168 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str5687, 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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str5688, 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: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str5689, 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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str5690, 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: %t211 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t211, ptr @.fmt_bounds, ptr @.str5691, 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: %t220 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str5692, 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 @.str5693) store ptr %t223, ptr %t224 %t225 = load ptr, ptr %t10 %t226 = load ptr, ptr %t202 store i32 2975, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr @.str5694, ptr %t226) store i32 0, ptr @lp_site store i32 2976, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5695) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr %t202 store i32 2977, 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 2978, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str5696) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t224 store i32 2979, 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 2980, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str5697) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) store i32 2981, 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 2982, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str5698) 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 2983, ptr @lp_site %t4 = call ptr @lp_int_str(i32 %t3) store i32 0, ptr @lp_site store i32 2984, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str5699, ptr %t4) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) store i32 2985, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5701) 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 @.str5702) %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 @.str5703) %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 @.str5704) %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 @.str5705) %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 @.str5706) %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 2986, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str5707) 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 2987, 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 2988, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5708) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) call void @fn_cm_err(i32 %t59, ptr %t68) store ptr @.str5709, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str5710, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str5711, 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 2989, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5712) 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 2990, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str5714) 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 2991, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str5715, ptr %t44) store i32 0, ptr @lp_site store i32 2992, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5716) 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 @.str5717, ptr %t49 store ptr @.str5718, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str5719, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str5720, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str5721, 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 2993, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str5722, ptr %t90) store i32 0, ptr @lp_site store i32 2994, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5723) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t13 store i32 2995, 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 2996, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5724) 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 2997, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr @.str5725, ptr %t98) store i32 0, ptr @lp_site store i32 2998, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str5726) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = load ptr, ptr %t1 store i32 2999, 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 3000, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5727) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t51 store i32 3001, 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 3002, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5728) store i32 0, ptr @lp_site call void @lp_free(ptr %t105) %t107 = load ptr, ptr %t1 store i32 3003, 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 3004, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5729) store i32 0, ptr @lp_site call void @lp_free(ptr %t108) store i32 3005, 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 3006, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str5730, ptr %t112) store i32 0, ptr @lp_site store i32 3007, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5731) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t1 store i32 3008, 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 3009, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str5732) store i32 0, ptr @lp_site call void @lp_free(ptr %t116) %t118 = load ptr, ptr %t1 store i32 3010, 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 3011, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str5733) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t1 store i32 3012, 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 3013, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str5734) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t1 store i32 3014, 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 3015, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5735) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 3016, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str5736, 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: %t146 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str5737, 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 3017, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr @.str5738, 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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str5739, 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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str5740, 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 3018, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str5741) 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 3019, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str5742) 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 @.str5743, 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 3020, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str5744) 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 3021, 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 3022, 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 3023, 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 3024, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str5745, ptr %t8) store i32 0, ptr @lp_site store i32 3025, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5747) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str5748, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str5749, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str5750, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str5751, 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 @.str5752) br label %ifend2 ifend2: store ptr @.str5753, 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 3026, 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 3027, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) store i32 0, ptr @lp_site store i32 3028, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str5755) 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 3029, 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 3030, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str5756, ptr %t82) store i32 0, ptr @lp_site store i32 3031, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str5757) 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 3032, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t85, ptr %t92) store i32 0, ptr @lp_site store i32 3033, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5758) 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 3034, 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 @.str5760) 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 3035, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str5761, 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 3036, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str5762, ptr %t24) store i32 0, ptr @lp_site store i32 3037, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5764) 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str5765, 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 3038, 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 3039, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str5766) 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str5767, 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 3040, ptr @lp_site %t49 = call ptr @lp_int_str(i32 %t48) store i32 0, ptr @lp_site store i32 3041, 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 3042, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5768) 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 3043, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str5769, ptr %t3) store i32 0, ptr @lp_site store i32 3044, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5771) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 3045, 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 3046, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5772) 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str5773, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str5774, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str5775, 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str5776, 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str5777, 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 3047, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str5778, ptr %t70) store i32 0, ptr @lp_site store i32 3048, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5779) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr %t1 store i32 3049, 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 3050, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5780) store i32 0, ptr @lp_site call void @lp_free(ptr %t74) %t76 = load ptr, ptr %t46 store i32 3051, 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 3052, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5781) store i32 0, ptr @lp_site call void @lp_free(ptr %t77) store i32 3053, 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 3054, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str5782, ptr %t81) store i32 0, ptr @lp_site store i32 3055, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5783) 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: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str5784, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str5785, 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 3056, 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 3057, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5786) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) store i32 3058, 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 3059, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str5787) 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 @.str5788) %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 @.str5789) %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 @.str5790) %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 @.str5791, ptr %retval br label %ret ifend6: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str5792) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then7, label %ifend9 then7: store ptr @.str5793, ptr %retval br label %ret ifend9: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str5794) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then10, label %ifend12 then10: store ptr @.str5795, ptr %retval br label %ret ifend12: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5796) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then13, label %ifend15 then13: store ptr @.str5797, ptr %retval br label %ret ifend15: store ptr @.str5798, 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 3060, 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 3061, 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 3062, 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 3063, 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 3064, 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 3065, 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 3066, 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 3067, 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 3068, 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 3069, 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 3070, 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 @.str5802, ptr %t16 store ptr @.str5803, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str5804, 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 @.str5805, 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 3071, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5806) 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 3072, 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 3073, 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 3074, 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 3075, 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 3076, 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 3077, 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 3078, 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 3079, 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 3080, 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 @.str5808, 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 3081, 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 3082, 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 3083, 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 @.str5810, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str5811, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str5812, 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 3084, 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 3085, 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 3086, 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 3087, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str5815) store i32 0, ptr @lp_site %t85 = load ptr, ptr %t77 store i32 3088, 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 @.str5816) %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 @.str5817) %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 @.str5818) %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 @.str5819) %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 @.str5820) %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 3089, 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 3090, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str5822, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str5823, 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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str5824, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str5825, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str5826, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str5827, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str5828, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str5829, 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str5830, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str5831, 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 3091, 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 3092, 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 3093, 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 3094, 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 3095, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str5836, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str5837, 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str5838, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str5839, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str5840, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str5841, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str5842, 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: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str5843, 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: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str5844, 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 3096, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5845) store i32 0, ptr @lp_site store ptr %t35, ptr %t10 br label %ifend7 ifend7: %t36 = load ptr, ptr %t10 store i32 3097, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5847) 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 @.str5848, ptr %t3 br label %ifend13 else12: %t52 = load ptr, ptr %t3 store i32 3098, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5849) 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 3099, 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: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str5851, 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 @.str5852) %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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str5853, 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: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str5854, 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 3100, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5855) store i32 0, ptr @lp_site %t130 = load ptr, ptr @g_g_i18n_src store i32 3101, 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 3102, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str5856) 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 @.str5857) %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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str5858, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str5859, 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 @.str5860) 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str5861, 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 @.str5862) %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 3103, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str5864, ptr %t56) store i32 0, ptr @lp_site store i32 3104, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5866) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) call void @fn_at_decl_with(ptr @.str5863, 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 3105, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str5868, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str5869, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str5870, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str5871, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str5872, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str5873, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str5874, 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 @.str5875) %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 @.str5876) %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 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 %t2 %t7 = load ptr, ptr %t3 %t8 = load i32, ptr %t0 %t9 = call ptr @fn_i18n_prefix(i32 %t8) store i32 3106, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5877) store i32 0, ptr @lp_site %t11 = load ptr, ptr %t1 store i32 3107, 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) %t13 = load i32, ptr %t4 %t14 = load i32, ptr %t5 call void @fn_i18n_fill_rec(ptr %t6, ptr %t7, ptr %t12, i32 %t13, i32 %t14) br label %ret ret: ret void } define void @fn_i18n_fill_rec(ptr %arg_rec, ptr %arg_comp, ptr %arg_base, i32 %arg_kline, i32 %arg_kcol) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t18 = alloca i32 %t40 = alloca ptr %t53 = alloca ptr %t59 = alloca ptr %t73 = alloca i32 %t123 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_base, ptr %t2 store i32 %arg_kline, ptr %t3 store i32 %arg_kcol, ptr %t4 %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 = 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 %t5 br label %scend1 scend1: %t16 = load i32, ptr %t5 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: br label %ret ifend4: store i32 0, ptr %t18 br label %wcond5 wcond5: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = 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 %t1 %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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str5879, 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 ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, 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 %then10, label %ifend12 then10: %t47 = load ptr, ptr %t2 store i32 3108, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5880) store i32 0, ptr @lp_site %t49 = load ptr, ptr %t40 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 store i32 3109, 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 %t54 = load ptr, ptr %t0 %t55 = load ptr, ptr %t40 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_i18n_field_init(ptr %t54, ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = icmp ne ptr %t60, null %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then13, label %else14 then13: %t64 = load ptr, ptr %t59 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t40 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 3 %t69 = load ptr, ptr %t68 %t70 = load ptr, ptr %t53 %t71 = load i32, ptr %t3 %t72 = load i32, ptr %t4 call void @fn_i18n_fill_val(ptr %t66, ptr %t69, ptr %t70, i32 %t71, i32 %t72) br label %ifend15 else14: %t74 = load ptr, ptr %t40 %t75 = call i32 @fn_i18n_has_text(ptr %t74) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t73 br i1 %t76, label %sc16, label %scend17 sc16: %t78 = load ptr, ptr %t40 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 3 %t80 = load ptr, ptr %t79 %t81 = call i32 @fn_i18n_is_key_ty(ptr %t80) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t73 br label %scend17 scend17: %t84 = load i32, ptr %t73 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then18, label %else19 then18: %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 %t88 = load ptr, ptr %t87 %t89 = load ptr, ptr %t40 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 %t92 = load ptr, ptr %t53 %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 9 %t95 = load ptr, ptr %t94 %t96 = load i32, ptr %t3 %t97 = load i32, ptr %t4 %t98 = call ptr @fn_i18n_derived(ptr %t92, ptr %t95, i32 %t96, i32 %t97) %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 9 %t101 = load ptr, ptr %t100 %t102 = load i32, ptr %t3 %t103 = load i32, ptr %t4 %t104 = call ptr @fn_i18n_finit(ptr %t91, ptr %t98, ptr %t101, i32 %t102, i32 %t103) %t105 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t106 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 2 %t107 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t108 = load i32, ptr %t105 %t109 = load i32, ptr %t106 %t110 = icmp sge i32 %t108, %t109 br i1 %t110, label %grow21, label %put22 grow21: %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 3110, 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 %put22 put22: %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 br label %ifend20 else19: %t124 = load ptr, ptr %t40 %t125 = call i32 @fn_i18n_has_text(ptr %t124) %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t123 br i1 %t126, label %sc23, label %scend24 sc23: %t128 = load ptr, ptr %t40 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 3 %t130 = load ptr, ptr %t129 %t131 = call i32 @fn_i18n_is_keys_ty(ptr %t130) %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t123 br label %scend24 scend24: %t134 = load i32, ptr %t123 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then25, label %ifend27 then25: %t136 = load ptr, ptr %t0 %t137 = load ptr, ptr %t40 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = load ptr, ptr %t53 %t141 = load i32, ptr %t3 %t142 = load i32, ptr %t4 call void @fn_i18n_fill_list(ptr %t136, ptr %t139, ptr %t140, i32 %t141, i32 %t142) br label %ifend27 ifend27: br label %ifend20 ifend20: br label %ifend15 ifend15: br label %ifend12 ifend12: %t143 = load i32, ptr %t18 %t144 = add i32 %t143, 1 store i32 %t144, ptr %t18 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_i18n_fill_val(ptr %arg_e, ptr %arg_ty, ptr %arg_path, i32 %arg_kline, i32 %arg_kcol) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 %t49 = alloca i32 %t76 = alloca ptr %t77 = alloca i32 %t91 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_ty, ptr %t1 store ptr %arg_path, ptr %t2 store i32 %arg_kline, ptr %t3 store i32 %arg_kcol, ptr %t4 %t5 = load ptr, ptr %t0 %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: %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, 39 %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, 41 %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 br i1 %t38, label %then7, label %else8 then7: %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 %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_find_comp(ptr %t44) %t46 = load ptr, ptr %t2 %t47 = load i32, ptr %t3 %t48 = load i32, ptr %t4 call void @fn_i18n_fill_rec(ptr %t41, ptr %t45, ptr %t46, i32 %t47, i32 %t48) br label %ifend9 else8: %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 0 %t52 = load i32, ptr %t51 %t53 = icmp eq i32 %t52, 41 %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 %t1 %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 %t49 br label %scend11 scend11: %t62 = load i32, ptr %t49 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then12, label %else13 then12: %t64 = load ptr, ptr %t0 %t65 = load ptr, ptr %t1 %t66 = call ptr @fn_find_comp(ptr %t65) %t67 = load ptr, ptr %t2 %t68 = load i32, ptr %t3 %t69 = load i32, ptr %t4 call void @fn_i18n_fill_rec(ptr %t64, ptr %t66, ptr %t67, i32 %t68, i32 %t69) br label %ifend14 else13: %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 0 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 54 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then15, label %ifend17 then15: store ptr null, ptr %t76 %t78 = load ptr, ptr %t1 %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 %sc18, label %scend19 sc18: %t83 = load ptr, ptr %t1 %t84 = call i32 @fn_is_slice_ty(ptr %t83) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t77 br label %scend19 scend19: %t87 = load i32, ptr %t77 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then20, label %ifend22 then20: %t89 = load ptr, ptr %t1 %t90 = call ptr @fn_slice_elem(ptr %t89) store ptr %t90, ptr %t76 br label %ifend22 ifend22: store i32 0, ptr %t91 br label %wcond23 wcond23: %t92 = load i32, ptr %t91 %t93 = load ptr, ptr %t0 %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 %wbody24, label %wend25 wbody24: %t101 = load ptr, ptr %t0 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 %t103 = load ptr, ptr %t102 %t104 = load i32, ptr %t91 %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 %ixok26, label %ixbad27 ixbad27: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str5882, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok26: %t111 = getelementptr inbounds ptr, ptr %t106, i32 %t104 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t76 %t114 = load ptr, ptr %t2 store i32 3111, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5883) store i32 0, ptr @lp_site %t116 = load i32, ptr %t91 %t117 = call ptr @fn_itoa(i32 %t116) store i32 3112, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117) store i32 0, ptr @lp_site call void @lp_free(ptr %t115) %t119 = load i32, ptr %t3 %t120 = load i32, ptr %t4 call void @fn_i18n_fill_val(ptr %t112, ptr %t113, ptr %t118, i32 %t119, i32 %t120) %t121 = load i32, ptr %t91 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t91 br label %wcond23 wend25: br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend9 ifend9: br label %ret ret: ret void } define void @fn_i18n_fill_list(ptr %arg_rec, ptr %arg_name, ptr %arg_path, i32 %arg_kline, i32 %arg_kcol) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t10 = alloca ptr %t19 = alloca i32 store ptr %arg_rec, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_path, ptr %t2 store i32 %arg_kline, ptr %t3 store i32 %arg_kcol, ptr %t4 %t5 = load ptr, ptr @g_g_i18n_en %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 = call ptr @fn_node(i32 54) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 9 %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 %t12 %t16 = load ptr, ptr %t10 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 8 %t18 = load i32, ptr %t3 store i32 %t18, ptr %t17 store i32 0, ptr %t19 br label %wcond3 wcond3: %t20 = load ptr, ptr @g_g_i18n_en %t21 = load ptr, ptr %t2 store i32 3113, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5885) store i32 0, ptr @lp_site %t23 = load i32, ptr %t19 %t24 = call ptr @fn_itoa(i32 %t23) store i32 3114, 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) %t26 = call i32 @fn_po_find(ptr %t20, ptr %t25) %t27 = icmp sge i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %wbody4, label %wend5 wbody4: %t30 = load ptr, ptr %t10 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = load ptr, ptr %t2 store i32 3115, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str5887) store i32 0, ptr @lp_site %t35 = load i32, ptr %t19 %t36 = call ptr @fn_itoa(i32 %t35) store i32 3116, 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 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 9 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t3 %t42 = load i32, ptr %t4 %t43 = call ptr @fn_i18n_derived(ptr %t37, ptr %t40, i32 %t41, i32 %t42) %t44 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t45 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 %t46 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t47 = load i32, ptr %t44 %t48 = load i32, ptr %t45 %t49 = icmp sge i32 %t47, %t48 br i1 %t49, label %grow6, label %put7 grow6: %t50 = mul i32 %t48, 2 %t51 = icmp eq i32 %t48, 0 %t52 = select i1 %t51, i32 8, i32 %t50 %t53 = getelementptr ptr, ptr null, i32 1 %t54 = ptrtoint ptr %t53 to i64 %t55 = zext i32 %t52 to i64 %t56 = mul i64 %t55, %t54 %t57 = load ptr, ptr %t46 store i32 3117, 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 %put7 put7: %t59 = load ptr, ptr %t46 %t60 = getelementptr inbounds ptr, ptr %t59, i32 %t47 store ptr %t43, ptr %t60 %t61 = add i32 %t47, 1 store i32 %t61, ptr %t44 %t62 = load i32, ptr %t19 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t19 br label %wcond3 wend5: %t64 = load i32, ptr %t19 %t65 = icmp sgt i32 %t64, 0 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then8, label %ifend10 then8: %t68 = load ptr, ptr %t0 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t1 %t72 = load ptr, ptr %t10 %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 9 %t75 = load ptr, ptr %t74 %t76 = load i32, ptr %t3 %t77 = load i32, ptr %t4 %t78 = call ptr @fn_i18n_finit(ptr %t71, ptr %t72, ptr %t75, i32 %t76, i32 %t77) %t79 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t80 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 2 %t81 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t82 = load i32, ptr %t79 %t83 = load i32, ptr %t80 %t84 = icmp sge i32 %t82, %t83 br i1 %t84, label %grow11, label %put12 grow11: %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 3118, 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 %put12 put12: %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 %ifend10 ifend10: br label %ret ret: ret void } define i32 @fn_i18n_is_keys_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 @fn_is_slice_ty(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 %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_slice_elem(ptr %t15) %t17 = call i32 @fn_i18n_is_key_ty(ptr %t16) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t1 br label %scend3 scend3: %t20 = load i32, ptr %t1 store i32 %t20, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } define ptr @fn_i18n_derived(ptr %arg_key, ptr %arg_file, i32 %arg_line, i32 %arg_col) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t5 = alloca ptr store ptr %arg_key, ptr %t0 store ptr %arg_file, ptr %t1 store i32 %arg_line, ptr %t2 store i32 %arg_col, ptr %t3 %t4 = call ptr @fn_node(i32 31) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t0 %t9 = call ptr @fn_key_marked(i32 1, ptr %t8) store ptr %t9, ptr %t7 %t10 = load ptr, ptr %t5 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 2 store i32 1, ptr %t11 %t12 = load ptr, ptr %t5 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 store ptr @.str5888, ptr %t13 %t14 = load ptr, ptr %t5 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 9 %t16 = load ptr, ptr %t1 store ptr %t16, ptr %t15 %t17 = load ptr, ptr %t5 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 8 %t19 = load i32, ptr %t2 store i32 %t19, ptr %t18 %t20 = load ptr, ptr %t5 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 18 %t22 = load i32, ptr %t3 store i32 %t22, ptr %t21 %t23 = load ptr, ptr %t5 store ptr %t23, ptr %retval br label %ret ret: %t24 = load ptr, ptr %retval ret ptr %t24 } define ptr @fn_i18n_finit(ptr %arg_name, ptr %arg_v, ptr %arg_file, i32 %arg_line, i32 %arg_col) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t6 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_v, ptr %t1 store ptr %arg_file, ptr %t2 store i32 %arg_line, ptr %t3 store i32 %arg_col, ptr %t4 %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 = load ptr, ptr %t0 store ptr %t9, ptr %t8 %t10 = load ptr, ptr %t6 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 9 %t12 = load ptr, ptr %t2 store ptr %t12, ptr %t11 %t13 = load ptr, ptr %t6 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 8 %t15 = load i32, ptr %t3 store i32 %t15, ptr %t14 %t16 = load ptr, ptr %t6 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 18 %t18 = load i32, ptr %t4 store i32 %t18, ptr %t17 %t19 = load ptr, ptr %t6 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t1 store ptr %t21, ptr %t20 %t22 = load ptr, ptr %t6 store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } 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 @.str5889, ptr %t11 br label %ifend5 ifend5: %t16 = load ptr, ptr @g_g_ks_seen %t17 = load ptr, ptr %t11 store i32 3119, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5890) store i32 0, ptr @lp_site %t19 = load i32, ptr %t3 %t20 = call ptr @fn_itoa(i32 %t19) store i32 3120, 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 3121, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5892) 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 3122, 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 3123, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5893) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t0 store i32 3124, 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 3125, 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 3126, 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 3127, 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 3128, 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 3129, 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 @.str5894, 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 @.str5895, ptr %retval br label %ret ifend5: store ptr @.str5896, 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 3130, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str5897, ptr %t42) store i32 0, ptr @lp_site store i32 3131, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5899) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr @g_g_i18n_en_path store i32 3132, 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 3133, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5900) 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 3134, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str5901, ptr %t52) store i32 0, ptr @lp_site store i32 3135, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str5902) 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 3136, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str5903, ptr %t58) store i32 0, ptr @lp_site store i32 3137, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5904) 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 3138, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str5905, ptr %t65) store i32 0, ptr @lp_site store i32 3139, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5906) 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 3140, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5907) store i32 0, ptr @lp_site %t82 = load ptr, ptr %t0 store i32 3141, 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 3142, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str5908) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr @g_g_i18n_en_path store i32 3143, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str5909, 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 3144, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str5910) store i32 0, ptr @lp_site %t114 = load ptr, ptr @g_g_i18n_en_path store i32 3145, 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 3146, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str5911) 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str5912, 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 3147, 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 3148, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str5913) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load ptr, ptr %t0 store i32 3149, 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 3150, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5914) 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str5915, 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 3151, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5916) store i32 0, ptr @lp_site %t38 = load ptr, ptr %t0 store i32 3152, 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 3153, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5918) 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 3154, 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 3155, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5919) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr @g_g_i18n_en_path store i32 3156, 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 3157, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5920) 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 3158, 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 3159, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5921) 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 3160, ptr @lp_site %t10 = call ptr @lp_str_slice(ptr %t9, i32 0, i32 37) store i32 0, ptr @lp_site store i32 3161, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5923) 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 @.str5924) 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 3162, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str5925, ptr %t9) store i32 0, ptr @lp_site call void @fn_perr_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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str5927, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5928, 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 ptr, ptr @g_g_tests call void @fn_i18n_walk_all(ptr %t40) %t41 = load ptr, ptr @g_g_onlisten call void @fn_i18n_walk_all(ptr %t41) %t42 = load ptr, ptr @g_g_onspawn call void @fn_i18n_walk_all(ptr %t42) %t43 = load ptr, ptr @g_g_ondespawn call void @fn_i18n_walk_all(ptr %t43) %t44 = load ptr, ptr @g_g_onattach call void @fn_i18n_walk_all(ptr %t44) %t45 = load ptr, ptr @g_g_ondetach call void @fn_i18n_walk_all(ptr %t45) %t46 = load ptr, ptr @g_g_onenable call void @fn_i18n_walk_all(ptr %t46) %t47 = load ptr, ptr @g_g_ondisable call void @fn_i18n_walk_all(ptr %t47) %t48 = load ptr, ptr @g_g_computed call void @fn_i18n_walk_all(ptr %t48) %t49 = load ptr, ptr @g_g_scenes call void @fn_i18n_walk_all(ptr %t49) %t50 = load i32, ptr @g_g_i18n_on %t51 = icmp eq i32 %t50, 0 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, 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 void @fn_i18n_walk_all(ptr %arg_ns) { entry: %t0 = alloca ptr %t5 = alloca i32 %t13 = alloca i32 %t28 = alloca i32 store ptr %arg_ns, 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: %t14 = load ptr, ptr %t0 %t15 = load i32, ptr %t5 %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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str5929, 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 = 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 i1 %t26, label %sc8, label %scend9 sc8: %t29 = load ptr, ptr %t0 %t30 = load i32, ptr %t5 %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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str5930, i32 %t30, i32 %t34) call void @exit(i32 1) unreachable ixok10: %t37 = getelementptr inbounds ptr, ptr %t32, i32 %t30 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 9 %t40 = load ptr, ptr %t39 %t41 = icmp eq 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 %t28 br i1 %t43, label %scend13, label %sc12 sc12: %t45 = load ptr, ptr %t0 %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 %ixok14, label %ixbad15 ixbad15: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str5931, i32 %t46, i32 %t50) call void @exit(i32 1) unreachable ixok14: %t53 = getelementptr inbounds ptr, ptr %t48, i32 %t46 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 9 %t56 = load ptr, ptr %t55 %t57 = call i32 @fn_is_runtime_file(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 %t28 br label %scend13 scend13: %t62 = load i32, ptr %t28 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t13 br label %scend9 scend9: %t65 = load i32, ptr %t13 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then16, label %ifend18 then16: %t67 = load ptr, ptr %t0 %t68 = load i32, ptr %t5 %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 %ixok19, label %ixbad20 ixbad20: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str5932, i32 %t68, i32 %t72) call void @exit(i32 1) unreachable ixok19: %t75 = getelementptr inbounds ptr, ptr %t70, i32 %t68 %t76 = load ptr, ptr %t75 call void @fn_i18n_walk(ptr %t76) br label %ifend18 ifend18: %t77 = load i32, ptr %t5 %t78 = add i32 %t77, 1 store i32 %t78, ptr %t5 br label %wcond3 wend5: 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 3163, 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 @.str5934) 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str5935, 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 %t168 = alloca i32 %t169 = 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 @.str5936) %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 @.str5937) %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 @.str5938) %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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str5939, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str5940, 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 @.str5941) %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 3164, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str5942, ptr %t117) store i32 0, ptr @lp_site store i32 3165, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str5944) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) %t120 = load ptr, ptr %t90 store i32 3166, 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 3167, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5945) 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 @.str5946) %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 3168, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str5947) store i32 0, ptr @lp_site %t145 = load ptr, ptr %t90 store i32 3169, 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 3170, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str5948) store i32 0, ptr @lp_site call void @lp_free(ptr %t146) %t148 = load ptr, ptr %t90 store i32 3171, 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 3172, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str5949) 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 @.str5950) %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 %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 1 %t167 = load i32, ptr %t166 store i32 %t167, ptr %t168 br label %wcond34 wcond34: %t170 = load i32, ptr %t168 %t171 = load i32, ptr %t33 %t172 = add i32 %t171, 1 %t173 = icmp sgt i32 %t170, %t172 %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 %sc37, label %scend38 sc37: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 7 %t179 = load ptr, ptr %t178 %t180 = load i32, ptr %t168 %t181 = sub i32 %t180, 1 %t182 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t185 = load i32, ptr %t184 %t186 = icmp ult i32 %t181, %t185 br i1 %t186, label %ixok39, label %ixbad40 ixbad40: %t187 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str5951, i32 %t181, i32 %t185) call void @exit(i32 1) unreachable ixok39: %t188 = getelementptr inbounds ptr, ptr %t183, i32 %t181 %t189 = load ptr, ptr %t188 %t190 = call i32 @fn_i18n_is_pad(ptr %t189) %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t169 br label %scend38 scend38: %t193 = load i32, ptr %t169 %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %wbody35, label %wend36 wbody35: %t195 = load i32, ptr %t168 %t196 = sub i32 %t195, 1 store i32 %t196, ptr %t168 br label %wcond34 wend36: %t197 = load ptr, ptr %t90 %t198 = load i32, ptr %t168 %t199 = load i32, ptr %t33 %t200 = sub i32 %t198, %t199 %t201 = sub i32 %t200, 1 %t202 = load ptr, ptr %t7 %t203 = load ptr, ptr %t87 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 9 %t205 = load ptr, ptr %t204 %t206 = load ptr, ptr %t87 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 8 %t208 = load i32, ptr %t207 %t209 = load ptr, ptr %t87 %t210 = call i32 @fn_i18n_col(ptr %t209) call void @fn_i18n_holes(ptr %t197, i32 %t201, ptr %t202, ptr %t205, i32 %t208, i32 %t210) br label %ret ret: ret void } define i32 @fn_i18n_is_pad(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 store ptr %arg_e, ptr %t0 %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 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 31 %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 %sc2, label %scend3 sc2: %t19 = load ptr, ptr %t0 %t20 = call i32 @fn_i18n_is_key(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 %t2 br label %scend3 scend3: %t25 = load i32, ptr %t2 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t1 br i1 %t26, label %sc4, label %scend5 sc4: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %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 %t28 br i1 %t34, label %scend7, label %sc6 sc6: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i64 @strlen(ptr %t38) %t40 = trunc i64 %t39 to i32 %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 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t1 br label %scend5 scend5: %t48 = load i32, ptr %t1 store i32 %t48, ptr %retval br label %ret ret: %t49 = load i32, ptr %retval ret i32 %t49 } 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str5952, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str5953, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str5954, 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 3173, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str5955) 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str5957, 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 3174, 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 3175, 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 3176, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str5959, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str5960, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str5961, 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 3177, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str5962, ptr %t107) store i32 0, ptr @lp_site store i32 3178, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5963) 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 3179, 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 3180, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str5964) 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: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str5965, 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 3181, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str5966, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str5967, 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 3182, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5968) 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 3183, 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 3184, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str5970) 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 @.str5971) %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 3185, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5972) 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 3186, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str5974) 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 3187, 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 3188, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str5975) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) %t92 = load ptr, ptr %t2 store i32 3189, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str5976, 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 3190, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5977) store i32 0, ptr @lp_site %t140 = load i32, ptr %t115 %t141 = call ptr @fn_itoa(i32 %t140) store i32 3191, 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 3192, 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 3193, 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 3194, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str5979, 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 3195, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str5980, 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str5981, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str5982, 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: %t144 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t144, ptr @.fmt_bounds, ptr @.str5983, 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: %t172 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str5984, 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str5985, 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 @.str5986, 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 3196, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str5987) 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: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str5988, 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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str5989, 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 3197, 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: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str5990, 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: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str5991, 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: %t275 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t275, ptr @.fmt_bounds, ptr @.str5992, 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: %t287 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t287, ptr @.fmt_bounds, ptr @.str5993, 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 3198, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str5994) 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: %t300 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str5995, 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 3199, 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 3200, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str5996) 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 3201, 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 3202, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5997) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t191 store i32 3203, 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 3204, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str5998) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str5999, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str6000, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str6001, 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 3205, 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 3206, 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 3207, 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 @.str6004) 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 @.str6005) %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 @.str6006) %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 @.str6007) %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 3208, 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 3209, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr @.str6008, ptr %t211) store i32 0, ptr @lp_site store i32 3210, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str6010) 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 3211, 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 3212, 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 3213, 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 3214, 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 3215, 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 3216, 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 3217, 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 3218, 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 3219, 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 @.str6013) %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 3220, 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 @.str6014) 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: %t445 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t445, ptr @.fmt_bounds, ptr @.str6015, 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: %t455 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t455, ptr @.fmt_bounds, ptr @.str6016, 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: %t465 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t465, ptr @.fmt_bounds, ptr @.str6017, 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 @.str6018) %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 @.str6019) %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 @.str6020) %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 @.str6021) %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 @.str6022) %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 @.str6023) %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 @.str6024) %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 @.str6025) %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 @.str6026) %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 @.str6027) %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 @.str6028) %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 @.str6029) %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 @.str6030) %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 @.str6031) %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 @.str6032) %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 @.str6033) %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 @.str6034) %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 @.str6035) %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 @.str6036) %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 @.str6037) %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 @.str6038) %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 @.str6039) %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 @.str6040) %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 @.str6041) %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 @.str6042) %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 @.str6043) %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 @.str6044) %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 @.str6045) %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 @.str6046) %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 @.str6047) %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 @.str6048) %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 @.str6049) %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 @.str6050) %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 @.str6051) %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 @.str6052) %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 @.str6053) %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 @.str6054) %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 @.str6055) %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 @.str6056) %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 @.str6057) %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 @.str6058) %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 @.str6059) %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 3221, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str6060) store i32 0, ptr @lp_site %t95 = load ptr, ptr %t70 %t96 = call ptr @fn_i18n_short(ptr %t95) store i32 3222, 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 3223, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6062) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t0 store i32 3224, 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 3225, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6063) 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 3226, 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 3227, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str6065, ptr %t88) store i32 0, ptr @lp_site store i32 3228, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str6066) 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 3229, 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 @.str6068, 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 3230, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6071, 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 3231, 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 @.str6073) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str6074) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6075) %t21 = load ptr, ptr %t17 store i32 3232, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str6076, 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 3233, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str6078, ptr %t25) store i32 0, ptr @lp_site store i32 3234, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6079) 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 @.str6080) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str6081) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6082) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6083, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6084, 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 3235, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str6085, 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 @.str6087) %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 @.str6088) %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 @.str6089) %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 3236, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str6090, 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 3237, 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 @.str6093) %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 @.str6094) %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 @.str6095) %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 @.str6096) %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 @.str6097, 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 @.str6098, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6099) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str6100, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6101) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str6102, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str6103) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str6104, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str6105) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str6106, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6107) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str6108, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str6109) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str6110, ptr %retval br label %ret ifend29: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6111) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then30, label %ifend32 then30: store ptr @.str6112, ptr %retval br label %ret ifend32: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6113) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: store ptr @.str6114, ptr %retval br label %ret ifend35: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str6115) %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 @.str6116) %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 @.str6117) %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 @.str6118) %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 @.str6119) %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 @.str6120, ptr %retval br label %ret ifend46: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str6121) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then47, label %ifend49 then47: store ptr @.str6122, ptr %retval br label %ret ifend49: store ptr @.str6123, 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 3238, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6125, 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 3239, 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 3240, 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 3241, 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 3242, 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 3243, 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 3244, 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 3245, 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 3246, 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 3247, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str6128, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str6129, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str6130, 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: %t14 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str6131, 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 3248, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str6133, 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str6134, 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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str6135, 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str6136, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str6137, 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: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str6138, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str6139, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str6140, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str6141, 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 3249, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str6142, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str6144, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str6145, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str6146, 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 @.str6147, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str6148, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6149, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str6150, 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: %t99 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str6151, 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 @.str6152) %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 @.str6153) %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 @.str6154) %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 @.str6155) %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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str6156, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6157, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str6158, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str6159, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str6160, 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 @.str6161) %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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str6162, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str6163, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str6164, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str6165, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str6166, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str6167, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str6168, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str6169, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str6170, 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 3250, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str6171) store i32 0, ptr @lp_site %t10 = load ptr, ptr %t1 store i32 3251, 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 3252, 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 3253, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str6173) store i32 0, ptr @lp_site %t8 = load ptr, ptr %t1 store i32 3254, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str6175, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str6176, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str6177, 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 @.str6178) %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 @.str6179) %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 @.str6180) %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 @.str6181) %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 @.str6182) %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 @.str6183) %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 @.str6184) %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 @.str6185) %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 @.str6186) %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 @.str6187, 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 @.str6188) %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 @.str6189) %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 @.str6190) %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 @.str6191) %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 @.str6192, 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 @.str6193) %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 @.str6194) %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 @.str6195, 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 @.str6196) %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 @.str6197) %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 @.str6198, 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: %t324 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str6199, 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 3255, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr %t343, ptr @.str6200) 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 3256, 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: %t448 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t448, ptr @.fmt_bounds, ptr @.str6202, 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 3257, ptr @lp_site %t458 = call ptr @lp_str_concat(ptr @.str6203, 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 @.str6204, 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 @.str6205, ptr %retval br label %ret ifend117: store ptr @.str6206, 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 @.str6207, 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 @.str6208, 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 @.str6209, 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 3258, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6211, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6212, 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 3259, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6214, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6215, 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 3260, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6217, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6218, 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 3261, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6220, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6221, 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 3262, 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 3263, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6224, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6225, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6226, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6227, 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 3264, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6229, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str6230, 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 3265, 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 @.str6232, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str6233, 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 3266, 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 @.str6235, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str6236, 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 3267, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6237, 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 3268, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6239, 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 3269, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str6241, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str6242, 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str6243, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str6244, 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 3270, 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 3271, 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 3272, 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 3273, 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 3274, 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: %t171 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str6245, 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: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str6246, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str6247, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str6248, 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 3275, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str6249, ptr %t43) store i32 0, ptr @lp_site store i32 3276, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6251) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str6252, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str6253, 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 3277, 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 3278, 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 3279, 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 3280, 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 3281, 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 3282, 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 3283, 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 3284, 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 3285, 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 @.str6255, 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 3286, 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 3287, 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 3288, 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 3289, 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 3290, 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 @.str6256) %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str6257, 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 3291, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str6259, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str6260, 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 3292, 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 3293, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str6262, 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 @.str6263, 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 3294, 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 3295, 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 3296, 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 3297, 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 3298, 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 3299, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str6265, ptr %t147) store i32 0, ptr @lp_site store i32 3300, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str6266) 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 @.str6267) %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 @.str6268) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %else4 then3: call void @fn_emit_site(ptr @.str6269) br label %ifend5 else4: %t10 = load ptr, ptr %t0 %t11 = call i32 @fn_str_starts(ptr %t10, ptr @.str6270) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then6, label %else7 then6: call void @fn_emit_site(ptr @.str6271) br label %ifend8 else7: %t13 = load ptr, ptr %t0 %t14 = call i32 @fn_str_starts(ptr %t13, ptr @.str6272) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then9, label %else10 then9: call void @fn_emit_site(ptr @.str6273) br label %ifend11 else10: %t16 = load ptr, ptr %t0 %t17 = call i32 @fn_str_starts(ptr %t16, ptr @.str6274) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then12, label %else13 then12: call void @fn_emit_site(ptr @.str6275) br label %ifend14 else13: %t20 = load ptr, ptr %t0 %t21 = call i32 @fn_str_starts(ptr %t20, ptr @.str6276) %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 @.str6277) %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 @.str6278) br label %ifend19 else18: %t30 = load ptr, ptr %t0 %t31 = call i32 @fn_str_starts(ptr %t30, ptr @.str6279) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then20, label %else21 then20: call void @fn_emit_site(ptr @.str6280) br label %ifend22 else21: %t33 = load ptr, ptr %t0 %t34 = call i32 @fn_str_starts(ptr %t33, ptr @.str6281) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then23, label %else24 then23: call void @fn_emit_site(ptr @.str6282) br label %ifend25 else24: %t36 = load ptr, ptr %t0 %t37 = call i32 @fn_str_starts(ptr %t36, ptr @.str6283) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then26, label %else27 then26: call void @fn_emit_site(ptr @.str6284) store i32 0, ptr %t6 br label %ifend28 else27: %t39 = load ptr, ptr %t0 %t40 = call i32 @fn_str_starts(ptr %t39, ptr @.str6285) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then29, label %else30 then29: call void @fn_emit_site(ptr @.str6286) 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 @.str6287) 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 @.str6288) %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 3301, 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 @.str6290) %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 @.str6291) %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 @.str6292) %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 @.str6293) %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 3302, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str6294, 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 @.str6296) %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 3303, 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 @.str6298) %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 3304, 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 @.str6299) %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 3305, 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 @.str6300) %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 @.str6301) %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 3306, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str6302) store i32 0, ptr @lp_site store ptr %t20, ptr %t12 br label %ifend8 ifend8: %t21 = load ptr, ptr %t12 store i32 3307, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6304) 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 @.str6305, ptr %t5 br label %ifend14 else13: %t36 = load ptr, ptr %t5 store i32 3308, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6306) 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 3309, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str6308, 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 @.str6309) %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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str6310, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str6311, 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 @.str6312) %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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str6313, 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 @.str6314) %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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str6315, 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str6316, 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 @.str6317) %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: %t172 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str6318, 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 @.str6319) %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: %t186 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t186, ptr @.fmt_bounds, ptr @.str6320, 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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str6321, 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 @.str6322) %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: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str6323, 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 @.str6324) %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: %t242 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t242, ptr @.fmt_bounds, ptr @.str6325, 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 @.str6326) %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: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str6327, 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 @.str6328) %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 @.str6329) %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 @.str6330) %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 @.str6331) %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 @.str6332) %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 @.str6333) %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 @.str6334) %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 @.str6335) %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 @.str6336) %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 @.str6337) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6338) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6339) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6340) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_emit_bind(ptr @.str6341) %t11 = call ptr @fn_val(ptr %t10, ptr @.str6342) store ptr %t11, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str6343) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then6, label %ifend8 then6: %t15 = call ptr @fn_emit_bind(ptr @.str6344) %t16 = call ptr @fn_val(ptr %t15, ptr @.str6345) store ptr %t16, ptr %retval br label %ret ifend8: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str6346) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str6347) %t20 = call ptr @fn_val(ptr @.str6348, ptr @.str6349) store ptr %t20, ptr %retval br label %ret ifend11: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str6350) %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str6351, 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 3310, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str6352, ptr %t39) store i32 0, ptr @lp_site store i32 3311, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6354) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) call void @fn_emit(ptr %t41) %t42 = call ptr @fn_val(ptr @.str6355, ptr @.str6356) store ptr %t42, ptr %retval br label %ret ifend14: %t43 = load ptr, ptr %t0 store i32 3312, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str6357, ptr %t43) store i32 0, ptr @lp_site store i32 3313, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6358) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) call void @fn_emit(ptr %t45) %t46 = call ptr @fn_val(ptr @.str6359, ptr @.str6360) 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 3314, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6361) 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 3315, 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 3316, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6363) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t1 store i32 3317, 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 3318, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6364) 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 @.str6365) br label %ifend5 ifend5: %t26 = load ptr, ptr %t1 call void @fn_emith(ptr %t26) call void @fn_emith(ptr @.str6366) %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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str6367, 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 @.str6368) 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 @.str6369) 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 @.str6370) 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 @.str6371) 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 @.str6372) store i32 1, ptr @g_g_mmap_declared br label %ifend14 ifend14: store ptr @.str6373, 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 @.str6374, ptr %t18 br label %ifend17 ifend17: %t21 = load ptr, ptr %t18 store i32 3319, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str6375, ptr %t21) store i32 0, ptr @lp_site store i32 3320, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str6377) 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str6378, 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 @.str6379) 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str6380, 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 @.str6381) 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str6382, 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 @.str6383) 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 @.str6384, ptr %t60 br label %ifend28 ifend28: %t74 = load ptr, ptr %t60 store i32 3321, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str6385, ptr %t74) store i32 0, ptr @lp_site store i32 3322, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6386) 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 3323, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str6387, ptr %t78) store i32 0, ptr @lp_site store i32 3324, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6388) 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 @.str6389) br label %ifend31 else30: %t85 = load ptr, ptr @g_g_fence_census %t86 = call ptr @fn_emit_str_const(ptr %t85) store i32 3325, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str6390, ptr %t86) store i32 0, ptr @lp_site store i32 3326, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6391) 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 3327, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr @.str6392, ptr %t89) store i32 0, ptr @lp_site store i32 3328, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str6393) 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 @.str6394, ptr @.str6395, ptr %t92) %t93 = load ptr, ptr @g_g_site_file call void @fn_fence_table(ptr @.str6396, ptr @.str6397, ptr %t93) %t94 = load ptr, ptr @g_g_site_kind call void @fn_fence_table(ptr @.str6398, ptr @.str6399, ptr %t94) %t95 = getelementptr %LSlice, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 store i32 3329, 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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str6400, 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 3330, 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 @.str6401, ptr @.str6402, ptr %t140) %t141 = load ptr, ptr %t57 store i32 3331, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str6403, ptr %t141) store i32 0, ptr @lp_site store i32 3332, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str6404) 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 3333, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str6405, ptr %t144) store i32 0, ptr @lp_site store i32 3334, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str6406) 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 3335, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str6407, ptr %t147) store i32 0, ptr @lp_site store i32 3336, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str6408) 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 3337, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str6409, ptr %t150) store i32 0, ptr @lp_site store i32 3338, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str6410) 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 3339, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str6411, ptr %t153) store i32 0, ptr @lp_site store i32 3340, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str6412) 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 3341, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str6413, ptr %t156) store i32 0, ptr @lp_site store i32 3342, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str6414) 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 3343, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str6415, ptr %t159) store i32 0, ptr @lp_site store i32 3344, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str6416) 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 3345, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr @.str6417, ptr %t162) store i32 0, ptr @lp_site store i32 3346, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str6418) 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 3347, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str6419, ptr %t165) store i32 0, ptr @lp_site store i32 3348, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str6420) 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 3349, 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: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str6421, 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 3350, 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 @.str6422, ptr @.str6423, ptr %t213) %t214 = getelementptr %LSlice, ptr null, i32 1 %t215 = ptrtoint ptr %t214 to i64 store i32 3351, 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: %t237 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str6424, 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 3352, 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 3353, 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 @.str6425, 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 @.str6426, ptr @.str6427, 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 3354, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr @.str6428, ptr %t290) store i32 0, ptr @lp_site store i32 3355, ptr @lp_site %t292 = call ptr @lp_str_concat(ptr %t291, ptr @.str6429) 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 3356, 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: %t316 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str6431, 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 3357, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr @.str6430, 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 3358, 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 3359, 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 @.str6432, 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 @.str6433, ptr @.str6434, 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 3360, ptr @lp_site %t370 = call ptr @lp_str_concat(ptr @.str6435, ptr %t369) store i32 0, ptr @lp_site store i32 3361, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str6436) 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 3362, ptr @lp_site %t375 = call ptr @lp_str_concat(ptr @.str6437, ptr %t374) store i32 0, ptr @lp_site store i32 3363, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr %t375, ptr @.str6438) 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 3364, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str6439) 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 3365, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str6441, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str6442, 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 @.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) br label %ret ret: ret void } define void @fn_emit_fence_entry() { entry: 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) 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) 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) br label %ret ret: ret void } define void @fn_emit_fence_table() { entry: call void @fn_emith(ptr @.str6850) call void @fn_emith(ptr @.str6851) call void @fn_emith(ptr @.str6852) call void @fn_emith(ptr @.str6853) call void @fn_emith(ptr @.str6854) call void @fn_emith(ptr @.str6855) call void @fn_emith(ptr @.str6856) call void @fn_emith(ptr @.str6857) call void @fn_emith(ptr @.str6858) call void @fn_emith(ptr @.str6859) call void @fn_emith(ptr @.str6860) call void @fn_emith(ptr @.str6861) call void @fn_emith(ptr @.str6862) call void @fn_emith(ptr @.str6863) call void @fn_emith(ptr @.str6864) call void @fn_emith(ptr @.str6865) call void @fn_emith(ptr @.str6866) call void @fn_emith(ptr @.str6867) call void @fn_emith(ptr @.str6868) call void @fn_emith(ptr @.str6869) call void @fn_emith(ptr @.str6870) call void @fn_emith(ptr @.str6871) call void @fn_emith(ptr @.str6872) call void @fn_emith(ptr @.str6873) call void @fn_emith(ptr @.str6874) call void @fn_emith(ptr @.str6875) call void @fn_emith(ptr @.str6876) call void @fn_emith(ptr @.str6877) call void @fn_emith(ptr @.str6878) call void @fn_emith(ptr @.str6879) call void @fn_emith(ptr @.str6880) call void @fn_emith(ptr @.str6881) call void @fn_emith(ptr @.str6882) call void @fn_emith(ptr @.str6883) call void @fn_emith(ptr @.str6884) call void @fn_emith(ptr @.str6885) call void @fn_emith(ptr @.str6886) call void @fn_emith(ptr @.str6887) call void @fn_emith(ptr @.str6888) call void @fn_emith(ptr @.str6889) call void @fn_emith(ptr @.str6890) call void @fn_emith(ptr @.str6891) call void @fn_emith(ptr @.str6892) call void @fn_emith(ptr @.str6893) call void @fn_emith(ptr @.str6894) call void @fn_emith(ptr @.str6895) call void @fn_emith(ptr @.str6896) call void @fn_emith(ptr @.str6897) call void @fn_emith(ptr @.str6898) call void @fn_emith(ptr @.str6899) call void @fn_emith(ptr @.str6900) call void @fn_emith(ptr @.str6901) call void @fn_emith(ptr @.str6902) call void @fn_emith(ptr @.str6903) call void @fn_emith(ptr @.str6904) call void @fn_emith(ptr @.str6905) call void @fn_emith(ptr @.str6906) call void @fn_emith(ptr @.str6907) call void @fn_emith(ptr @.str6908) call void @fn_emith(ptr @.str6909) call void @fn_emith(ptr @.str6910) call void @fn_emith(ptr @.str6911) call void @fn_emith(ptr @.str6912) call void @fn_emith(ptr @.str6913) call void @fn_emith(ptr @.str6914) call void @fn_emith(ptr @.str6915) call void @fn_emith(ptr @.str6916) call void @fn_emith(ptr @.str6917) call void @fn_emith(ptr @.str6918) call void @fn_emith(ptr @.str6919) call void @fn_emith(ptr @.str6920) call void @fn_emith(ptr @.str6921) call void @fn_emith(ptr @.str6922) call void @fn_emith(ptr @.str6923) call void @fn_emith(ptr @.str6924) call void @fn_emith(ptr @.str6925) call void @fn_emith(ptr @.str6926) call void @fn_emith(ptr @.str6927) call void @fn_emith(ptr @.str6928) call void @fn_emith(ptr @.str6929) call void @fn_emith(ptr @.str6930) call void @fn_emith(ptr @.str6931) call void @fn_emith(ptr @.str6932) call void @fn_emith(ptr @.str6933) call void @fn_emith(ptr @.str6934) call void @fn_emith(ptr @.str6935) call void @fn_emith(ptr @.str6936) call void @fn_emith(ptr @.str6937) call void @fn_emith(ptr @.str6938) call void @fn_emith(ptr @.str6939) call void @fn_emith(ptr @.str6940) call void @fn_emith(ptr @.str6941) call void @fn_emith(ptr @.str6942) call void @fn_emith(ptr @.str6943) call void @fn_emith(ptr @.str6944) call void @fn_emith(ptr @.str6945) call void @fn_emith(ptr @.str6946) call void @fn_emith(ptr @.str6947) call void @fn_emith(ptr @.str6948) call void @fn_emith(ptr @.str6949) call void @fn_emith(ptr @.str6950) call void @fn_emith(ptr @.str6951) call void @fn_emith(ptr @.str6952) call void @fn_emith(ptr @.str6953) call void @fn_emith(ptr @.str6954) call void @fn_emith(ptr @.str6955) call void @fn_emith(ptr @.str6956) call void @fn_emith(ptr @.str6957) call void @fn_emith(ptr @.str6958) call void @fn_emith(ptr @.str6959) call void @fn_emith(ptr @.str6960) call void @fn_emith(ptr @.str6961) call void @fn_emith(ptr @.str6962) call void @fn_emith(ptr @.str6963) call void @fn_emith(ptr @.str6964) call void @fn_emith(ptr @.str6965) call void @fn_emith(ptr @.str6966) call void @fn_emith(ptr @.str6967) call void @fn_emith(ptr @.str6968) call void @fn_emith(ptr @.str6969) call void @fn_emith(ptr @.str6970) call void @fn_emith(ptr @.str6971) call void @fn_emith(ptr @.str6972) call void @fn_emith(ptr @.str6973) call void @fn_emith(ptr @.str6974) call void @fn_emith(ptr @.str6975) call void @fn_emith(ptr @.str6976) call void @fn_emith(ptr @.str6977) call void @fn_emith(ptr @.str6978) call void @fn_emith(ptr @.str6979) call void @fn_emith(ptr @.str6980) call void @fn_emith(ptr @.str6981) call void @fn_emith(ptr @.str6982) call void @fn_emith(ptr @.str6983) call void @fn_emith(ptr @.str6984) call void @fn_emith(ptr @.str6985) call void @fn_emith(ptr @.str6986) call void @fn_emith(ptr @.str6987) call void @fn_emith(ptr @.str6988) call void @fn_emith(ptr @.str6989) call void @fn_emith(ptr @.str6990) call void @fn_emith(ptr @.str6991) call void @fn_emith(ptr @.str6992) call void @fn_emith(ptr @.str6993) call void @fn_emith(ptr @.str6994) call void @fn_emith(ptr @.str6995) call void @fn_emith(ptr @.str6996) call void @fn_emith(ptr @.str6997) call void @fn_emith(ptr @.str6998) call void @fn_emith(ptr @.str6999) call void @fn_emith(ptr @.str7000) call void @fn_emith(ptr @.str7001) call void @fn_emith(ptr @.str7002) call void @fn_emith(ptr @.str7003) call void @fn_emith(ptr @.str7004) call void @fn_emith(ptr @.str7005) call void @fn_emith(ptr @.str7006) call void @fn_emith(ptr @.str7007) call void @fn_emith(ptr @.str7008) call void @fn_emith(ptr @.str7009) call void @fn_emith(ptr @.str7010) call void @fn_emith(ptr @.str7011) call void @fn_emith(ptr @.str7012) call void @fn_emith(ptr @.str7013) call void @fn_emith(ptr @.str7014) call void @fn_emith(ptr @.str7015) call void @fn_emith(ptr @.str7016) call void @fn_emith(ptr @.str7017) call void @fn_emith(ptr @.str7018) call void @fn_emith(ptr @.str7019) call void @fn_emith(ptr @.str7020) call void @fn_emith(ptr @.str7021) call void @fn_emith(ptr @.str7022) call void @fn_emith(ptr @.str7023) call void @fn_emith(ptr @.str7024) call void @fn_emith(ptr @.str7025) call void @fn_emith(ptr @.str7026) call void @fn_emith(ptr @.str7027) call void @fn_emith(ptr @.str7028) call void @fn_emith(ptr @.str7029) call void @fn_emith(ptr @.str7030) call void @fn_emith(ptr @.str7031) call void @fn_emith(ptr @.str7032) call void @fn_emith(ptr @.str7033) call void @fn_emith(ptr @.str7034) call void @fn_emith(ptr @.str7035) call void @fn_emith(ptr @.str7036) call void @fn_emith(ptr @.str7037) call void @fn_emith(ptr @.str7038) call void @fn_emith(ptr @.str7039) call void @fn_emith(ptr @.str7040) call void @fn_emith(ptr @.str7041) call void @fn_emith(ptr @.str7042) call void @fn_emith(ptr @.str7043) call void @fn_emith(ptr @.str7044) call void @fn_emith(ptr @.str7045) call void @fn_emith(ptr @.str7046) call void @fn_emith(ptr @.str7047) call void @fn_emith(ptr @.str7048) call void @fn_emith(ptr @.str7049) call void @fn_emith(ptr @.str7050) call void @fn_emith(ptr @.str7051) call void @fn_emith(ptr @.str7052) call void @fn_emith(ptr @.str7053) call void @fn_emith(ptr @.str7054) call void @fn_emith(ptr @.str7055) call void @fn_emith(ptr @.str7056) call void @fn_emith(ptr @.str7057) call void @fn_emith(ptr @.str7058) call void @fn_emith(ptr @.str7059) call void @fn_emith(ptr @.str7060) call void @fn_emith(ptr @.str7061) call void @fn_emith(ptr @.str7062) call void @fn_emith(ptr @.str7063) call void @fn_emith(ptr @.str7064) call void @fn_emith(ptr @.str7065) call void @fn_emith(ptr @.str7066) call void @fn_emith(ptr @.str7067) call void @fn_emith(ptr @.str7068) call void @fn_emith(ptr @.str7069) call void @fn_emith(ptr @.str7070) call void @fn_emith(ptr @.str7071) call void @fn_emith(ptr @.str7072) call void @fn_emith(ptr @.str7073) call void @fn_emith(ptr @.str7074) call void @fn_emith(ptr @.str7075) call void @fn_emith(ptr @.str7076) call void @fn_emith(ptr @.str7077) call void @fn_emith(ptr @.str7078) call void @fn_emith(ptr @.str7079) call void @fn_emith(ptr @.str7080) call void @fn_emith(ptr @.str7081) call void @fn_emith(ptr @.str7082) call void @fn_emith(ptr @.str7083) call void @fn_emith(ptr @.str7084) call void @fn_emith(ptr @.str7085) call void @fn_emith(ptr @.str7086) call void @fn_emith(ptr @.str7087) call void @fn_emith(ptr @.str7088) call void @fn_emith(ptr @.str7089) call void @fn_emith(ptr @.str7090) call void @fn_emith(ptr @.str7091) call void @fn_emith(ptr @.str7092) call void @fn_emith(ptr @.str7093) call void @fn_emith(ptr @.str7094) call void @fn_emith(ptr @.str7095) call void @fn_emith(ptr @.str7096) call void @fn_emith(ptr @.str7097) call void @fn_emith(ptr @.str7098) call void @fn_emith(ptr @.str7099) call void @fn_emith(ptr @.str7100) call void @fn_emith(ptr @.str7101) call void @fn_emith(ptr @.str7102) call void @fn_emith(ptr @.str7103) call void @fn_emith(ptr @.str7104) call void @fn_emith(ptr @.str7105) call void @fn_emith(ptr @.str7106) call void @fn_emith(ptr @.str7107) call void @fn_emith(ptr @.str7108) call void @fn_emith(ptr @.str7109) call void @fn_emith(ptr @.str7110) call void @fn_emith(ptr @.str7111) call void @fn_emith(ptr @.str7112) call void @fn_emith(ptr @.str7113) call void @fn_emith(ptr @.str7114) call void @fn_emith(ptr @.str7115) call void @fn_emith(ptr @.str7116) call void @fn_emith(ptr @.str7117) call void @fn_emith(ptr @.str7118) call void @fn_emith(ptr @.str7119) call void @fn_emith(ptr @.str7120) call void @fn_emith(ptr @.str7121) call void @fn_emith(ptr @.str7122) call void @fn_emith(ptr @.str7123) call void @fn_emith(ptr @.str7124) call void @fn_emith(ptr @.str7125) call void @fn_emith(ptr @.str7126) call void @fn_emith(ptr @.str7127) call void @fn_emith(ptr @.str7128) call void @fn_emith(ptr @.str7129) call void @fn_emith(ptr @.str7130) call void @fn_emith(ptr @.str7131) call void @fn_emith(ptr @.str7132) call void @fn_emith(ptr @.str7133) call void @fn_emith(ptr @.str7134) call void @fn_emith(ptr @.str7135) call void @fn_emith(ptr @.str7136) call void @fn_emith(ptr @.str7137) call void @fn_emith(ptr @.str7138) call void @fn_emith(ptr @.str7139) call void @fn_emith(ptr @.str7140) call void @fn_emith(ptr @.str7141) call void @fn_emith(ptr @.str7142) call void @fn_emith(ptr @.str7143) call void @fn_emith(ptr @.str7144) call void @fn_emith(ptr @.str7145) call void @fn_emith(ptr @.str7146) call void @fn_emith(ptr @.str7147) call void @fn_emith(ptr @.str7148) call void @fn_emith(ptr @.str7149) call void @fn_emith(ptr @.str7150) call void @fn_emith(ptr @.str7151) call void @fn_emith(ptr @.str7152) call void @fn_emith(ptr @.str7153) call void @fn_emith(ptr @.str7154) call void @fn_emith(ptr @.str7155) call void @fn_emith(ptr @.str7156) call void @fn_emith(ptr @.str7157) call void @fn_emith(ptr @.str7158) call void @fn_emith(ptr @.str7159) call void @fn_emith(ptr @.str7160) call void @fn_emith(ptr @.str7161) call void @fn_emith(ptr @.str7162) call void @fn_emith(ptr @.str7163) call void @fn_emith(ptr @.str7164) call void @fn_emith(ptr @.str7165) call void @fn_emith(ptr @.str7166) call void @fn_emith(ptr @.str7167) call void @fn_emith(ptr @.str7168) call void @fn_emith(ptr @.str7169) call void @fn_emith(ptr @.str7170) call void @fn_emith(ptr @.str7171) call void @fn_emith(ptr @.str7172) call void @fn_emith(ptr @.str7173) call void @fn_emith(ptr @.str7174) call void @fn_emith(ptr @.str7175) call void @fn_emith(ptr @.str7176) call void @fn_emith(ptr @.str7177) call void @fn_emith(ptr @.str7178) call void @fn_emith(ptr @.str7179) call void @fn_emith(ptr @.str7180) call void @fn_emith(ptr @.str7181) call void @fn_emith(ptr @.str7182) call void @fn_emith(ptr @.str7183) call void @fn_emith(ptr @.str7184) call void @fn_emith(ptr @.str7185) call void @fn_emith(ptr @.str7186) call void @fn_emith(ptr @.str7187) call void @fn_emith(ptr @.str7188) call void @fn_emith(ptr @.str7189) call void @fn_emith(ptr @.str7190) call void @fn_emith(ptr @.str7191) call void @fn_emith(ptr @.str7192) call void @fn_emith(ptr @.str7193) call void @fn_emith(ptr @.str7194) call void @fn_emith(ptr @.str7195) call void @fn_emith(ptr @.str7196) call void @fn_emith(ptr @.str7197) call void @fn_emith(ptr @.str7198) call void @fn_emith(ptr @.str7199) call void @fn_emith(ptr @.str7200) call void @fn_emith(ptr @.str7201) call void @fn_emith(ptr @.str7202) call void @fn_emith(ptr @.str7203) call void @fn_emith(ptr @.str7204) call void @fn_emith(ptr @.str7205) call void @fn_emith(ptr @.str7206) call void @fn_emith(ptr @.str7207) call void @fn_emith(ptr @.str7208) call void @fn_emith(ptr @.str7209) call void @fn_emith(ptr @.str7210) call void @fn_emith(ptr @.str7211) br label %ret ret: ret void } define void @fn_emit_fence_control() { entry: call void @fn_emith(ptr @.str7212) call void @fn_emith(ptr @.str7213) call void @fn_emith(ptr @.str7214) call void @fn_emith(ptr @.str7215) call void @fn_emith(ptr @.str7216) call void @fn_emith(ptr @.str7217) call void @fn_emith(ptr @.str7218) call void @fn_emith(ptr @.str7219) call void @fn_emith(ptr @.str7220) call void @fn_emith(ptr @.str7221) call void @fn_emith(ptr @.str7222) call void @fn_emith(ptr @.str7223) call void @fn_emith(ptr @.str7224) call void @fn_emith(ptr @.str7225) call void @fn_emith(ptr @.str7226) call void @fn_emith(ptr @.str7227) call void @fn_emith(ptr @.str7228) call void @fn_emith(ptr @.str7229) call void @fn_emith(ptr @.str7230) call void @fn_emith(ptr @.str7231) call void @fn_emith(ptr @.str7232) call void @fn_emith(ptr @.str7233) call void @fn_emith(ptr @.str7234) call void @fn_emith(ptr @.str7235) call void @fn_emith(ptr @.str7236) call void @fn_emith(ptr @.str7237) call void @fn_emith(ptr @.str7238) call void @fn_emith(ptr @.str7239) call void @fn_emith(ptr @.str7240) call void @fn_emith(ptr @.str7241) call void @fn_emith(ptr @.str7242) call void @fn_emith(ptr @.str7243) call void @fn_emith(ptr @.str7244) call void @fn_emith(ptr @.str7245) call void @fn_emith(ptr @.str7246) call void @fn_emith(ptr @.str7247) call void @fn_emith(ptr @.str7248) call void @fn_emith(ptr @.str7249) call void @fn_emith(ptr @.str7250) call void @fn_emith(ptr @.str7251) call void @fn_emith(ptr @.str7252) call void @fn_emith(ptr @.str7253) call void @fn_emith(ptr @.str7254) call void @fn_emith(ptr @.str7255) call void @fn_emith(ptr @.str7256) call void @fn_emith(ptr @.str7257) call void @fn_emith(ptr @.str7258) call void @fn_emith(ptr @.str7259) call void @fn_emith(ptr @.str7260) call void @fn_emith(ptr @.str7261) call void @fn_emith(ptr @.str7262) call void @fn_emith(ptr @.str7263) call void @fn_emith(ptr @.str7264) call void @fn_emith(ptr @.str7265) call void @fn_emith(ptr @.str7266) call void @fn_emith(ptr @.str7267) call void @fn_emith(ptr @.str7268) call void @fn_emith(ptr @.str7269) call void @fn_emith(ptr @.str7270) call void @fn_emith(ptr @.str7271) call void @fn_emith(ptr @.str7272) call void @fn_emith(ptr @.str7273) call void @fn_emith(ptr @.str7274) call void @fn_emith(ptr @.str7275) call void @fn_emith(ptr @.str7276) call void @fn_emith(ptr @.str7277) call void @fn_emith(ptr @.str7278) call void @fn_emith(ptr @.str7279) call void @fn_emith(ptr @.str7280) call void @fn_emith(ptr @.str7281) call void @fn_emith(ptr @.str7282) call void @fn_emith(ptr @.str7283) call void @fn_emith(ptr @.str7284) call void @fn_emith(ptr @.str7285) call void @fn_emith(ptr @.str7286) call void @fn_emith(ptr @.str7287) call void @fn_emith(ptr @.str7288) call void @fn_emith(ptr @.str7289) call void @fn_emith(ptr @.str7290) call void @fn_emith(ptr @.str7291) call void @fn_emith(ptr @.str7292) call void @fn_emith(ptr @.str7293) call void @fn_emith(ptr @.str7294) call void @fn_emith(ptr @.str7295) call void @fn_emith(ptr @.str7296) call void @fn_emith(ptr @.str7297) call void @fn_emith(ptr @.str7298) call void @fn_emith(ptr @.str7299) call void @fn_emith(ptr @.str7300) call void @fn_emith(ptr @.str7301) call void @fn_emith(ptr @.str7302) call void @fn_emith(ptr @.str7303) call void @fn_emith(ptr @.str7304) call void @fn_emith(ptr @.str7305) call void @fn_emith(ptr @.str7306) call void @fn_emith(ptr @.str7307) call void @fn_emith(ptr @.str7308) call void @fn_emith(ptr @.str7309) call void @fn_emith(ptr @.str7310) call void @fn_emith(ptr @.str7311) call void @fn_emith(ptr @.str7312) call void @fn_emith(ptr @.str7313) call void @fn_emith(ptr @.str7314) call void @fn_emith(ptr @.str7315) call void @fn_emith(ptr @.str7316) call void @fn_emith(ptr @.str7317) call void @fn_emith(ptr @.str7318) call void @fn_emith(ptr @.str7319) call void @fn_emith(ptr @.str7320) call void @fn_emith(ptr @.str7321) call void @fn_emith(ptr @.str7322) call void @fn_emith(ptr @.str7323) call void @fn_emith(ptr @.str7324) call void @fn_emith(ptr @.str7325) call void @fn_emith(ptr @.str7326) call void @fn_emith(ptr @.str7327) call void @fn_emith(ptr @.str7328) call void @fn_emith(ptr @.str7329) call void @fn_emith(ptr @.str7330) call void @fn_emith(ptr @.str7331) call void @fn_emith(ptr @.str7332) call void @fn_emith(ptr @.str7333) call void @fn_emith(ptr @.str7334) call void @fn_emith(ptr @.str7335) call void @fn_emith(ptr @.str7336) call void @fn_emith(ptr @.str7337) call void @fn_emith(ptr @.str7338) call void @fn_emith(ptr @.str7339) call void @fn_emith(ptr @.str7340) call void @fn_emith(ptr @.str7341) call void @fn_emith(ptr @.str7342) call void @fn_emith(ptr @.str7343) call void @fn_emith(ptr @.str7344) call void @fn_emith(ptr @.str7345) call void @fn_emith(ptr @.str7346) call void @fn_emith(ptr @.str7347) call void @fn_emith(ptr @.str7348) call void @fn_emith(ptr @.str7349) call void @fn_emith(ptr @.str7350) call void @fn_emith(ptr @.str7351) call void @fn_emith(ptr @.str7352) call void @fn_emith(ptr @.str7353) call void @fn_emith(ptr @.str7354) call void @fn_emith(ptr @.str7355) call void @fn_emith(ptr @.str7356) call void @fn_emith(ptr @.str7357) call void @fn_emith(ptr @.str7358) call void @fn_emith(ptr @.str7359) call void @fn_emith(ptr @.str7360) call void @fn_emith(ptr @.str7361) call void @fn_emith(ptr @.str7362) call void @fn_emith(ptr @.str7363) call void @fn_emith(ptr @.str7364) call void @fn_emith(ptr @.str7365) call void @fn_emith(ptr @.str7366) call void @fn_emith(ptr @.str7367) call void @fn_emith(ptr @.str7368) call void @fn_emith(ptr @.str7369) call void @fn_emith(ptr @.str7370) call void @fn_emith(ptr @.str7371) call void @fn_emith(ptr @.str7372) call void @fn_emith(ptr @.str7373) call void @fn_emith(ptr @.str7374) call void @fn_emith(ptr @.str7375) call void @fn_emith(ptr @.str7376) call void @fn_emith(ptr @.str7377) call void @fn_emith(ptr @.str7378) call void @fn_emith(ptr @.str7379) call void @fn_emith(ptr @.str7380) call void @fn_emith(ptr @.str7381) call void @fn_emith(ptr @.str7382) call void @fn_emith(ptr @.str7383) call void @fn_emith(ptr @.str7384) call void @fn_emith(ptr @.str7385) call void @fn_emith(ptr @.str7386) call void @fn_emith(ptr @.str7387) call void @fn_emith(ptr @.str7388) call void @fn_emith(ptr @.str7389) call void @fn_emith(ptr @.str7390) call void @fn_emith(ptr @.str7391) 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) call void @fn_emith(ptr @.str7401) call void @fn_emith(ptr @.str7402) call void @fn_emith(ptr @.str7403) call void @fn_emith(ptr @.str7404) 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) br label %ret ret: ret void } define void @fn_emit_fence_report() { entry: 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) call void @fn_emith(ptr @.str7447) call void @fn_emith(ptr @.str7448) 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) call void @fn_emith(ptr @.str7456) call void @fn_emith(ptr @.str7457) call void @fn_emith(ptr @.str7458) call void @fn_emith(ptr @.str7459) call void @fn_emith(ptr @.str7460) call void @fn_emith(ptr @.str7461) call void @fn_emith(ptr @.str7462) call void @fn_emith(ptr @.str7463) call void @fn_emith(ptr @.str7464) call void @fn_emith(ptr @.str7465) call void @fn_emith(ptr @.str7466) call void @fn_emith(ptr @.str7467) call void @fn_emith(ptr @.str7468) call void @fn_emith(ptr @.str7469) call void @fn_emith(ptr @.str7470) call void @fn_emith(ptr @.str7471) call void @fn_emith(ptr @.str7472) call void @fn_emith(ptr @.str7473) call void @fn_emith(ptr @.str7474) call void @fn_emith(ptr @.str7475) call void @fn_emith(ptr @.str7476) call void @fn_emith(ptr @.str7477) call void @fn_emith(ptr @.str7478) call void @fn_emith(ptr @.str7479) call void @fn_emith(ptr @.str7480) call void @fn_emith(ptr @.str7481) call void @fn_emith(ptr @.str7482) call void @fn_emith(ptr @.str7483) call void @fn_emith(ptr @.str7484) call void @fn_emith(ptr @.str7485) call void @fn_emith(ptr @.str7486) call void @fn_emith(ptr @.str7487) call void @fn_emith(ptr @.str7488) call void @fn_emith(ptr @.str7489) call void @fn_emith(ptr @.str7490) call void @fn_emith(ptr @.str7491) 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) 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) 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) 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) call void @fn_emith(ptr @.str7571) call void @fn_emith(ptr @.str7572) call void @fn_emith(ptr @.str7573) call void @fn_emith(ptr @.str7574) call void @fn_emith(ptr @.str7575) call void @fn_emith(ptr @.str7576) call void @fn_emith(ptr @.str7577) call void @fn_emith(ptr @.str7578) call void @fn_emith(ptr @.str7579) call void @fn_emith(ptr @.str7580) call void @fn_emith(ptr @.str7581) call void @fn_emith(ptr @.str7582) call void @fn_emith(ptr @.str7583) call void @fn_emith(ptr @.str7584) call void @fn_emith(ptr @.str7585) call void @fn_emith(ptr @.str7586) call void @fn_emith(ptr @.str7587) call void @fn_emith(ptr @.str7588) call void @fn_emith(ptr @.str7589) call void @fn_emith(ptr @.str7590) call void @fn_emith(ptr @.str7591) call void @fn_emith(ptr @.str7592) call void @fn_emith(ptr @.str7593) call void @fn_emith(ptr @.str7594) call void @fn_emith(ptr @.str7595) call void @fn_emith(ptr @.str7596) call void @fn_emith(ptr @.str7597) call void @fn_emith(ptr @.str7598) call void @fn_emith(ptr @.str7599) br label %ret ret: ret void } define void @fn_emit_fence_frame() { entry: call void @fn_emith(ptr @.str7600) call void @fn_emith(ptr @.str7601) call void @fn_emith(ptr @.str7602) call void @fn_emith(ptr @.str7603) call void @fn_emith(ptr @.str7604) call void @fn_emith(ptr @.str7605) call void @fn_emith(ptr @.str7606) call void @fn_emith(ptr @.str7607) call void @fn_emith(ptr @.str7608) call void @fn_emith(ptr @.str7609) call void @fn_emith(ptr @.str7610) call void @fn_emith(ptr @.str7611) call void @fn_emith(ptr @.str7612) call void @fn_emith(ptr @.str7613) call void @fn_emith(ptr @.str7614) call void @fn_emith(ptr @.str7615) call void @fn_emith(ptr @.str7616) call void @fn_emith(ptr @.str7617) call void @fn_emith(ptr @.str7618) call void @fn_emith(ptr @.str7619) call void @fn_emith(ptr @.str7620) call void @fn_emith(ptr @.str7621) call void @fn_emith(ptr @.str7622) call void @fn_emith(ptr @.str7623) call void @fn_emith(ptr @.str7624) call void @fn_emith(ptr @.str7625) call void @fn_emith(ptr @.str7626) call void @fn_emith(ptr @.str7627) call void @fn_emith(ptr @.str7628) call void @fn_emith(ptr @.str7629) call void @fn_emith(ptr @.str7630) call void @fn_emith(ptr @.str7631) call void @fn_emith(ptr @.str7632) call void @fn_emith(ptr @.str7633) call void @fn_emith(ptr @.str7634) call void @fn_emith(ptr @.str7635) call void @fn_emith(ptr @.str7636) call void @fn_emith(ptr @.str7637) call void @fn_emith(ptr @.str7638) call void @fn_emith(ptr @.str7639) call void @fn_emith(ptr @.str7640) call void @fn_emith(ptr @.str7641) call void @fn_emith(ptr @.str7642) call void @fn_emith(ptr @.str7643) call void @fn_emith(ptr @.str7644) call void @fn_emith(ptr @.str7645) call void @fn_emith(ptr @.str7646) call void @fn_emith(ptr @.str7647) call void @fn_emith(ptr @.str7648) call void @fn_emith(ptr @.str7649) call void @fn_emith(ptr @.str7650) call void @fn_emith(ptr @.str7651) call void @fn_emith(ptr @.str7652) call void @fn_emith(ptr @.str7653) call void @fn_emith(ptr @.str7654) call void @fn_emith(ptr @.str7655) call void @fn_emith(ptr @.str7656) call void @fn_emith(ptr @.str7657) call void @fn_emith(ptr @.str7658) call void @fn_emith(ptr @.str7659) call void @fn_emith(ptr @.str7660) call void @fn_emith(ptr @.str7661) call void @fn_emith(ptr @.str7662) call void @fn_emith(ptr @.str7663) call void @fn_emith(ptr @.str7664) call void @fn_emith(ptr @.str7665) call void @fn_emith(ptr @.str7666) call void @fn_emith(ptr @.str7667) call void @fn_emith(ptr @.str7668) call void @fn_emith(ptr @.str7669) call void @fn_emith(ptr @.str7670) call void @fn_emith(ptr @.str7671) call void @fn_emith(ptr @.str7672) call void @fn_emith(ptr @.str7673) call void @fn_emith(ptr @.str7674) call void @fn_emith(ptr @.str7675) call void @fn_emith(ptr @.str7676) call void @fn_emith(ptr @.str7677) call void @fn_emith(ptr @.str7678) call void @fn_emith(ptr @.str7679) call void @fn_emith(ptr @.str7680) call void @fn_emith(ptr @.str7681) call void @fn_emith(ptr @.str7682) call void @fn_emith(ptr @.str7683) call void @fn_emith(ptr @.str7684) call void @fn_emith(ptr @.str7685) call void @fn_emith(ptr @.str7686) call void @fn_emith(ptr @.str7687) call void @fn_emith(ptr @.str7688) call void @fn_emith(ptr @.str7689) call void @fn_emith(ptr @.str7690) call void @fn_emith(ptr @.str7691) call void @fn_emith(ptr @.str7692) call void @fn_emith(ptr @.str7693) call void @fn_emith(ptr @.str7694) call void @fn_emith(ptr @.str7695) call void @fn_emith(ptr @.str7696) call void @fn_emith(ptr @.str7697) call void @fn_emith(ptr @.str7698) call void @fn_emith(ptr @.str7699) call void @fn_emith(ptr @.str7700) call void @fn_emith(ptr @.str7701) call void @fn_emith(ptr @.str7702) call void @fn_emith(ptr @.str7703) call void @fn_emith(ptr @.str7704) call void @fn_emith(ptr @.str7705) call void @fn_emith(ptr @.str7706) call void @fn_emith(ptr @.str7707) call void @fn_emith(ptr @.str7708) call void @fn_emith(ptr @.str7709) call void @fn_emith(ptr @.str7710) call void @fn_emith(ptr @.str7711) call void @fn_emith(ptr @.str7712) call void @fn_emith(ptr @.str7713) call void @fn_emith(ptr @.str7714) call void @fn_emith(ptr @.str7715) call void @fn_emith(ptr @.str7716) call void @fn_emith(ptr @.str7717) call void @fn_emith(ptr @.str7718) call void @fn_emith(ptr @.str7719) call void @fn_emith(ptr @.str7720) call void @fn_emith(ptr @.str7721) call void @fn_emith(ptr @.str7722) call void @fn_emith(ptr @.str7723) call void @fn_emith(ptr @.str7724) call void @fn_emith(ptr @.str7725) call void @fn_emith(ptr @.str7726) call void @fn_emith(ptr @.str7727) call void @fn_emith(ptr @.str7728) call void @fn_emith(ptr @.str7729) call void @fn_emith(ptr @.str7730) call void @fn_emith(ptr @.str7731) call void @fn_emith(ptr @.str7732) call void @fn_emith(ptr @.str7733) call void @fn_emith(ptr @.str7734) call void @fn_emith(ptr @.str7735) call void @fn_emith(ptr @.str7736) call void @fn_emith(ptr @.str7737) call void @fn_emith(ptr @.str7738) call void @fn_emith(ptr @.str7739) call void @fn_emith(ptr @.str7740) call void @fn_emith(ptr @.str7741) call void @fn_emith(ptr @.str7742) call void @fn_emith(ptr @.str7743) call void @fn_emith(ptr @.str7744) call void @fn_emith(ptr @.str7745) call void @fn_emith(ptr @.str7746) call void @fn_emith(ptr @.str7747) call void @fn_emith(ptr @.str7748) call void @fn_emith(ptr @.str7749) call void @fn_emith(ptr @.str7750) call void @fn_emith(ptr @.str7751) call void @fn_emith(ptr @.str7752) call void @fn_emith(ptr @.str7753) call void @fn_emith(ptr @.str7754) call void @fn_emith(ptr @.str7755) call void @fn_emith(ptr @.str7756) call void @fn_emith(ptr @.str7757) call void @fn_emith(ptr @.str7758) call void @fn_emith(ptr @.str7759) call void @fn_emith(ptr @.str7760) call void @fn_emith(ptr @.str7761) call void @fn_emith(ptr @.str7762) call void @fn_emith(ptr @.str7763) call void @fn_emith(ptr @.str7764) call void @fn_emith(ptr @.str7765) call void @fn_emith(ptr @.str7766) call void @fn_emith(ptr @.str7767) call void @fn_emith(ptr @.str7768) call void @fn_emith(ptr @.str7769) call void @fn_emith(ptr @.str7770) call void @fn_emith(ptr @.str7771) call void @fn_emith(ptr @.str7772) call void @fn_emith(ptr @.str7773) call void @fn_emith(ptr @.str7774) call void @fn_emith(ptr @.str7775) call void @fn_emith(ptr @.str7776) call void @fn_emith(ptr @.str7777) call void @fn_emith(ptr @.str7778) call void @fn_emith(ptr @.str7779) call void @fn_emith(ptr @.str7780) call void @fn_emith(ptr @.str7781) call void @fn_emith(ptr @.str7782) call void @fn_emith(ptr @.str7783) call void @fn_emith(ptr @.str7784) call void @fn_emith(ptr @.str7785) call void @fn_emith(ptr @.str7786) call void @fn_emith(ptr @.str7787) call void @fn_emith(ptr @.str7788) call void @fn_emith(ptr @.str7789) call void @fn_emith(ptr @.str7790) call void @fn_emith(ptr @.str7791) call void @fn_emith(ptr @.str7792) call void @fn_emith(ptr @.str7793) call void @fn_emith(ptr @.str7794) call void @fn_emith(ptr @.str7795) call void @fn_emith(ptr @.str7796) call void @fn_emith(ptr @.str7797) call void @fn_emith(ptr @.str7798) call void @fn_emith(ptr @.str7799) call void @fn_emith(ptr @.str7800) call void @fn_emith(ptr @.str7801) call void @fn_emith(ptr @.str7802) call void @fn_emith(ptr @.str7803) call void @fn_emith(ptr @.str7804) call void @fn_emith(ptr @.str7805) call void @fn_emith(ptr @.str7806) call void @fn_emith(ptr @.str7807) call void @fn_emith(ptr @.str7808) call void @fn_emith(ptr @.str7809) call void @fn_emith(ptr @.str7810) call void @fn_emith(ptr @.str7811) call void @fn_emith(ptr @.str7812) call void @fn_emith(ptr @.str7813) call void @fn_emith(ptr @.str7814) call void @fn_emith(ptr @.str7815) call void @fn_emith(ptr @.str7816) call void @fn_emith(ptr @.str7817) call void @fn_emith(ptr @.str7818) call void @fn_emith(ptr @.str7819) call void @fn_emith(ptr @.str7820) call void @fn_emith(ptr @.str7821) call void @fn_emith(ptr @.str7822) call void @fn_emith(ptr @.str7823) call void @fn_emith(ptr @.str7824) call void @fn_emith(ptr @.str7825) call void @fn_emith(ptr @.str7826) call void @fn_emith(ptr @.str7827) call void @fn_emith(ptr @.str7828) call void @fn_emith(ptr @.str7829) call void @fn_emith(ptr @.str7830) call void @fn_emith(ptr @.str7831) call void @fn_emith(ptr @.str7832) call void @fn_emith(ptr @.str7833) call void @fn_emith(ptr @.str7834) call void @fn_emith(ptr @.str7835) call void @fn_emith(ptr @.str7836) call void @fn_emith(ptr @.str7837) call void @fn_emith(ptr @.str7838) call void @fn_emith(ptr @.str7839) call void @fn_emith(ptr @.str7840) call void @fn_emith(ptr @.str7841) call void @fn_emith(ptr @.str7842) call void @fn_emith(ptr @.str7843) call void @fn_emith(ptr @.str7844) call void @fn_emith(ptr @.str7845) call void @fn_emith(ptr @.str7846) call void @fn_emith(ptr @.str7847) call void @fn_emith(ptr @.str7848) call void @fn_emith(ptr @.str7849) call void @fn_emith(ptr @.str7850) call void @fn_emith(ptr @.str7851) call void @fn_emith(ptr @.str7852) call void @fn_emith(ptr @.str7853) call void @fn_emith(ptr @.str7854) call void @fn_emith(ptr @.str7855) call void @fn_emith(ptr @.str7856) call void @fn_emith(ptr @.str7857) call void @fn_emith(ptr @.str7858) call void @fn_emith(ptr @.str7859) call void @fn_emith(ptr @.str7860) call void @fn_emith(ptr @.str7861) call void @fn_emith(ptr @.str7862) call void @fn_emith(ptr @.str7863) call void @fn_emith(ptr @.str7864) call void @fn_emith(ptr @.str7865) call void @fn_emith(ptr @.str7866) call void @fn_emith(ptr @.str7867) call void @fn_emith(ptr @.str7868) call void @fn_emith(ptr @.str7869) call void @fn_emith(ptr @.str7870) call void @fn_emith(ptr @.str7871) call void @fn_emith(ptr @.str7872) call void @fn_emith(ptr @.str7873) call void @fn_emith(ptr @.str7874) call void @fn_emith(ptr @.str7875) call void @fn_emith(ptr @.str7876) call void @fn_emith(ptr @.str7877) call void @fn_emith(ptr @.str7878) call void @fn_emith(ptr @.str7879) call void @fn_emith(ptr @.str7880) call void @fn_emith(ptr @.str7881) call void @fn_emith(ptr @.str7882) call void @fn_emith(ptr @.str7883) call void @fn_emith(ptr @.str7884) call void @fn_emith(ptr @.str7885) call void @fn_emith(ptr @.str7886) call void @fn_emith(ptr @.str7887) call void @fn_emith(ptr @.str7888) call void @fn_emith(ptr @.str7889) call void @fn_emith(ptr @.str7890) call void @fn_emith(ptr @.str7891) call void @fn_emith(ptr @.str7892) call void @fn_emith(ptr @.str7893) call void @fn_emith(ptr @.str7894) call void @fn_emith(ptr @.str7895) call void @fn_emith(ptr @.str7896) call void @fn_emith(ptr @.str7897) call void @fn_emith(ptr @.str7898) call void @fn_emith(ptr @.str7899) call void @fn_emith(ptr @.str7900) call void @fn_emith(ptr @.str7901) call void @fn_emith(ptr @.str7902) call void @fn_emith(ptr @.str7903) call void @fn_emith(ptr @.str7904) call void @fn_emith(ptr @.str7905) call void @fn_emith(ptr @.str7906) call void @fn_emith(ptr @.str7907) call void @fn_emith(ptr @.str7908) call void @fn_emith(ptr @.str7909) call void @fn_emith(ptr @.str7910) call void @fn_emith(ptr @.str7911) call void @fn_emith(ptr @.str7912) call void @fn_emith(ptr @.str7913) call void @fn_emith(ptr @.str7914) call void @fn_emith(ptr @.str7915) call void @fn_emith(ptr @.str7916) call void @fn_emith(ptr @.str7917) call void @fn_emith(ptr @.str7918) call void @fn_emith(ptr @.str7919) call void @fn_emith(ptr @.str7920) call void @fn_emith(ptr @.str7921) call void @fn_emith(ptr @.str7922) call void @fn_emith(ptr @.str7923) call void @fn_emith(ptr @.str7924) call void @fn_emith(ptr @.str7925) call void @fn_emith(ptr @.str7926) call void @fn_emith(ptr @.str7927) call void @fn_emith(ptr @.str7928) call void @fn_emith(ptr @.str7929) call void @fn_emith(ptr @.str7930) call void @fn_emith(ptr @.str7931) call void @fn_emith(ptr @.str7932) call void @fn_emith(ptr @.str7933) call void @fn_emith(ptr @.str7934) call void @fn_emith(ptr @.str7935) call void @fn_emith(ptr @.str7936) call void @fn_emith(ptr @.str7937) call void @fn_emith(ptr @.str7938) call void @fn_emith(ptr @.str7939) call void @fn_emith(ptr @.str7940) call void @fn_emith(ptr @.str7941) call void @fn_emith(ptr @.str7942) call void @fn_emith(ptr @.str7943) call void @fn_emith(ptr @.str7944) call void @fn_emith(ptr @.str7945) call void @fn_emith(ptr @.str7946) call void @fn_emith(ptr @.str7947) call void @fn_emith(ptr @.str7948) call void @fn_emith(ptr @.str7949) call void @fn_emith(ptr @.str7950) call void @fn_emith(ptr @.str7951) call void @fn_emith(ptr @.str7952) call void @fn_emith(ptr @.str7953) call void @fn_emith(ptr @.str7954) call void @fn_emith(ptr @.str7955) call void @fn_emith(ptr @.str7956) call void @fn_emith(ptr @.str7957) call void @fn_emith(ptr @.str7958) call void @fn_emith(ptr @.str7959) call void @fn_emith(ptr @.str7960) call void @fn_emith(ptr @.str7961) call void @fn_emith(ptr @.str7962) call void @fn_emith(ptr @.str7963) call void @fn_emith(ptr @.str7964) call void @fn_emith(ptr @.str7965) call void @fn_emith(ptr @.str7966) call void @fn_emith(ptr @.str7967) call void @fn_emith(ptr @.str7968) call void @fn_emith(ptr @.str7969) call void @fn_emith(ptr @.str7970) call void @fn_emith(ptr @.str7971) call void @fn_emith(ptr @.str7972) call void @fn_emith(ptr @.str7973) call void @fn_emith(ptr @.str7974) call void @fn_emith(ptr @.str7975) call void @fn_emith(ptr @.str7976) call void @fn_emith(ptr @.str7977) call void @fn_emith(ptr @.str7978) call void @fn_emith(ptr @.str7979) call void @fn_emith(ptr @.str7980) call void @fn_emith(ptr @.str7981) call void @fn_emith(ptr @.str7982) call void @fn_emith(ptr @.str7983) call void @fn_emith(ptr @.str7984) call void @fn_emith(ptr @.str7985) call void @fn_emith(ptr @.str7986) call void @fn_emith(ptr @.str7987) call void @fn_emith(ptr @.str7988) call void @fn_emith(ptr @.str7989) call void @fn_emith(ptr @.str7990) call void @fn_emith(ptr @.str7991) call void @fn_emith(ptr @.str7992) call void @fn_emith(ptr @.str7993) call void @fn_emith(ptr @.str7994) call void @fn_emith(ptr @.str7995) call void @fn_emith(ptr @.str7996) call void @fn_emith(ptr @.str7997) call void @fn_emith(ptr @.str7998) call void @fn_emith(ptr @.str7999) call void @fn_emith(ptr @.str8000) call void @fn_emith(ptr @.str8001) call void @fn_emith(ptr @.str8002) call void @fn_emith(ptr @.str8003) call void @fn_emith(ptr @.str8004) call void @fn_emith(ptr @.str8005) call void @fn_emith(ptr @.str8006) call void @fn_emith(ptr @.str8007) call void @fn_emith(ptr @.str8008) call void @fn_emith(ptr @.str8009) call void @fn_emith(ptr @.str8010) call void @fn_emith(ptr @.str8011) call void @fn_emith(ptr @.str8012) call void @fn_emith(ptr @.str8013) call void @fn_emith(ptr @.str8014) call void @fn_emith(ptr @.str8015) call void @fn_emith(ptr @.str8016) call void @fn_emith(ptr @.str8017) call void @fn_emith(ptr @.str8018) call void @fn_emith(ptr @.str8019) call void @fn_emith(ptr @.str8020) call void @fn_emith(ptr @.str8021) call void @fn_emith(ptr @.str8022) call void @fn_emith(ptr @.str8023) call void @fn_emith(ptr @.str8024) call void @fn_emith(ptr @.str8025) call void @fn_emith(ptr @.str8026) call void @fn_emith(ptr @.str8027) call void @fn_emith(ptr @.str8028) call void @fn_emith(ptr @.str8029) call void @fn_emith(ptr @.str8030) call void @fn_emith(ptr @.str8031) call void @fn_emith(ptr @.str8032) call void @fn_emith(ptr @.str8033) call void @fn_emith(ptr @.str8034) call void @fn_emith(ptr @.str8035) call void @fn_emith(ptr @.str8036) call void @fn_emith(ptr @.str8037) call void @fn_emith(ptr @.str8038) call void @fn_emith(ptr @.str8039) call void @fn_emith(ptr @.str8040) call void @fn_emith(ptr @.str8041) call void @fn_emith(ptr @.str8042) call void @fn_emith(ptr @.str8043) call void @fn_emith(ptr @.str8044) call void @fn_emith(ptr @.str8045) call void @fn_emith(ptr @.str8046) call void @fn_emith(ptr @.str8047) call void @fn_emith(ptr @.str8048) call void @fn_emith(ptr @.str8049) call void @fn_emith(ptr @.str8050) call void @fn_emith(ptr @.str8051) call void @fn_emith(ptr @.str8052) call void @fn_emith(ptr @.str8053) call void @fn_emith(ptr @.str8054) call void @fn_emith(ptr @.str8055) call void @fn_emith(ptr @.str8056) call void @fn_emith(ptr @.str8057) call void @fn_emith(ptr @.str8058) call void @fn_emith(ptr @.str8059) call void @fn_emith(ptr @.str8060) call void @fn_emith(ptr @.str8061) call void @fn_emith(ptr @.str8062) call void @fn_emith(ptr @.str8063) call void @fn_emith(ptr @.str8064) call void @fn_emith(ptr @.str8065) call void @fn_emith(ptr @.str8066) call void @fn_emith(ptr @.str8067) call void @fn_emith(ptr @.str8068) call void @fn_emith(ptr @.str8069) call void @fn_emith(ptr @.str8070) call void @fn_emith(ptr @.str8071) call void @fn_emith(ptr @.str8072) call void @fn_emith(ptr @.str8073) call void @fn_emith(ptr @.str8074) call void @fn_emith(ptr @.str8075) call void @fn_emith(ptr @.str8076) call void @fn_emith(ptr @.str8077) call void @fn_emith(ptr @.str8078) call void @fn_emith(ptr @.str8079) call void @fn_emith(ptr @.str8080) call void @fn_emith(ptr @.str8081) call void @fn_emith(ptr @.str8082) call void @fn_emith(ptr @.str8083) call void @fn_emith(ptr @.str8084) call void @fn_emith(ptr @.str8085) call void @fn_emith(ptr @.str8086) call void @fn_emith(ptr @.str8087) call void @fn_emith(ptr @.str8088) call void @fn_emith(ptr @.str8089) call void @fn_emith(ptr @.str8090) call void @fn_emith(ptr @.str8091) call void @fn_emith(ptr @.str8092) call void @fn_emith(ptr @.str8093) call void @fn_emith(ptr @.str8094) call void @fn_emith(ptr @.str8095) call void @fn_emith(ptr @.str8096) call void @fn_emith(ptr @.str8097) call void @fn_emith(ptr @.str8098) call void @fn_emith(ptr @.str8099) call void @fn_emith(ptr @.str8100) call void @fn_emith(ptr @.str8101) call void @fn_emith(ptr @.str8102) call void @fn_emith(ptr @.str8103) call void @fn_emith(ptr @.str8104) call void @fn_emith(ptr @.str8105) call void @fn_emith(ptr @.str8106) call void @fn_emith(ptr @.str8107) call void @fn_emith(ptr @.str8108) call void @fn_emith(ptr @.str8109) call void @fn_emith(ptr @.str8110) call void @fn_emith(ptr @.str8111) call void @fn_emith(ptr @.str8112) call void @fn_emith(ptr @.str8113) call void @fn_emith(ptr @.str8114) call void @fn_emith(ptr @.str8115) call void @fn_emith(ptr @.str8116) call void @fn_emith(ptr @.str8117) call void @fn_emith(ptr @.str8118) call void @fn_emith(ptr @.str8119) call void @fn_emith(ptr @.str8120) call void @fn_emith(ptr @.str8121) call void @fn_emith(ptr @.str8122) call void @fn_emith(ptr @.str8123) call void @fn_emith(ptr @.str8124) call void @fn_emith(ptr @.str8125) call void @fn_emith(ptr @.str8126) call void @fn_emith(ptr @.str8127) call void @fn_emith(ptr @.str8128) call void @fn_emith(ptr @.str8129) call void @fn_emith(ptr @.str8130) call void @fn_emith(ptr @.str8131) call void @fn_emith(ptr @.str8132) call void @fn_emith(ptr @.str8133) call void @fn_emith(ptr @.str8134) call void @fn_emith(ptr @.str8135) call void @fn_emith(ptr @.str8136) call void @fn_emith(ptr @.str8137) call void @fn_emith(ptr @.str8138) call void @fn_emith(ptr @.str8139) call void @fn_emith(ptr @.str8140) call void @fn_emith(ptr @.str8141) call void @fn_emith(ptr @.str8142) call void @fn_emith(ptr @.str8143) call void @fn_emith(ptr @.str8144) call void @fn_emith(ptr @.str8145) call void @fn_emith(ptr @.str8146) call void @fn_emith(ptr @.str8147) call void @fn_emith(ptr @.str8148) call void @fn_emith(ptr @.str8149) call void @fn_emith(ptr @.str8150) call void @fn_emith(ptr @.str8151) call void @fn_emith(ptr @.str8152) call void @fn_emith(ptr @.str8153) call void @fn_emith(ptr @.str8154) call void @fn_emith(ptr @.str8155) call void @fn_emith(ptr @.str8156) call void @fn_emith(ptr @.str8157) call void @fn_emith(ptr @.str8158) call void @fn_emith(ptr @.str8159) call void @fn_emith(ptr @.str8160) call void @fn_emith(ptr @.str8161) call void @fn_emith(ptr @.str8162) call void @fn_emith(ptr @.str8163) call void @fn_emith(ptr @.str8164) call void @fn_emith(ptr @.str8165) call void @fn_emith(ptr @.str8166) call void @fn_emith(ptr @.str8167) call void @fn_emith(ptr @.str8168) call void @fn_emith(ptr @.str8169) call void @fn_emith(ptr @.str8170) call void @fn_emith(ptr @.str8171) call void @fn_emith(ptr @.str8172) call void @fn_emith(ptr @.str8173) call void @fn_emith(ptr @.str8174) call void @fn_emith(ptr @.str8175) call void @fn_emith(ptr @.str8176) call void @fn_emith(ptr @.str8177) call void @fn_emith(ptr @.str8178) call void @fn_emith(ptr @.str8179) call void @fn_emith(ptr @.str8180) call void @fn_emith(ptr @.str8181) call void @fn_emith(ptr @.str8182) call void @fn_emith(ptr @.str8183) call void @fn_emith(ptr @.str8184) call void @fn_emith(ptr @.str8185) call void @fn_emith(ptr @.str8186) call void @fn_emith(ptr @.str8187) call void @fn_emith(ptr @.str8188) call void @fn_emith(ptr @.str8189) call void @fn_emith(ptr @.str8190) call void @fn_emith(ptr @.str8191) call void @fn_emith(ptr @.str8192) call void @fn_emith(ptr @.str8193) call void @fn_emith(ptr @.str8194) call void @fn_emith(ptr @.str8195) call void @fn_emith(ptr @.str8196) call void @fn_emith(ptr @.str8197) call void @fn_emith(ptr @.str8198) call void @fn_emith(ptr @.str8199) call void @fn_emith(ptr @.str8200) call void @fn_emith(ptr @.str8201) call void @fn_emith(ptr @.str8202) call void @fn_emith(ptr @.str8203) call void @fn_emith(ptr @.str8204) call void @fn_emith(ptr @.str8205) call void @fn_emith(ptr @.str8206) call void @fn_emith(ptr @.str8207) call void @fn_emith(ptr @.str8208) call void @fn_emith(ptr @.str8209) call void @fn_emith(ptr @.str8210) call void @fn_emith(ptr @.str8211) call void @fn_emith(ptr @.str8212) call void @fn_emith(ptr @.str8213) call void @fn_emith(ptr @.str8214) call void @fn_emith(ptr @.str8215) call void @fn_emith(ptr @.str8216) call void @fn_emith(ptr @.str8217) call void @fn_emith(ptr @.str8218) call void @fn_emith(ptr @.str8219) call void @fn_emith(ptr @.str8220) call void @fn_emith(ptr @.str8221) call void @fn_emith(ptr @.str8222) call void @fn_emith(ptr @.str8223) call void @fn_emith(ptr @.str8224) call void @fn_emith(ptr @.str8225) call void @fn_emith(ptr @.str8226) call void @fn_emith(ptr @.str8227) call void @fn_emith(ptr @.str8228) call void @fn_emith(ptr @.str8229) call void @fn_emith(ptr @.str8230) call void @fn_emith(ptr @.str8231) call void @fn_emith(ptr @.str8232) call void @fn_emith(ptr @.str8233) call void @fn_emith(ptr @.str8234) call void @fn_emith(ptr @.str8235) call void @fn_emith(ptr @.str8236) call void @fn_emith(ptr @.str8237) call void @fn_emith(ptr @.str8238) call void @fn_emith(ptr @.str8239) call void @fn_emith(ptr @.str8240) call void @fn_emith(ptr @.str8241) call void @fn_emith(ptr @.str8242) call void @fn_emith(ptr @.str8243) call void @fn_emith(ptr @.str8244) call void @fn_emith(ptr @.str8245) call void @fn_emith(ptr @.str8246) call void @fn_emith(ptr @.str8247) call void @fn_emith(ptr @.str8248) call void @fn_emith(ptr @.str8249) call void @fn_emith(ptr @.str8250) call void @fn_emith(ptr @.str8251) call void @fn_emith(ptr @.str8252) call void @fn_emith(ptr @.str8253) call void @fn_emith(ptr @.str8254) call void @fn_emith(ptr @.str8255) call void @fn_emith(ptr @.str8256) br label %ret ret: ret void } define void @fn_emit_fence_win() { entry: call void @fn_emith(ptr @.str8257) call void @fn_emith(ptr @.str8258) call void @fn_emith(ptr @.str8259) call void @fn_emith(ptr @.str8260) call void @fn_emith(ptr @.str8261) call void @fn_emith(ptr @.str8262) call void @fn_emith(ptr @.str8263) call void @fn_emith(ptr @.str8264) call void @fn_emith(ptr @.str8265) call void @fn_emith(ptr @.str8266) call void @fn_emith(ptr @.str8267) call void @fn_emith(ptr @.str8268) call void @fn_emith(ptr @.str8269) call void @fn_emith(ptr @.str8270) call void @fn_emith(ptr @.str8271) call void @fn_emith(ptr @.str8272) call void @fn_emith(ptr @.str8273) call void @fn_emith(ptr @.str8274) call void @fn_emith(ptr @.str8275) call void @fn_emith(ptr @.str8276) call void @fn_emith(ptr @.str8277) call void @fn_emith(ptr @.str8278) call void @fn_emith(ptr @.str8279) call void @fn_emith(ptr @.str8280) call void @fn_emith(ptr @.str8281) call void @fn_emith(ptr @.str8282) call void @fn_emith(ptr @.str8283) call void @fn_emith(ptr @.str8284) call void @fn_emith(ptr @.str8285) call void @fn_emith(ptr @.str8286) call void @fn_emith(ptr @.str8287) call void @fn_emith(ptr @.str8288) call void @fn_emith(ptr @.str8289) call void @fn_emith(ptr @.str8290) call void @fn_emith(ptr @.str8291) call void @fn_emith(ptr @.str8292) call void @fn_emith(ptr @.str8293) call void @fn_emith(ptr @.str8294) call void @fn_emith(ptr @.str8295) call void @fn_emith(ptr @.str8296) call void @fn_emith(ptr @.str8297) call void @fn_emith(ptr @.str8298) call void @fn_emith(ptr @.str8299) call void @fn_emith(ptr @.str8300) call void @fn_emith(ptr @.str8301) call void @fn_emith(ptr @.str8302) call void @fn_emith(ptr @.str8303) call void @fn_emith(ptr @.str8304) call void @fn_emith(ptr @.str8305) call void @fn_emith(ptr @.str8306) call void @fn_emith(ptr @.str8307) call void @fn_emith(ptr @.str8308) call void @fn_emith(ptr @.str8309) call void @fn_emith(ptr @.str8310) call void @fn_emith(ptr @.str8311) call void @fn_emith(ptr @.str8312) call void @fn_emith(ptr @.str8313) call void @fn_emith(ptr @.str8314) call void @fn_emith(ptr @.str8315) call void @fn_emith(ptr @.str8316) call void @fn_emith(ptr @.str8317) br label %ret ret: ret void } define void @fn_emit_fence_intern() { entry: call void @fn_emith(ptr @.str8318) call void @fn_emith(ptr @.str8319) call void @fn_emith(ptr @.str8320) call void @fn_emith(ptr @.str8321) call void @fn_emith(ptr @.str8322) call void @fn_emith(ptr @.str8323) call void @fn_emith(ptr @.str8324) call void @fn_emith(ptr @.str8325) call void @fn_emith(ptr @.str8326) call void @fn_emith(ptr @.str8327) call void @fn_emith(ptr @.str8328) call void @fn_emith(ptr @.str8329) call void @fn_emith(ptr @.str8330) call void @fn_emith(ptr @.str8331) call void @fn_emith(ptr @.str8332) call void @fn_emith(ptr @.str8333) call void @fn_emith(ptr @.str8334) call void @fn_emith(ptr @.str8335) call void @fn_emith(ptr @.str8336) call void @fn_emith(ptr @.str8337) call void @fn_emith(ptr @.str8338) call void @fn_emith(ptr @.str8339) call void @fn_emith(ptr @.str8340) call void @fn_emith(ptr @.str8341) call void @fn_emith(ptr @.str8342) call void @fn_emith(ptr @.str8343) call void @fn_emith(ptr @.str8344) call void @fn_emith(ptr @.str8345) call void @fn_emith(ptr @.str8346) call void @fn_emith(ptr @.str8347) call void @fn_emith(ptr @.str8348) call void @fn_emith(ptr @.str8349) call void @fn_emith(ptr @.str8350) call void @fn_emith(ptr @.str8351) call void @fn_emith(ptr @.str8352) call void @fn_emith(ptr @.str8353) call void @fn_emith(ptr @.str8354) call void @fn_emith(ptr @.str8355) call void @fn_emith(ptr @.str8356) call void @fn_emith(ptr @.str8357) call void @fn_emith(ptr @.str8358) call void @fn_emith(ptr @.str8359) call void @fn_emith(ptr @.str8360) call void @fn_emith(ptr @.str8361) call void @fn_emith(ptr @.str8362) call void @fn_emith(ptr @.str8363) call void @fn_emith(ptr @.str8364) call void @fn_emith(ptr @.str8365) call void @fn_emith(ptr @.str8366) call void @fn_emith(ptr @.str8367) call void @fn_emith(ptr @.str8368) call void @fn_emith(ptr @.str8369) call void @fn_emith(ptr @.str8370) call void @fn_emith(ptr @.str8371) call void @fn_emith(ptr @.str8372) call void @fn_emith(ptr @.str8373) call void @fn_emith(ptr @.str8374) call void @fn_emith(ptr @.str8375) call void @fn_emith(ptr @.str8376) call void @fn_emith(ptr @.str8377) call void @fn_emith(ptr @.str8378) call void @fn_emith(ptr @.str8379) call void @fn_emith(ptr @.str8380) call void @fn_emith(ptr @.str8381) call void @fn_emith(ptr @.str8382) call void @fn_emith(ptr @.str8383) call void @fn_emith(ptr @.str8384) call void @fn_emith(ptr @.str8385) call void @fn_emith(ptr @.str8386) call void @fn_emith(ptr @.str8387) call void @fn_emith(ptr @.str8388) call void @fn_emith(ptr @.str8389) call void @fn_emith(ptr @.str8390) call void @fn_emith(ptr @.str8391) call void @fn_emith(ptr @.str8392) call void @fn_emith(ptr @.str8393) call void @fn_emith(ptr @.str8394) call void @fn_emith(ptr @.str8395) call void @fn_emith(ptr @.str8396) call void @fn_emith(ptr @.str8397) call void @fn_emith(ptr @.str8398) call void @fn_emith(ptr @.str8399) call void @fn_emith(ptr @.str8400) call void @fn_emith(ptr @.str8401) call void @fn_emith(ptr @.str8402) call void @fn_emith(ptr @.str8403) call void @fn_emith(ptr @.str8404) call void @fn_emith(ptr @.str8405) call void @fn_emith(ptr @.str8406) call void @fn_emith(ptr @.str8407) 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str8408, 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 3366, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str8409, 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str8411, 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 3367, 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 @.str8412) %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 @.str8413) %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 @.str8414) %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 @.str8415) %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 @.str8416) %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 @.str8417) %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 @.str8418) 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 @.str8419) %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 3368, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str8420) store i32 0, ptr @lp_site %t7 = load ptr, ptr %t1 store i32 3369, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str8422, 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 @.str8423) %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 3370, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str8425, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str8426, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str8427, 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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str8428, 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: %t254 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t254, ptr @.fmt_bounds, ptr @.str8429, 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 @.str8430) %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 @.str8431) %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 3371, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str8432, 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 @.str8434, 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 @.str8435) %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 @.str8436, 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 @.str8437) %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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str8438, 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 @.str8439, ptr %retval br label %ret ifend28: %t146 = load ptr, ptr %t110 %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str8440) %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 @.str8441) %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 @.str8442) %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 @.str8443) %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 @.str8444) %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 @.str8445) %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 @.str8446) %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 3372, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str8447) 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 3373, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str8448, ptr %t38) store i32 0, ptr @lp_site store i32 3374, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str8450) 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str8451, 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 3375, 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 3376, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str8452) 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 3377, 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 3378, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str8453) 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 3379, 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 @.str8454) %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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str8455, 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 @.str8456) %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: %t80 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str8457, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str8458, 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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str8459, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str8460, 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 3380, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str8461) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t11 store i32 3381, 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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str8463, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str8464, 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 3382, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str8465) store i32 0, ptr @lp_site %t75 = load ptr, ptr %t11 store i32 3383, 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 3384, 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 3385, 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 3386, 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 3387, 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 3388, 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 3389, 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: %t106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str8467, 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: %t201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str8469, 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 3390, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str8468, ptr %t205) store i32 0, ptr @lp_site store i32 3391, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str8470) 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 3392, 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 3393, 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: %t233 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t233, ptr @.fmt_bounds, ptr @.str8471, 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: %t245 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str8472, 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: %t262 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str8473, 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 3394, 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: %t301 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t301, ptr @.fmt_bounds, ptr @.str8474, 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: %t314 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str8475, 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: %t333 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t333, ptr @.fmt_bounds, ptr @.str8476, 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: %t345 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t345, ptr @.fmt_bounds, ptr @.str8477, 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: %t359 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str8478, 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: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str8479, 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: %t385 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str8480, 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 3395, 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: %t425 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t425, ptr @.fmt_bounds, ptr @.str8481, 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: %t436 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t436, ptr @.fmt_bounds, ptr @.str8482, 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 3396, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr @.str8483, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str8484, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str8485, 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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str8486, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str8487, 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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str8488, 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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str8489, 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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str8490, 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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str8491, 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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str8492, 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: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str8493, 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 @.str8494, 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 3397, ptr @lp_site %t233 = call ptr @lp_str_concat(ptr %t232, ptr @.str8495) 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 3398, 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 @.str8497, ptr %t241 br label %ifend54 ifend54: %t246 = load ptr, ptr %t0 %t247 = load ptr, ptr %t241 store i32 3399, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr @.str8498, ptr %t247) store i32 0, ptr @lp_site store i32 3400, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str8499) 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 3401, 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 3402, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str8500) 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 3403, 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 3404, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str8501) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t214 store i32 3405, 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 3406, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str8502) 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 3407, 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 3408, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr @.str8503, ptr %t269) store i32 0, ptr @lp_site store i32 3409, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str8504) store i32 0, ptr @lp_site call void @lp_free(ptr %t270) %t272 = load ptr, ptr %t214 store i32 3410, 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 3411, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str8505) 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 3412, 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 3413, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str8506) 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 @.str8507, 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 3414, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str8508) 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 3415, 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 3416, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str8509) store i32 0, ptr @lp_site call void @lp_free(ptr %t300) %t302 = load ptr, ptr %t279 store i32 3417, 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 3418, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str8510) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) store ptr %t304, ptr %t305 %t306 = load ptr, ptr @__stderrp %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 3419, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr @.str8511, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str8512, 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 3420, 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 3421, 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 3422, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str8514, 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 @.str8515) %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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str8516, 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 3423, 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: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str8517, 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: %t145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str8518, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str8519, 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: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str8520, 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: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str8521, 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: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str8522, 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: %t207 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t207, ptr @.fmt_bounds, ptr @.str8523, 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 3424, 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: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str8524, 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: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str8525, 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: %t268 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str8526, 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: %t297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str8527, 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: %t316 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str8528, 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: %t335 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t335, ptr @.fmt_bounds, ptr @.str8529, 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: %t352 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t352, ptr @.fmt_bounds, ptr @.str8530, 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: %t368 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t368, ptr @.fmt_bounds, ptr @.str8531, 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: %t390 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t390, ptr @.fmt_bounds, ptr @.str8532, 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 @.str8533, ptr %t461 br label %ifend97 ifend97: store ptr @.str8534, 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 3425, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr @.str8535, ptr %t472) store i32 0, ptr @lp_site store i32 3426, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str8536) 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 3427, 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 3428, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr %t478, ptr @.str8537) 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 3429, 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 3430, ptr @lp_site %t485 = call ptr @lp_str_concat(ptr %t484, ptr @.str8538) 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 3431, 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 3432, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str8539) store i32 0, ptr @lp_site call void @lp_free(ptr %t489) %t491 = load ptr, ptr %t466 store i32 3433, 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 3434, ptr @lp_site %t500 = call ptr @lp_str_concat(ptr @.str8540, 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 3435, 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 3436, 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 3437, 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 3438, 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 3439, 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 3440, 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 3441, 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 3442, 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: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str8544, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str8545, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str8546, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str8547, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str8548, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str8549, 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 3443, 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 3444, 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 3445, 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 @.str8551) %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 @.str8552) %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 @.str8553) %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 @.str8554) %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 @.str8555) %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 @.str8556) %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 @.str8557) %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 @.str8558) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %ifend5 then3: store ptr @.str8559, ptr %retval br label %ret ifend5: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str8560) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then6, label %ifend8 then6: store ptr @.str8561, ptr %retval br label %ret ifend8: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str8562) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then9, label %ifend11 then9: store ptr @.str8563, ptr %retval br label %ret ifend11: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str8564) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then12, label %ifend14 then12: store ptr @.str8565, 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 3446, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str8567, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str8568, 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_es_passes(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t7 = alloca i32 store ptr %arg_t, 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: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str8569) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t7 br i1 %t10, label %scend3, label %sc2 sc2: %t12 = load ptr, ptr %t0 %t13 = call i32 @fn_i18n_is_key_ty(ptr %t12) %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t7 br label %scend3 scend3: %t16 = load i32, ptr %t7 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t1 br label %scend1 scend1: %t19 = load i32, ptr %t1 store i32 %t19, ptr %retval br label %ret ret: %t20 = load i32, ptr %retval ret i32 %t20 } 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 @.str8570, 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 @.str8571, 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 @.str8572, 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 @.str8573, 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 @.str8574) %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 @.str8575) %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 @.str8576) %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 @.str8577) %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 @.str8578) %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 @.str8579) %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 @.str8580) %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 @.str8581) %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 @.str8582, ptr %retval br label %ret ifend60: %t170 = load ptr, ptr %t109 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str8583) %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 @.str8584, 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 @.str8585) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then76, label %ifend78 then76: store ptr @.str8586, ptr %retval br label %ret ifend78: %t226 = load ptr, ptr %t222 %t227 = call i32 @lp_str_eq(ptr %t226, ptr @.str8587) %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then79, label %ifend81 then79: store ptr @.str8588, ptr %retval br label %ret ifend81: %t233 = load ptr, ptr %t222 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str8589) %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 @.str8590) %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 @.str8591) %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 @.str8592) %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 @.str8593) %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 @.str8594) %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 @.str8595) %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 @.str8596) %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 @.str8597) %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: %t307 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t307, ptr @.fmt_bounds, ptr @.str8598, 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str8599, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str8600, 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 3447, 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 3448, 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 3449, 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 3450, 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 3451, 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 @.str8602) %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 @.str8603) %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 3452, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str8605, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str8606, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str8607, 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 3453, 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 3454, 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 @.str8608) %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 @.str8609) %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 @.str8610) %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 3455, 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 3456, 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 @.str8611) %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: %t502 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str8612, 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: %t560 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str8613, 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: %t608 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str8614, 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: %t665 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t665, ptr @.fmt_bounds, ptr @.str8615, 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: %t713 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t713, ptr @.fmt_bounds, ptr @.str8616, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str8617, 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 3457, 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 3458, 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 3459, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8619) 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str8620, 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 3460, 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 @.str8621) %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 @.str8622) %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 @.str8623) %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 @.str8624) %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 @.str8625) %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 @.str8626) %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 @.str8627) %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 @.str8628) %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 @.str8629) %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 @.str8630) %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 @.str8631) %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 @.str8632) %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 @.str8633) %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 @.str8634) %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 @.str8635) %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 @.str8636) %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 @.str8637) %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 @.str8638) %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 @.str8639) %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 @.str8640) %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 @.str8641) %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 @.str8642) %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 @.str8643) %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 @.str8644) %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 @.str8645) %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 @.str8646) %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 @.str8647) %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 @.str8648) %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 @.str8649) %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str8650, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str8651, 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 %t45 = alloca i32 %t46 = alloca i32 %t98 = alloca i32 %t112 = alloca i32 %t146 = alloca i32 %t174 = alloca i32 %t290 = alloca i32 %t291 = alloca i32 %t292 = alloca i32 %t293 = alloca i32 %t294 = alloca i32 %t295 = alloca i32 %t344 = alloca i32 %t372 = alloca i32 %t402 = alloca i32 %t451 = alloca i32 %t479 = alloca i32 %t480 = alloca i32 %t508 = alloca ptr %t516 = alloca i32 %t517 = alloca i32 %t535 = alloca i32 %t589 = alloca i32 %t612 = alloca i32 %t613 = alloca i32 %t640 = alloca ptr %t641 = alloca i32 %t742 = alloca i32 %t743 = alloca i32 %t744 = alloca i32 %t745 = alloca i32 %t807 = alloca i32 %t819 = alloca i32 %t864 = alloca i32 %t875 = alloca ptr %t898 = alloca i32 %t899 = alloca i32 %t965 = alloca i32 %t978 = alloca i32 %t979 = alloca i32 %t980 = alloca i32 %t981 = alloca i32 %t982 = alloca i32 %t1065 = alloca i32 %t1066 = 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 @.str8652) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %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 eq i32 %t51, 1 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t46 br i1 %t54, label %sc13, label %scend14 sc13: %t56 = load ptr, ptr %t4 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 12 %t58 = load i32, ptr %t57 %t59 = icmp ne i32 %t58, 91 %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 %scend14 scend14: %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 %sc15, label %scend16 sc15: %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 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 %ixok17, label %ixbad18 ixbad18: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str8653, i32 0, i32 %t72) call void @exit(i32 1) unreachable ixok17: %t75 = getelementptr inbounds ptr, ptr %t70, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_es_type(ptr %t76) %t78 = call i32 @fn_es_passes(ptr %t77) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t45 br label %scend16 scend16: %t81 = load i32, ptr %t45 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then19, label %ifend21 then19: %t83 = load ptr, ptr %t0 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 7 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp ult i32 0, %t89 br i1 %t90, label %ixok22, label %ixbad23 ixbad23: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str8654, i32 0, i32 %t89) call void @exit(i32 1) unreachable ixok22: %t92 = getelementptr inbounds ptr, ptr %t87, i32 0 %t93 = load ptr, ptr %t92 %t94 = call i32 @fn_es_val(ptr %t93) store i32 %t94, ptr %retval br label %ret ifend21: %t95 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t95) %t96 = load ptr, ptr %t0 %t97 = call i32 @fn_es_site(ptr %t96) store i32 %t97, ptr %retval br label %ret ifend12: %t99 = load ptr, ptr %t34 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str8655) %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t98 br i1 %t101, label %scend25, label %sc24 sc24: %t103 = load ptr, ptr %t34 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str8656) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t98 br label %scend25 scend25: %t107 = load i32, ptr %t98 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then26, label %ifend28 then26: %t109 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t109) %t110 = load ptr, ptr %t0 %t111 = call i32 @fn_es_site(ptr %t110) store i32 %t111, ptr %t112 %t113 = load ptr, ptr @g_g_es_flag %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 %ixok29, label %ixbad30 ixbad30: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str8657, i32 %t114, i32 %t118) call void @exit(i32 1) unreachable ixok29: %t121 = getelementptr inbounds i32, ptr %t116, i32 %t114 %t122 = load ptr, ptr @g_g_es_flag %t123 = load i32, ptr %t112 %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 %ixok31, label %ixbad32 ixbad32: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str8658, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok31: %t130 = getelementptr inbounds i32, ptr %t125, i32 %t123 %t131 = load i32, ptr %t130 %t132 = or i32 %t131, 1 store i32 %t132, ptr %t121 %t133 = load ptr, ptr @g_g_es_site_aok %t134 = load ptr, ptr @g_g_es_site_aok %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = sub i32 %t136, 1 %t138 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t141 = load i32, ptr %t140 %t142 = icmp ult i32 %t137, %t141 br i1 %t142, label %ixok33, label %ixbad34 ixbad34: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str8659, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok33: %t144 = getelementptr inbounds i32, ptr %t139, i32 %t137 store i32 1, ptr %t144 %t145 = load i32, ptr %t112 store i32 %t145, ptr %retval br label %ret ifend28: %t147 = load ptr, ptr %t34 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str8660) %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t146 br i1 %t149, label %sc35, label %scend36 sc35: %t151 = load ptr, ptr %t0 %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 1 %t155 = load i32, ptr %t154 %t156 = icmp sge i32 %t155, 2 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t146 br label %scend36 scend36: %t160 = load i32, ptr %t146 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then37, label %ifend39 then37: %t162 = load ptr, ptr %t0 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t168 = load i32, ptr %t167 %t169 = icmp ult i32 0, %t168 br i1 %t169, label %ixok40, label %ixbad41 ixbad41: %t170 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str8661, i32 0, i32 %t168) call void @exit(i32 1) unreachable ixok40: %t171 = getelementptr inbounds ptr, ptr %t166, i32 0 %t172 = load ptr, ptr %t171 %t173 = call i32 @fn_es_val(ptr %t172) store i32 %t173, ptr %t174 %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 %ixok42, label %ixbad43 ixbad43: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str8662, i32 1, i32 %t181) call void @exit(i32 1) unreachable ixok42: %t184 = getelementptr inbounds ptr, ptr %t179, i32 1 %t185 = load ptr, ptr %t184 %t186 = call i32 @fn_es_ref(ptr %t185) %t187 = load i32, ptr %t174 call void @fn_es_store(i32 %t186, i32 %t187) %t188 = load ptr, ptr @g_g_es_site %t189 = load ptr, ptr %t0 %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 %grow44, label %put45 grow44: %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 3461, 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 %put45 put45: %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_g_es_site_cls %t209 = load i32, ptr %t174 %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 %grow46, label %put47 grow46: %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 3462, 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 %put47 put47: %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 %t228 = load ptr, ptr @g_g_es_site_fn %t229 = load i32, ptr @g_g_es_cur %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 %grow48, label %put49 grow48: %t236 = mul i32 %t234, 2 %t237 = icmp eq i32 %t234, 0 %t238 = select i1 %t237, i32 8, i32 %t236 %t239 = getelementptr i32, 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 3463, 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 %put49 put49: %t245 = load ptr, ptr %t232 %t246 = getelementptr inbounds i32, ptr %t245, i32 %t233 store i32 %t229, ptr %t246 %t247 = add i32 %t233, 1 store i32 %t247, ptr %t230 %t248 = load ptr, ptr @g_g_es_site_aok %t249 = load i32, ptr @g_g_es_aok %t250 = icmp sgt i32 %t249, 0 %t251 = zext i1 %t250 to i32 %t252 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 1 %t253 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 2 %t254 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 %t255 = load i32, ptr %t252 %t256 = load i32, ptr %t253 %t257 = icmp sge i32 %t255, %t256 br i1 %t257, label %grow50, label %put51 grow50: %t258 = mul i32 %t256, 2 %t259 = icmp eq i32 %t256, 0 %t260 = select i1 %t259, i32 8, i32 %t258 %t261 = getelementptr i32, ptr null, i32 1 %t262 = ptrtoint ptr %t261 to i64 %t263 = zext i32 %t260 to i64 %t264 = mul i64 %t263, %t262 %t265 = load ptr, ptr %t254 store i32 3464, ptr @lp_site %t266 = call ptr @lp_realloc(ptr %t265, i64 %t264) store i32 0, ptr @lp_site store ptr %t266, ptr %t254 store i32 %t260, ptr %t253 br label %put51 put51: %t267 = load ptr, ptr %t254 %t268 = getelementptr inbounds i32, ptr %t267, i32 %t255 store i32 %t251, ptr %t268 %t269 = add i32 %t255, 1 store i32 %t269, ptr %t252 %t270 = load ptr, ptr @g_g_es_site_grow %t271 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 %t272 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 2 %t273 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 0 %t274 = load i32, ptr %t271 %t275 = load i32, ptr %t272 %t276 = icmp sge i32 %t274, %t275 br i1 %t276, label %grow52, label %put53 grow52: %t277 = mul i32 %t275, 2 %t278 = icmp eq i32 %t275, 0 %t279 = select i1 %t278, i32 8, i32 %t277 %t280 = getelementptr i32, 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 3465, 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 %put53 put53: %t286 = load ptr, ptr %t273 %t287 = getelementptr inbounds i32, ptr %t286, i32 %t274 store i32 1, ptr %t287 %t288 = add i32 %t274, 1 store i32 %t288, ptr %t271 %t289 = sub i32 0, 1 store i32 %t289, ptr %retval br label %ret ifend39: %t296 = load ptr, ptr %t34 %t297 = call i32 @lp_str_eq(ptr %t296, ptr @.str8664) %t298 = icmp ne i32 %t297, 0 %t299 = zext i1 %t298 to i32 store i32 %t299, ptr %t295 br i1 %t298, label %scend55, label %sc54 sc54: %t300 = load ptr, ptr %t34 %t301 = call i32 @lp_str_eq(ptr %t300, ptr @.str8665) %t302 = icmp ne i32 %t301, 0 %t303 = zext i1 %t302 to i32 store i32 %t303, ptr %t295 br label %scend55 scend55: %t304 = load i32, ptr %t295 %t305 = icmp ne i32 %t304, 0 %t306 = zext i1 %t305 to i32 store i32 %t306, ptr %t294 br i1 %t305, label %scend57, label %sc56 sc56: %t307 = load ptr, ptr %t34 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str8666) %t309 = icmp ne i32 %t308, 0 %t310 = zext i1 %t309 to i32 store i32 %t310, ptr %t294 br label %scend57 scend57: %t311 = load i32, ptr %t294 %t312 = icmp ne i32 %t311, 0 %t313 = zext i1 %t312 to i32 store i32 %t313, ptr %t293 br i1 %t312, label %scend59, label %sc58 sc58: %t314 = load ptr, ptr %t34 %t315 = call i32 @lp_str_eq(ptr %t314, ptr @.str8667) %t316 = icmp ne i32 %t315, 0 %t317 = zext i1 %t316 to i32 store i32 %t317, ptr %t293 br label %scend59 scend59: %t318 = load i32, ptr %t293 %t319 = icmp ne i32 %t318, 0 %t320 = zext i1 %t319 to i32 store i32 %t320, ptr %t292 br i1 %t319, label %scend61, label %sc60 sc60: %t321 = load ptr, ptr %t34 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str8668) %t323 = icmp ne i32 %t322, 0 %t324 = zext i1 %t323 to i32 store i32 %t324, ptr %t292 br label %scend61 scend61: %t325 = load i32, ptr %t292 %t326 = icmp ne i32 %t325, 0 %t327 = zext i1 %t326 to i32 store i32 %t327, ptr %t291 br i1 %t326, label %scend63, label %sc62 sc62: %t328 = load ptr, ptr %t34 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str8669) %t330 = icmp ne i32 %t329, 0 %t331 = zext i1 %t330 to i32 store i32 %t331, ptr %t291 br label %scend63 scend63: %t332 = load i32, ptr %t291 %t333 = icmp ne i32 %t332, 0 %t334 = zext i1 %t333 to i32 store i32 %t334, ptr %t290 br i1 %t333, label %scend65, label %sc64 sc64: %t335 = load ptr, ptr %t34 %t336 = call i32 @lp_str_eq(ptr %t335, ptr @.str8670) %t337 = icmp ne i32 %t336, 0 %t338 = zext i1 %t337 to i32 store i32 %t338, ptr %t290 br label %scend65 scend65: %t339 = load i32, ptr %t290 %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then66, label %ifend68 then66: %t341 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t341) %t342 = load ptr, ptr %t0 %t343 = call i32 @fn_es_site(ptr %t342) store i32 %t343, ptr %retval br label %ret ifend68: %t345 = load ptr, ptr %t34 %t346 = call i32 @lp_str_eq(ptr %t345, ptr @.str8671) %t347 = icmp ne i32 %t346, 0 %t348 = zext i1 %t347 to i32 store i32 %t348, ptr %t344 br i1 %t347, label %sc69, label %scend70 sc69: %t349 = load ptr, ptr %t0 %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 eq i32 %t353, 1 %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 %t357 = zext i1 %t356 to i32 store i32 %t357, ptr %t344 br label %scend70 scend70: %t358 = load i32, ptr %t344 %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then71, label %ifend73 then71: %t360 = load ptr, ptr %t0 %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 0, %t366 br i1 %t367, label %ixok74, label %ixbad75 ixbad75: %t368 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t368, ptr @.fmt_bounds, ptr @.str8672, i32 0, i32 %t366) call void @exit(i32 1) unreachable ixok74: %t369 = getelementptr inbounds ptr, ptr %t364, i32 0 %t370 = load ptr, ptr %t369 %t371 = call i32 @fn_es_val(ptr %t370) store i32 %t371, ptr %t372 %t373 = load i32, ptr %t372 %t374 = icmp sge i32 %t373, 0 %t375 = zext i1 %t374 to i32 %t376 = icmp ne i32 %t375, 0 br i1 %t376, label %then76, label %ifend78 then76: %t377 = load ptr, ptr @g_g_es_flag %t378 = load i32, ptr %t372 %t379 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 0 %t380 = load ptr, ptr %t379 %t381 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 1 %t382 = load i32, ptr %t381 %t383 = icmp ult i32 %t378, %t382 br i1 %t383, label %ixok79, label %ixbad80 ixbad80: %t384 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t384, ptr @.fmt_bounds, ptr @.str8673, i32 %t378, i32 %t382) call void @exit(i32 1) unreachable ixok79: %t385 = getelementptr inbounds i32, ptr %t380, i32 %t378 %t386 = load ptr, ptr @g_g_es_flag %t387 = load i32, ptr %t372 %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 %ixok81, label %ixbad82 ixbad82: %t393 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t393, ptr @.fmt_bounds, ptr @.str8674, i32 %t387, i32 %t391) call void @exit(i32 1) unreachable ixok81: %t394 = getelementptr inbounds i32, ptr %t389, i32 %t387 %t395 = load i32, ptr %t394 %t396 = or i32 %t395, 4 store i32 %t396, ptr %t385 br label %ifend78 ifend78: %t397 = sub i32 0, 1 store i32 %t397, ptr %retval br label %ret ifend73: %t398 = load ptr, ptr %t34 %t399 = call i32 @lp_str_eq(ptr %t398, ptr @.str8675) %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %then83, label %ifend85 then83: %t401 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t401) store i32 0, ptr %t402 br label %wcond86 wcond86: %t403 = load i32, ptr %t402 %t404 = load ptr, ptr %t0 %t405 = getelementptr inbounds %Cmp_Node, ptr %t404, i32 0, i32 7 %t406 = load ptr, ptr %t405 %t407 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 1 %t408 = load i32, ptr %t407 %t409 = icmp slt i32 %t403, %t408 %t410 = zext i1 %t409 to i32 %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %wbody87, label %wend88 wbody87: %t412 = load ptr, ptr @g_g_es_consumed %t413 = load ptr, ptr %t0 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 %t415 = load ptr, ptr %t414 %t416 = load i32, ptr %t402 %t417 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 %t420 = load i32, ptr %t419 %t421 = icmp ult i32 %t416, %t420 br i1 %t421, label %ixok89, label %ixbad90 ixbad90: %t422 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t422, ptr @.fmt_bounds, ptr @.str8676, i32 %t416, i32 %t420) call void @exit(i32 1) unreachable ixok89: %t423 = getelementptr inbounds ptr, ptr %t418, i32 %t416 %t424 = load ptr, ptr %t423 %t425 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 1 %t426 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 2 %t427 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0 %t428 = load i32, ptr %t425 %t429 = load i32, ptr %t426 %t430 = icmp sge i32 %t428, %t429 br i1 %t430, label %grow91, label %put92 grow91: %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 3466, 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 %put92 put92: %t440 = load ptr, ptr %t427 %t441 = getelementptr inbounds ptr, ptr %t440, i32 %t428 store ptr %t424, ptr %t441 %t442 = add i32 %t428, 1 store i32 %t442, ptr %t425 %t443 = load i32, ptr %t402 %t444 = add i32 %t443, 1 store i32 %t444, ptr %t402 br label %wcond86 wend88: %t445 = sub i32 0, 1 store i32 %t445, ptr %retval br label %ret ifend85: %t446 = load ptr, ptr %t34 %t447 = call i32 @lp_str_eq(ptr %t446, ptr @.str8677) %t448 = icmp ne i32 %t447, 0 br i1 %t448, label %then93, label %ifend95 then93: %t449 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t449) %t450 = sub i32 0, 1 store i32 %t450, ptr %retval br label %ret ifend95: %t452 = load ptr, ptr %t34 %t453 = call i32 @lp_str_eq(ptr %t452, ptr @.str8678) %t454 = icmp ne i32 %t453, 0 %t455 = zext i1 %t454 to i32 store i32 %t455, ptr %t451 br i1 %t454, label %sc96, label %scend97 sc96: %t456 = load ptr, ptr %t0 %t457 = getelementptr inbounds %Cmp_Node, ptr %t456, i32 0, i32 7 %t458 = load ptr, ptr %t457 %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t460 = load i32, ptr %t459 %t461 = icmp sge i32 %t460, 1 %t462 = zext i1 %t461 to i32 %t463 = icmp ne i32 %t462, 0 %t464 = zext i1 %t463 to i32 store i32 %t464, ptr %t451 br label %scend97 scend97: %t465 = load i32, ptr %t451 %t466 = icmp ne i32 %t465, 0 br i1 %t466, label %then98, label %ifend100 then98: %t467 = load ptr, ptr %t0 %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 7 %t469 = load ptr, ptr %t468 %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 %t471 = load ptr, ptr %t470 %t472 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 1 %t473 = load i32, ptr %t472 %t474 = icmp ult i32 0, %t473 br i1 %t474, label %ixok101, label %ixbad102 ixbad102: %t475 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t475, ptr @.fmt_bounds, ptr @.str8679, i32 0, i32 %t473) call void @exit(i32 1) unreachable ixok101: %t476 = getelementptr inbounds ptr, ptr %t471, i32 0 %t477 = load ptr, ptr %t476 %t478 = call i32 @fn_es_val(ptr %t477) store i32 %t478, ptr %t479 store i32 1, ptr %t480 br label %wcond103 wcond103: %t481 = load i32, ptr %t480 %t482 = load ptr, ptr %t0 %t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 7 %t484 = load ptr, ptr %t483 %t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 1 %t486 = load i32, ptr %t485 %t487 = icmp slt i32 %t481, %t486 %t488 = zext i1 %t487 to i32 %t489 = icmp ne i32 %t488, 0 br i1 %t489, label %wbody104, label %wend105 wbody104: %t490 = load ptr, ptr %t0 %t491 = getelementptr inbounds %Cmp_Node, ptr %t490, i32 0, i32 7 %t492 = load ptr, ptr %t491 %t493 = load i32, ptr %t480 %t494 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 0 %t495 = load ptr, ptr %t494 %t496 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 1 %t497 = load i32, ptr %t496 %t498 = icmp ult i32 %t493, %t497 br i1 %t498, label %ixok106, label %ixbad107 ixbad107: %t499 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t499, ptr @.fmt_bounds, ptr @.str8680, i32 %t493, i32 %t497) call void @exit(i32 1) unreachable ixok106: %t500 = getelementptr inbounds ptr, ptr %t495, i32 %t493 %t501 = load ptr, ptr %t500 %t502 = call i32 @fn_es_val(ptr %t501) %t503 = load i32, ptr %t480 %t504 = add i32 %t503, 1 store i32 %t504, ptr %t480 br label %wcond103 wend105: %t505 = load i32, ptr %t479 store i32 %t505, ptr %retval br label %ret ifend100: %t506 = load ptr, ptr %t34 %t507 = call ptr @fn_es_fns_for(ptr %t506) store ptr %t507, ptr %t508 %t509 = load ptr, ptr %t508 %t510 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 1 %t511 = load i32, ptr %t510 %t512 = icmp sgt i32 %t511, 0 %t513 = zext i1 %t512 to i32 %t514 = icmp ne i32 %t513, 0 br i1 %t514, label %then108, label %ifend110 then108: %t515 = call i32 @fn_es_new(i32 0) store i32 %t515, ptr %t516 store i32 0, ptr %t517 br label %wcond111 wcond111: %t518 = load i32, ptr %t517 %t519 = load ptr, ptr %t508 %t520 = getelementptr inbounds %LSlice, ptr %t519, i32 0, i32 1 %t521 = load i32, ptr %t520 %t522 = icmp slt i32 %t518, %t521 %t523 = zext i1 %t522 to i32 %t524 = icmp ne i32 %t523, 0 br i1 %t524, label %wbody112, label %wend113 wbody112: %t525 = load ptr, ptr %t508 %t526 = load i32, ptr %t517 %t527 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 0 %t528 = load ptr, ptr %t527 %t529 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 1 %t530 = load i32, ptr %t529 %t531 = icmp ult i32 %t526, %t530 br i1 %t531, label %ixok114, label %ixbad115 ixbad115: %t532 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t532, ptr @.fmt_bounds, ptr @.str8681, i32 %t526, i32 %t530) call void @exit(i32 1) unreachable ixok114: %t533 = getelementptr inbounds i32, ptr %t528, i32 %t526 %t534 = load i32, ptr %t533 store i32 %t534, ptr %t535 %t536 = load ptr, ptr @g_g_es_calls_f %t537 = load i32, ptr @g_g_es_cur %t538 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 1 %t539 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 2 %t540 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 0 %t541 = load i32, ptr %t538 %t542 = load i32, ptr %t539 %t543 = icmp sge i32 %t541, %t542 br i1 %t543, label %grow116, label %put117 grow116: %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 3467, 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 %put117 put117: %t553 = load ptr, ptr %t540 %t554 = getelementptr inbounds i32, ptr %t553, i32 %t541 store i32 %t537, ptr %t554 %t555 = add i32 %t541, 1 store i32 %t555, ptr %t538 %t556 = load ptr, ptr @g_g_es_calls_t %t557 = load i32, ptr %t535 %t558 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 1 %t559 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 2 %t560 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 0 %t561 = load i32, ptr %t558 %t562 = load i32, ptr %t559 %t563 = icmp sge i32 %t561, %t562 br i1 %t563, label %grow118, label %put119 grow118: %t564 = mul i32 %t562, 2 %t565 = icmp eq i32 %t562, 0 %t566 = select i1 %t565, i32 8, i32 %t564 %t567 = getelementptr i32, ptr null, i32 1 %t568 = ptrtoint ptr %t567 to i64 %t569 = zext i32 %t566 to i64 %t570 = mul i64 %t569, %t568 %t571 = load ptr, ptr %t560 store i32 3468, ptr @lp_site %t572 = call ptr @lp_realloc(ptr %t571, i64 %t570) store i32 0, ptr @lp_site store ptr %t572, ptr %t560 store i32 %t566, ptr %t559 br label %put119 put119: %t573 = load ptr, ptr %t560 %t574 = getelementptr inbounds i32, ptr %t573, i32 %t561 store i32 %t557, ptr %t574 %t575 = add i32 %t561, 1 store i32 %t575, ptr %t558 %t576 = load ptr, ptr @g_g_es_fret %t577 = load i32, ptr %t535 %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 %ixok120, label %ixbad121 ixbad121: %t583 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str8682, i32 %t577, i32 %t581) call void @exit(i32 1) unreachable ixok120: %t584 = getelementptr inbounds i32, ptr %t579, i32 %t577 %t585 = load i32, ptr %t584 %t586 = load i32, ptr %t516 call void @fn_es_flow(i32 %t585, i32 %t586) %t587 = load i32, ptr %t517 %t588 = add i32 %t587, 1 store i32 %t588, ptr %t517 br label %wcond111 wend113: store i32 0, ptr %t589 br label %wcond122 wcond122: %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 %wbody123, label %wend124 wbody123: %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 %ixok125, label %ixbad126 ixbad126: %t608 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str8683, i32 %t602, i32 %t606) call void @exit(i32 1) unreachable ixok125: %t609 = getelementptr inbounds ptr, ptr %t604, i32 %t602 %t610 = load ptr, ptr %t609 %t611 = call i32 @fn_es_ref(ptr %t610) store i32 %t611, ptr %t612 store i32 0, ptr %t613 br label %wcond127 wcond127: %t614 = load i32, ptr %t613 %t615 = load ptr, ptr %t508 %t616 = getelementptr inbounds %LSlice, ptr %t615, i32 0, i32 1 %t617 = load i32, ptr %t616 %t618 = icmp slt i32 %t614, %t617 %t619 = zext i1 %t618 to i32 %t620 = icmp ne i32 %t619, 0 br i1 %t620, label %wbody128, label %wend129 wbody128: %t621 = load ptr, ptr @g_g_es_fnode %t622 = load ptr, ptr %t508 %t623 = load i32, ptr %t613 %t624 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 0 %t625 = load ptr, ptr %t624 %t626 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 1 %t627 = load i32, ptr %t626 %t628 = icmp ult i32 %t623, %t627 br i1 %t628, label %ixok130, label %ixbad131 ixbad131: %t629 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t629, ptr @.fmt_bounds, ptr @.str8684, i32 %t623, i32 %t627) call void @exit(i32 1) unreachable ixok130: %t630 = getelementptr inbounds i32, ptr %t625, i32 %t623 %t631 = load i32, ptr %t630 %t632 = getelementptr inbounds %LSlice, ptr %t621, i32 0, i32 0 %t633 = load ptr, ptr %t632 %t634 = getelementptr inbounds %LSlice, ptr %t621, i32 0, i32 1 %t635 = load i32, ptr %t634 %t636 = icmp ult i32 %t631, %t635 br i1 %t636, label %ixok132, label %ixbad133 ixbad133: %t637 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t637, ptr @.fmt_bounds, ptr @.str8685, i32 %t631, i32 %t635) call void @exit(i32 1) unreachable ixok132: %t638 = getelementptr inbounds ptr, ptr %t633, i32 %t631 %t639 = load ptr, ptr %t638 store ptr %t639, ptr %t640 %t642 = load i32, ptr %t589 %t643 = load ptr, ptr %t640 %t644 = getelementptr inbounds %Cmp_Node, ptr %t643, i32 0, i32 7 %t645 = load ptr, ptr %t644 %t646 = getelementptr inbounds %LSlice, ptr %t645, i32 0, i32 1 %t647 = load i32, ptr %t646 %t648 = icmp slt i32 %t642, %t647 %t649 = zext i1 %t648 to i32 %t650 = icmp ne i32 %t649, 0 %t651 = zext i1 %t650 to i32 store i32 %t651, ptr %t641 br i1 %t650, label %sc134, label %scend135 sc134: %t652 = load ptr, ptr %t640 %t653 = getelementptr inbounds %Cmp_Node, ptr %t652, i32 0, i32 7 %t654 = load ptr, ptr %t653 %t655 = load i32, ptr %t589 %t656 = getelementptr inbounds %LSlice, ptr %t654, i32 0, i32 0 %t657 = load ptr, ptr %t656 %t658 = getelementptr inbounds %LSlice, ptr %t654, i32 0, i32 1 %t659 = load i32, ptr %t658 %t660 = icmp ult i32 %t655, %t659 br i1 %t660, label %ixok136, label %ixbad137 ixbad137: %t661 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t661, ptr @.fmt_bounds, ptr @.str8686, i32 %t655, i32 %t659) call void @exit(i32 1) unreachable ixok136: %t662 = getelementptr inbounds ptr, ptr %t657, i32 %t655 %t663 = load ptr, ptr %t662 %t664 = getelementptr inbounds %Cmp_Node, ptr %t663, i32 0, i32 0 %t665 = load i32, ptr %t664 %t666 = icmp eq i32 %t665, 5 %t667 = zext i1 %t666 to i32 %t668 = icmp ne i32 %t667, 0 %t669 = zext i1 %t668 to i32 store i32 %t669, ptr %t641 br label %scend135 scend135: %t670 = load i32, ptr %t641 %t671 = icmp ne i32 %t670, 0 br i1 %t671, label %then138, label %else139 then138: %t672 = load ptr, ptr %t640 %t673 = getelementptr inbounds %Cmp_Node, ptr %t672, i32 0, i32 7 %t674 = load ptr, ptr %t673 %t675 = load i32, ptr %t589 %t676 = getelementptr inbounds %LSlice, ptr %t674, i32 0, i32 0 %t677 = load ptr, ptr %t676 %t678 = getelementptr inbounds %LSlice, ptr %t674, i32 0, i32 1 %t679 = load i32, ptr %t678 %t680 = icmp ult i32 %t675, %t679 br i1 %t680, label %ixok141, label %ixbad142 ixbad142: %t681 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t681, ptr @.fmt_bounds, ptr @.str8687, i32 %t675, i32 %t679) call void @exit(i32 1) unreachable ixok141: %t682 = getelementptr inbounds ptr, ptr %t677, i32 %t675 %t683 = load ptr, ptr %t682 %t684 = getelementptr inbounds %Cmp_Node, ptr %t683, i32 0, i32 3 %t685 = load ptr, ptr %t684 %t686 = call i32 @fn_es_prim(ptr %t685) %t687 = icmp eq i32 %t686, 0 %t688 = zext i1 %t687 to i32 %t689 = icmp ne i32 %t688, 0 br i1 %t689, label %then143, label %ifend145 then143: %t690 = load i32, ptr %t612 %t691 = load ptr, ptr @g_g_es_fparam %t692 = load ptr, ptr %t508 %t693 = load i32, ptr %t613 %t694 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 %t695 = load ptr, ptr %t694 %t696 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 %t697 = load i32, ptr %t696 %t698 = icmp ult i32 %t693, %t697 br i1 %t698, label %ixok146, label %ixbad147 ixbad147: %t699 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t699, ptr @.fmt_bounds, ptr @.str8688, i32 %t693, i32 %t697) call void @exit(i32 1) unreachable ixok146: %t700 = getelementptr inbounds i32, ptr %t695, i32 %t693 %t701 = load i32, ptr %t700 %t702 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0 %t703 = load ptr, ptr %t702 %t704 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 1 %t705 = load i32, ptr %t704 %t706 = icmp ult i32 %t701, %t705 br i1 %t706, label %ixok148, label %ixbad149 ixbad149: %t707 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t707, ptr @.fmt_bounds, ptr @.str8689, i32 %t701, i32 %t705) call void @exit(i32 1) unreachable ixok148: %t708 = getelementptr inbounds i32, ptr %t703, i32 %t701 %t709 = load i32, ptr %t708 %t710 = load i32, ptr %t589 %t711 = add i32 %t709, %t710 call void @fn_es_flow(i32 %t690, i32 %t711) br label %ifend145 ifend145: br label %ifend140 else139: %t712 = load i32, ptr %t612 call void @fn_es_escape(i32 %t712) br label %ifend140 ifend140: %t713 = load i32, ptr %t613 %t714 = add i32 %t713, 1 store i32 %t714, ptr %t613 br label %wcond127 wend129: %t715 = load i32, ptr %t589 %t716 = add i32 %t715, 1 store i32 %t716, ptr %t589 br label %wcond122 wend124: %t717 = load i32, ptr %t516 store i32 %t717, ptr %retval br label %ret ifend110: %t718 = load ptr, ptr %t34 %t719 = call i32 @fn_es_keeps_nothing(ptr %t718) %t720 = icmp ne i32 %t719, 0 br i1 %t720, label %then150, label %ifend152 then150: %t721 = load ptr, ptr %t0 call void @fn_es_args_walk(ptr %t721) %t722 = load i32, ptr @g_g_es_heap store i32 %t722, ptr %retval br label %ret ifend152: %t723 = load ptr, ptr %t0 call void @fn_es_args_escape(ptr %t723) %t724 = load i32, ptr @g_g_es_heap store i32 %t724, ptr %retval br label %ret ifend6: %t725 = load ptr, ptr %t0 %t726 = call i32 @fn_es_is_mem_frame(ptr %t725) %t727 = icmp ne i32 %t726, 0 br i1 %t727, label %then153, label %ifend155 then153: %t728 = load i32, ptr @g_g_es_cur %t729 = icmp sge i32 %t728, 0 %t730 = zext i1 %t729 to i32 %t731 = icmp ne i32 %t730, 0 br i1 %t731, label %then156, label %ifend158 then156: %t732 = load ptr, ptr @g_g_es_fspans %t733 = load i32, ptr @g_g_es_cur %t734 = getelementptr inbounds %LSlice, ptr %t732, i32 0, i32 0 %t735 = load ptr, ptr %t734 %t736 = getelementptr inbounds %LSlice, ptr %t732, i32 0, i32 1 %t737 = load i32, ptr %t736 %t738 = icmp ult i32 %t733, %t737 br i1 %t738, label %ixok159, label %ixbad160 ixbad160: %t739 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t739, ptr @.fmt_bounds, ptr @.str8690, i32 %t733, i32 %t737) call void @exit(i32 1) unreachable ixok159: %t740 = getelementptr inbounds i32, ptr %t735, i32 %t733 store i32 1, ptr %t740 br label %ifend158 ifend158: %t741 = sub i32 0, 1 store i32 %t741, ptr %retval br label %ret ifend155: %t746 = load ptr, ptr %t4 %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 %t745 br i1 %t749, label %sc161, label %scend162 sc161: %t751 = load ptr, ptr %t4 %t752 = getelementptr inbounds %Cmp_Node, ptr %t751, i32 0, i32 0 %t753 = load i32, ptr %t752 %t754 = icmp eq i32 %t753, 35 %t755 = zext i1 %t754 to i32 %t756 = icmp ne i32 %t755, 0 %t757 = zext i1 %t756 to i32 store i32 %t757, ptr %t745 br label %scend162 scend162: %t758 = load i32, ptr %t745 %t759 = icmp ne i32 %t758, 0 %t760 = zext i1 %t759 to i32 store i32 %t760, ptr %t744 br i1 %t759, label %sc163, label %scend164 sc163: %t761 = load ptr, ptr %t4 %t762 = getelementptr inbounds %Cmp_Node, ptr %t761, i32 0, i32 4 %t763 = load ptr, ptr %t762 %t764 = icmp ne ptr %t763, null %t765 = zext i1 %t764 to i32 %t766 = icmp ne i32 %t765, 0 %t767 = zext i1 %t766 to i32 store i32 %t767, ptr %t744 br label %scend164 scend164: %t768 = load i32, ptr %t744 %t769 = icmp ne i32 %t768, 0 %t770 = zext i1 %t769 to i32 store i32 %t770, ptr %t743 br i1 %t769, label %sc165, label %scend166 sc165: %t771 = load ptr, ptr %t4 %t772 = getelementptr inbounds %Cmp_Node, ptr %t771, i32 0, i32 4 %t773 = load ptr, ptr %t772 %t774 = getelementptr inbounds %Cmp_Node, ptr %t773, i32 0, i32 0 %t775 = load i32, ptr %t774 %t776 = icmp eq i32 %t775, 33 %t777 = zext i1 %t776 to i32 %t778 = icmp ne i32 %t777, 0 %t779 = zext i1 %t778 to i32 store i32 %t779, ptr %t743 br label %scend166 scend166: %t780 = load i32, ptr %t743 %t781 = icmp ne i32 %t780, 0 %t782 = zext i1 %t781 to i32 store i32 %t782, ptr %t742 br i1 %t781, label %sc167, label %scend168 sc167: %t783 = load ptr, ptr %t4 %t784 = getelementptr inbounds %Cmp_Node, ptr %t783, i32 0, i32 4 %t785 = load ptr, ptr %t784 %t786 = getelementptr inbounds %Cmp_Node, ptr %t785, i32 0, i32 1 %t787 = load ptr, ptr %t786 %t788 = load ptr, ptr %t4 %t789 = getelementptr inbounds %Cmp_Node, ptr %t788, i32 0, i32 1 %t790 = load ptr, ptr %t789 %t791 = call i32 @fn_ns_alias_find(ptr %t787, ptr %t790) %t792 = icmp sge i32 %t791, 0 %t793 = zext i1 %t792 to i32 %t794 = icmp ne i32 %t793, 0 %t795 = zext i1 %t794 to i32 store i32 %t795, ptr %t742 br label %scend168 scend168: %t796 = load i32, ptr %t742 %t797 = icmp ne i32 %t796, 0 br i1 %t797, label %then169, label %ifend171 then169: %t798 = load ptr, ptr %t4 %t799 = getelementptr inbounds %Cmp_Node, ptr %t798, i32 0, i32 4 %t800 = load ptr, ptr %t799 %t801 = getelementptr inbounds %Cmp_Node, ptr %t800, i32 0, i32 1 %t802 = load ptr, ptr %t801 %t803 = load ptr, ptr %t4 %t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 1 %t805 = load ptr, ptr %t804 %t806 = call i32 @fn_ns_alias_find(ptr %t802, ptr %t805) store i32 %t806, ptr %t807 %t808 = load ptr, ptr @g_g_al_target %t809 = load i32, ptr %t807 %t810 = getelementptr inbounds %LSlice, ptr %t808, i32 0, i32 0 %t811 = load ptr, ptr %t810 %t812 = getelementptr inbounds %LSlice, ptr %t808, i32 0, i32 1 %t813 = load i32, ptr %t812 %t814 = icmp ult i32 %t809, %t813 br i1 %t814, label %ixok172, label %ixbad173 ixbad173: %t815 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t815, ptr @.fmt_bounds, ptr @.str8691, i32 %t809, i32 %t813) call void @exit(i32 1) unreachable ixok172: %t816 = getelementptr inbounds ptr, ptr %t811, i32 %t809 %t817 = load ptr, ptr %t816 %t818 = call i32 @fn_es_fn(ptr %t817) store i32 %t818, ptr %t819 %t820 = load i32, ptr %t819 %t821 = icmp sge i32 %t820, 0 %t822 = zext i1 %t821 to i32 %t823 = icmp ne i32 %t822, 0 br i1 %t823, label %then174, label %ifend176 then174: %t824 = load ptr, ptr @g_g_es_calls_f %t825 = load i32, ptr @g_g_es_cur %t826 = getelementptr inbounds %LSlice, ptr %t824, i32 0, i32 1 %t827 = getelementptr inbounds %LSlice, ptr %t824, i32 0, i32 2 %t828 = getelementptr inbounds %LSlice, ptr %t824, i32 0, i32 0 %t829 = load i32, ptr %t826 %t830 = load i32, ptr %t827 %t831 = icmp sge i32 %t829, %t830 br i1 %t831, label %grow177, label %put178 grow177: %t832 = mul i32 %t830, 2 %t833 = icmp eq i32 %t830, 0 %t834 = select i1 %t833, i32 8, i32 %t832 %t835 = getelementptr i32, ptr null, i32 1 %t836 = ptrtoint ptr %t835 to i64 %t837 = zext i32 %t834 to i64 %t838 = mul i64 %t837, %t836 %t839 = load ptr, ptr %t828 store i32 3469, ptr @lp_site %t840 = call ptr @lp_realloc(ptr %t839, i64 %t838) store i32 0, ptr @lp_site store ptr %t840, ptr %t828 store i32 %t834, ptr %t827 br label %put178 put178: %t841 = load ptr, ptr %t828 %t842 = getelementptr inbounds i32, ptr %t841, i32 %t829 store i32 %t825, ptr %t842 %t843 = add i32 %t829, 1 store i32 %t843, ptr %t826 %t844 = load ptr, ptr @g_g_es_calls_t %t845 = load i32, ptr %t819 %t846 = getelementptr inbounds %LSlice, ptr %t844, i32 0, i32 1 %t847 = getelementptr inbounds %LSlice, ptr %t844, i32 0, i32 2 %t848 = getelementptr inbounds %LSlice, ptr %t844, i32 0, i32 0 %t849 = load i32, ptr %t846 %t850 = load i32, ptr %t847 %t851 = icmp sge i32 %t849, %t850 br i1 %t851, label %grow179, label %put180 grow179: %t852 = mul i32 %t850, 2 %t853 = icmp eq i32 %t850, 0 %t854 = select i1 %t853, i32 8, i32 %t852 %t855 = getelementptr i32, ptr null, i32 1 %t856 = ptrtoint ptr %t855 to i64 %t857 = zext i32 %t854 to i64 %t858 = mul i64 %t857, %t856 %t859 = load ptr, ptr %t848 store i32 3470, ptr @lp_site %t860 = call ptr @lp_realloc(ptr %t859, i64 %t858) store i32 0, ptr @lp_site store ptr %t860, ptr %t848 store i32 %t854, ptr %t847 br label %put180 put180: %t861 = load ptr, ptr %t848 %t862 = getelementptr inbounds i32, ptr %t861, i32 %t849 store i32 %t845, ptr %t862 %t863 = add i32 %t849, 1 store i32 %t863, ptr %t846 store i32 0, ptr %t864 %t865 = load ptr, ptr @g_g_es_fnode %t866 = load i32, ptr %t819 %t867 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 0 %t868 = load ptr, ptr %t867 %t869 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 1 %t870 = load i32, ptr %t869 %t871 = icmp ult i32 %t866, %t870 br i1 %t871, label %ixok181, label %ixbad182 ixbad182: %t872 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t872, ptr @.fmt_bounds, ptr @.str8692, i32 %t866, i32 %t870) call void @exit(i32 1) unreachable ixok181: %t873 = getelementptr inbounds ptr, ptr %t868, i32 %t866 %t874 = load ptr, ptr %t873 store ptr %t874, ptr %t875 br label %wcond183 wcond183: %t876 = load i32, ptr %t864 %t877 = load ptr, ptr %t0 %t878 = getelementptr inbounds %Cmp_Node, ptr %t877, i32 0, i32 7 %t879 = load ptr, ptr %t878 %t880 = getelementptr inbounds %LSlice, ptr %t879, i32 0, i32 1 %t881 = load i32, ptr %t880 %t882 = icmp slt i32 %t876, %t881 %t883 = zext i1 %t882 to i32 %t884 = icmp ne i32 %t883, 0 br i1 %t884, label %wbody184, label %wend185 wbody184: %t885 = load ptr, ptr %t0 %t886 = getelementptr inbounds %Cmp_Node, ptr %t885, i32 0, i32 7 %t887 = load ptr, ptr %t886 %t888 = load i32, ptr %t864 %t889 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 0 %t890 = load ptr, ptr %t889 %t891 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 1 %t892 = load i32, ptr %t891 %t893 = icmp ult i32 %t888, %t892 br i1 %t893, label %ixok186, label %ixbad187 ixbad187: %t894 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t894, ptr @.fmt_bounds, ptr @.str8693, i32 %t888, i32 %t892) call void @exit(i32 1) unreachable ixok186: %t895 = getelementptr inbounds ptr, ptr %t890, i32 %t888 %t896 = load ptr, ptr %t895 %t897 = call i32 @fn_es_ref(ptr %t896) store i32 %t897, ptr %t898 %t900 = load i32, ptr %t864 %t901 = load ptr, ptr %t875 %t902 = getelementptr inbounds %Cmp_Node, ptr %t901, i32 0, i32 7 %t903 = load ptr, ptr %t902 %t904 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 1 %t905 = load i32, ptr %t904 %t906 = icmp slt i32 %t900, %t905 %t907 = zext i1 %t906 to i32 %t908 = icmp ne i32 %t907, 0 %t909 = zext i1 %t908 to i32 store i32 %t909, ptr %t899 br i1 %t908, label %sc188, label %scend189 sc188: %t910 = load ptr, ptr %t875 %t911 = getelementptr inbounds %Cmp_Node, ptr %t910, i32 0, i32 7 %t912 = load ptr, ptr %t911 %t913 = load i32, ptr %t864 %t914 = getelementptr inbounds %LSlice, ptr %t912, i32 0, i32 0 %t915 = load ptr, ptr %t914 %t916 = getelementptr inbounds %LSlice, ptr %t912, i32 0, i32 1 %t917 = load i32, ptr %t916 %t918 = icmp ult i32 %t913, %t917 br i1 %t918, label %ixok190, label %ixbad191 ixbad191: %t919 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t919, ptr @.fmt_bounds, ptr @.str8694, i32 %t913, i32 %t917) call void @exit(i32 1) unreachable ixok190: %t920 = getelementptr inbounds ptr, ptr %t915, i32 %t913 %t921 = load ptr, ptr %t920 %t922 = getelementptr inbounds %Cmp_Node, ptr %t921, i32 0, i32 0 %t923 = load i32, ptr %t922 %t924 = icmp eq i32 %t923, 5 %t925 = zext i1 %t924 to i32 %t926 = icmp ne i32 %t925, 0 %t927 = zext i1 %t926 to i32 store i32 %t927, ptr %t899 br label %scend189 scend189: %t928 = load i32, ptr %t899 %t929 = icmp ne i32 %t928, 0 br i1 %t929, label %then192, label %else193 then192: %t930 = load ptr, ptr %t875 %t931 = getelementptr inbounds %Cmp_Node, ptr %t930, i32 0, i32 7 %t932 = load ptr, ptr %t931 %t933 = load i32, ptr %t864 %t934 = getelementptr inbounds %LSlice, ptr %t932, i32 0, i32 0 %t935 = load ptr, ptr %t934 %t936 = getelementptr inbounds %LSlice, ptr %t932, i32 0, i32 1 %t937 = load i32, ptr %t936 %t938 = icmp ult i32 %t933, %t937 br i1 %t938, label %ixok195, label %ixbad196 ixbad196: %t939 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t939, ptr @.fmt_bounds, ptr @.str8695, i32 %t933, i32 %t937) call void @exit(i32 1) unreachable ixok195: %t940 = getelementptr inbounds ptr, ptr %t935, i32 %t933 %t941 = load ptr, ptr %t940 %t942 = getelementptr inbounds %Cmp_Node, ptr %t941, i32 0, i32 3 %t943 = load ptr, ptr %t942 %t944 = call i32 @fn_es_prim(ptr %t943) %t945 = icmp eq i32 %t944, 0 %t946 = zext i1 %t945 to i32 %t947 = icmp ne i32 %t946, 0 br i1 %t947, label %then197, label %ifend199 then197: %t948 = load i32, ptr %t898 %t949 = load ptr, ptr @g_g_es_fparam %t950 = load i32, ptr %t819 %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 %ixok200, label %ixbad201 ixbad201: %t956 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t956, ptr @.fmt_bounds, ptr @.str8696, i32 %t950, i32 %t954) call void @exit(i32 1) unreachable ixok200: %t957 = getelementptr inbounds i32, ptr %t952, i32 %t950 %t958 = load i32, ptr %t957 %t959 = load i32, ptr %t864 %t960 = add i32 %t958, %t959 call void @fn_es_flow(i32 %t948, i32 %t960) br label %ifend199 ifend199: br label %ifend194 else193: %t961 = load i32, ptr %t898 call void @fn_es_escape(i32 %t961) br label %ifend194 ifend194: %t962 = load i32, ptr %t864 %t963 = add i32 %t962, 1 store i32 %t963, ptr %t864 br label %wcond183 wend185: %t964 = call i32 @fn_es_new(i32 0) store i32 %t964, ptr %t965 %t966 = load ptr, ptr @g_g_es_fret %t967 = load i32, ptr %t819 %t968 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 0 %t969 = load ptr, ptr %t968 %t970 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 1 %t971 = load i32, ptr %t970 %t972 = icmp ult i32 %t967, %t971 br i1 %t972, label %ixok202, label %ixbad203 ixbad203: %t973 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t973, ptr @.fmt_bounds, ptr @.str8697, i32 %t967, i32 %t971) call void @exit(i32 1) unreachable ixok202: %t974 = getelementptr inbounds i32, ptr %t969, i32 %t967 %t975 = load i32, ptr %t974 %t976 = load i32, ptr %t965 call void @fn_es_flow(i32 %t975, i32 %t976) %t977 = load i32, ptr %t965 store i32 %t977, ptr %retval br label %ret ifend176: br label %ifend171 ifend171: %t983 = load ptr, ptr %t4 %t984 = icmp ne ptr %t983, null %t985 = zext i1 %t984 to i32 %t986 = icmp ne i32 %t985, 0 %t987 = zext i1 %t986 to i32 store i32 %t987, ptr %t982 br i1 %t986, label %sc204, label %scend205 sc204: %t988 = load ptr, ptr %t4 %t989 = getelementptr inbounds %Cmp_Node, ptr %t988, i32 0, i32 0 %t990 = load i32, ptr %t989 %t991 = icmp eq i32 %t990, 35 %t992 = zext i1 %t991 to i32 %t993 = icmp ne i32 %t992, 0 %t994 = zext i1 %t993 to i32 store i32 %t994, ptr %t982 br label %scend205 scend205: %t995 = load i32, ptr %t982 %t996 = icmp ne i32 %t995, 0 %t997 = zext i1 %t996 to i32 store i32 %t997, ptr %t981 br i1 %t996, label %sc206, label %scend207 sc206: %t998 = load ptr, ptr %t4 %t999 = getelementptr inbounds %Cmp_Node, ptr %t998, i32 0, i32 4 %t1000 = load ptr, ptr %t999 %t1001 = icmp ne ptr %t1000, null %t1002 = zext i1 %t1001 to i32 %t1003 = icmp ne i32 %t1002, 0 %t1004 = zext i1 %t1003 to i32 store i32 %t1004, ptr %t981 br label %scend207 scend207: %t1005 = load i32, ptr %t981 %t1006 = icmp ne i32 %t1005, 0 %t1007 = zext i1 %t1006 to i32 store i32 %t1007, ptr %t980 br i1 %t1006, label %sc208, label %scend209 sc208: %t1008 = load ptr, ptr %t4 %t1009 = getelementptr inbounds %Cmp_Node, ptr %t1008, i32 0, i32 4 %t1010 = load ptr, ptr %t1009 %t1011 = getelementptr inbounds %Cmp_Node, ptr %t1010, i32 0, i32 0 %t1012 = load i32, ptr %t1011 %t1013 = icmp eq i32 %t1012, 33 %t1014 = zext i1 %t1013 to i32 %t1015 = icmp ne i32 %t1014, 0 %t1016 = zext i1 %t1015 to i32 store i32 %t1016, ptr %t980 br label %scend209 scend209: %t1017 = load i32, ptr %t980 %t1018 = icmp ne i32 %t1017, 0 %t1019 = zext i1 %t1018 to i32 store i32 %t1019, ptr %t979 br i1 %t1018, label %sc210, label %scend211 sc210: %t1020 = load ptr, ptr %t4 %t1021 = getelementptr inbounds %Cmp_Node, ptr %t1020, i32 0, i32 4 %t1022 = load ptr, ptr %t1021 %t1023 = getelementptr inbounds %Cmp_Node, ptr %t1022, i32 0, i32 1 %t1024 = load ptr, ptr %t1023 %t1025 = call i32 @fn_es_local(ptr %t1024) %t1026 = icmp slt i32 %t1025, 0 %t1027 = zext i1 %t1026 to i32 %t1028 = icmp ne i32 %t1027, 0 %t1029 = zext i1 %t1028 to i32 store i32 %t1029, ptr %t979 br label %scend211 scend211: %t1030 = load i32, ptr %t979 %t1031 = icmp ne i32 %t1030, 0 %t1032 = zext i1 %t1031 to i32 store i32 %t1032, ptr %t978 br i1 %t1031, label %sc212, label %scend213 sc212: %t1033 = load ptr, ptr %t4 %t1034 = getelementptr inbounds %Cmp_Node, ptr %t1033, i32 0, i32 4 %t1035 = load ptr, ptr %t1034 %t1036 = getelementptr inbounds %Cmp_Node, ptr %t1035, i32 0, i32 1 %t1037 = load ptr, ptr %t1036 %t1038 = call ptr @fn_ck_global(ptr %t1037) %t1039 = icmp eq ptr %t1038, null %t1040 = zext i1 %t1039 to i32 %t1041 = icmp ne i32 %t1040, 0 %t1042 = zext i1 %t1041 to i32 store i32 %t1042, ptr %t978 br label %scend213 scend213: %t1043 = load i32, ptr %t978 %t1044 = icmp ne i32 %t1043, 0 br i1 %t1044, label %then214, label %ifend216 then214: %t1045 = load ptr, ptr %t0 %t1046 = getelementptr inbounds %Cmp_Node, ptr %t1045, i32 0, i32 7 %t1047 = load ptr, ptr %t1046 %t1048 = getelementptr inbounds %LSlice, ptr %t1047, i32 0, i32 1 %t1049 = load i32, ptr %t1048 %t1050 = icmp sgt i32 %t1049, 0 %t1051 = zext i1 %t1050 to i32 %t1052 = icmp ne i32 %t1051, 0 br i1 %t1052, label %then217, label %ifend219 then217: %t1053 = load ptr, ptr %t0 %t1054 = getelementptr inbounds %Cmp_Node, ptr %t1053, i32 0, i32 7 %t1055 = load ptr, ptr %t1054 %t1056 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 0 %t1057 = load ptr, ptr %t1056 %t1058 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 1 %t1059 = load i32, ptr %t1058 %t1060 = icmp ult i32 0, %t1059 br i1 %t1060, label %ixok220, label %ixbad221 ixbad221: %t1061 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1061, ptr @.fmt_bounds, ptr @.str8698, i32 0, i32 %t1059) call void @exit(i32 1) unreachable ixok220: %t1062 = getelementptr inbounds ptr, ptr %t1057, i32 0 %t1063 = load ptr, ptr %t1062 %t1064 = call i32 @fn_es_val(ptr %t1063) store i32 %t1064, ptr %t1065 store i32 1, ptr %t1066 br label %wcond222 wcond222: %t1067 = load i32, ptr %t1066 %t1068 = load ptr, ptr %t0 %t1069 = getelementptr inbounds %Cmp_Node, ptr %t1068, i32 0, i32 7 %t1070 = load ptr, ptr %t1069 %t1071 = getelementptr inbounds %LSlice, ptr %t1070, i32 0, i32 1 %t1072 = load i32, ptr %t1071 %t1073 = icmp slt i32 %t1067, %t1072 %t1074 = zext i1 %t1073 to i32 %t1075 = icmp ne i32 %t1074, 0 br i1 %t1075, label %wbody223, label %wend224 wbody223: %t1076 = load ptr, ptr %t0 %t1077 = getelementptr inbounds %Cmp_Node, ptr %t1076, i32 0, i32 7 %t1078 = load ptr, ptr %t1077 %t1079 = load i32, ptr %t1066 %t1080 = getelementptr inbounds %LSlice, ptr %t1078, i32 0, i32 0 %t1081 = load ptr, ptr %t1080 %t1082 = getelementptr inbounds %LSlice, ptr %t1078, i32 0, i32 1 %t1083 = load i32, ptr %t1082 %t1084 = icmp ult i32 %t1079, %t1083 br i1 %t1084, label %ixok225, label %ixbad226 ixbad226: %t1085 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1085, ptr @.fmt_bounds, ptr @.str8699, i32 %t1079, i32 %t1083) call void @exit(i32 1) unreachable ixok225: %t1086 = getelementptr inbounds ptr, ptr %t1081, i32 %t1079 %t1087 = load ptr, ptr %t1086 %t1088 = call i32 @fn_es_val(ptr %t1087) %t1089 = load i32, ptr %t1065 call void @fn_es_store(i32 %t1088, i32 %t1089) %t1090 = load i32, ptr %t1066 %t1091 = add i32 %t1090, 1 store i32 %t1091, ptr %t1066 br label %wcond222 wend224: br label %ifend219 ifend219: %t1092 = load i32, ptr @g_g_es_heap store i32 %t1092, ptr %retval br label %ret ifend216: %t1093 = load ptr, ptr %t4 %t1094 = call i32 @fn_es_val(ptr %t1093) %t1095 = load ptr, ptr %t0 call void @fn_es_args_escape(ptr %t1095) %t1096 = load i32, ptr @g_g_es_heap store i32 %t1096, ptr %retval br label %ret ret: %t1097 = load i32, ptr %retval ret i32 %t1097 } 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: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str8700, 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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str8701, 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: %t202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str8702, i32 %t196, i32 %t200) call void @exit(i32 1) unreachable ixok52: %t203 = getelementptr inbounds ptr, ptr %t198, i32 %t196 store ptr @.str8703, 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: %t269 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t269, ptr @.fmt_bounds, ptr @.str8704, 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: %t306 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t306, ptr @.fmt_bounds, ptr @.str8705, 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: %t417 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t417, ptr @.fmt_bounds, ptr @.str8706, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str8707, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str8708, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str8709, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str8710, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str8711, 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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str8712, 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str8713, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str8714, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str8715, 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: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str8716, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str8717, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str8718, 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: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str8719, 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: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str8720, 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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str8721, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str8722, 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: %t228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str8723, 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: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str8724, 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: %t260 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str8725, 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: %t269 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t269, ptr @.fmt_bounds, ptr @.str8726, 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: %t289 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str8727, 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: %t300 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str8728, 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: %t312 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t312, ptr @.fmt_bounds, ptr @.str8729, 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: %t328 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t328, ptr @.fmt_bounds, ptr @.str8730, 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: %t345 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t345, ptr @.fmt_bounds, ptr @.str8731, 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: %t354 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t354, ptr @.fmt_bounds, ptr @.str8732, 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: %t365 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str8733, 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: %t374 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str8734, 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: %t396 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t396, ptr @.fmt_bounds, ptr @.str8735, 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: %t407 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t407, ptr @.fmt_bounds, ptr @.str8736, 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: %t419 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t419, ptr @.fmt_bounds, ptr @.str8737, 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: %t433 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t433, ptr @.fmt_bounds, ptr @.str8738, 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: %t449 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t449, ptr @.fmt_bounds, ptr @.str8739, 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: %t458 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t458, ptr @.fmt_bounds, ptr @.str8740, 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: %t470 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t470, ptr @.fmt_bounds, ptr @.str8741, 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: %t484 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t484, ptr @.fmt_bounds, ptr @.str8742, 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: %t501 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t501, ptr @.fmt_bounds, ptr @.str8743, 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: %t518 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t518, ptr @.fmt_bounds, ptr @.str8744, 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: %t527 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t527, ptr @.fmt_bounds, ptr @.str8745, 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: %t546 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t546, ptr @.fmt_bounds, ptr @.str8746, 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: %t557 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t557, ptr @.fmt_bounds, ptr @.str8747, 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: %t569 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t569, ptr @.fmt_bounds, ptr @.str8748, 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: %t583 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str8749, 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: %t599 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t599, ptr @.fmt_bounds, ptr @.str8750, 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: %t608 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str8751, 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: %t630 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t630, ptr @.fmt_bounds, ptr @.str8752, 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: %t641 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str8753, 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: %t659 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str8754, 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: %t674 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t674, ptr @.fmt_bounds, ptr @.str8755, 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: %t690 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t690, ptr @.fmt_bounds, ptr @.str8756, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str8757, 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 @.str8758, 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 3471, 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 3472, 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 3473, 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 3474, 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: %t226 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str8760, 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: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str8761, 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: %t261 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t261, ptr @.fmt_bounds, ptr @.str8762, 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: %t272 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str8763, 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 3475, 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: %t316 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str8764, 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 3476, 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 3477, 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 3478, 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: %t358 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t358, ptr @.fmt_bounds, ptr @.str8765, 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: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str8766, 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 3479, 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: %t407 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t407, ptr @.fmt_bounds, ptr @.str8767, 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 3480, 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: %t440 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t440, ptr @.fmt_bounds, ptr @.str8768, 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 3481, 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: %t486 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t486, ptr @.fmt_bounds, ptr @.str8769, 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 3482, 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 3483, 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 3484, 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 3485, 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 3486, 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 3487, 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: %t564 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str8770, 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: %t586 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t586, ptr @.fmt_bounds, ptr @.str8771, 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: %t607 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t607, ptr @.fmt_bounds, ptr @.str8772, 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: %t615 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t615, ptr @.fmt_bounds, ptr @.str8773, 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: %t637 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t637, ptr @.fmt_bounds, ptr @.str8774, 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: %t648 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t648, ptr @.fmt_bounds, ptr @.str8775, 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: %t659 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str8776, 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: %t676 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t676, ptr @.fmt_bounds, ptr @.str8777, 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: %t698 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t698, ptr @.fmt_bounds, ptr @.str8778, 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: %t734 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t734, ptr @.fmt_bounds, ptr @.str8779, 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 3488, 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: %t796 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t796, ptr @.fmt_bounds, ptr @.str8780, 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 3489, ptr @lp_site %t804 = call ptr @lp_str_concat(ptr %t803, ptr @.str8781) 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 3490, 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: %t828 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t828, ptr @.fmt_bounds, ptr @.str8782, 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: %t839 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t839, ptr @.fmt_bounds, ptr @.str8783, 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: %t850 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t850, ptr @.fmt_bounds, ptr @.str8784, 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: %t867 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t867, ptr @.fmt_bounds, ptr @.str8785, 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: %t897 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t897, ptr @.fmt_bounds, ptr @.str8786, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str8787, 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 @.str8788, 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 @.str8789, ptr %t19 br label %ifend7 ifend7: store ptr @.str8790, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str8791, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str8792, 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 @.str8793, ptr %t57 br label %ifend17 ifend17: %t62 = load ptr, ptr %t19 store i32 3491, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str8794, ptr %t62) store i32 0, ptr @lp_site store i32 3492, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str8796) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t57 store i32 3493, 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 3494, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str8797) 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 3495, 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 3496, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str8798) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t26 store i32 3497, 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 3498, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str8799) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr @__stderrp %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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str8801, 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 3499, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr @.str8800, ptr %t105) store i32 0, ptr @lp_site store i32 3500, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str8802) 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str8803, 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 3501, 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 3502, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str8804) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) store ptr %t123, ptr %t124 %t125 = load ptr, ptr @__stderrp %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 3503, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str8805, ptr %t136) store i32 0, ptr @lp_site store i32 3504, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str8806) 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 3505, 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 3506, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str8807) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr @__stderrp %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 @.str8808) %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 3507, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str8809, ptr %t8) store i32 0, ptr @lp_site store i32 3508, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8811) 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 3509, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str8812, ptr %t13) store i32 0, ptr @lp_site store i32 3510, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str8813) 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 3511, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str8814, ptr %t18) store i32 0, ptr @lp_site store i32 3512, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str8815) 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 3513, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str8816, ptr %t23) store i32 0, ptr @lp_site store i32 3514, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str8817) 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 3515, 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 3516, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str8818) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t17 store i32 3517, 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 3518, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str8819) 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 @.str8820) 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 @.str8821) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 store i32 3519, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str8822, ptr %t50) store i32 0, ptr @lp_site store i32 3520, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str8823) 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 3521, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str8824, 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 3522, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str8825, 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 3523, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str8826, ptr %t69) store i32 0, ptr @lp_site store i32 3524, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str8827) 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 3525, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str8828, ptr %t74) store i32 0, ptr @lp_site store i32 3526, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str8829) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t47 store i32 3527, 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 3528, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str8830, ptr %t81) store i32 0, ptr @lp_site store i32 3529, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str8831) 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 3530, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str8832, ptr %t86) store i32 0, ptr @lp_site store i32 3531, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str8833) 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 3532, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str8834, ptr %t91) store i32 0, ptr @lp_site store i32 3533, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str8835) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr %t61 store i32 3534, 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 3535, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str8836) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t97 = load ptr, ptr %t80 store i32 3536, 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 3537, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str8837) 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 3538, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str8838, ptr %t100) store i32 0, ptr @lp_site store i32 3539, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str8839) 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 3540, 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 3541, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str8840) 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 3542, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str8841, ptr %t107) store i32 0, ptr @lp_site store i32 3543, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str8842) 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 3544, 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 3545, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str8843) 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 3546, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr @.str8844, ptr %t114) store i32 0, ptr @lp_site store i32 3547, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str8845) 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 3548, 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 3549, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str8846) 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 3550, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str8847, ptr %t139) store i32 0, ptr @lp_site store i32 3551, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str8848) 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 3552, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str8849, ptr %t144) store i32 0, ptr @lp_site store i32 3553, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str8850) 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 3554, 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 3555, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str8851) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t138 store i32 3556, 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 3557, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str8852) 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 3558, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str8853) store i32 0, ptr @lp_site %t19 = load i32, ptr %t1 %t20 = call ptr @fn_itoa(i32 %t19) store i32 3559, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str8855, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str8856, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str8857, 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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str8858, 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: %t241 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t241, ptr @.fmt_bounds, ptr @.str8859, 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: %t259 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str8860, 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: %t325 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t325, ptr @.fmt_bounds, ptr @.str8861, 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 3560, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str8862, ptr %t34) store i32 0, ptr @lp_site store i32 3561, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str8864) 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 3562, 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 3563, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str8865) 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 3564, 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 3565, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str8866) 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 3566, 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 3567, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str8867) 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 3568, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str8868, ptr %t97) store i32 0, ptr @lp_site store i32 3569, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str8869) 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 3570, 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 3571, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str8870) 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 3572, 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 3573, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str8871) 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 3574, 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 3575, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str8872) 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 3576, 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 3577, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str8873) 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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str8874, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str8875, 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 3578, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str8876, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str8878, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str8879, 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 3579, 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 3580, 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 3581, 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 3582, 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 3583, 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: %t298 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str8881, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str8882, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str8883, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str8884, 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 3584, 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 3585, 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 3586, 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 3587, 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 3588, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str8886, 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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str8887, 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: %t170 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str8888, 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str8889, 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: %t198 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str8890, 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: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str8891, 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: %t226 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str8893, 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 3589, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str8892, ptr %t228) store i32 0, ptr @lp_site store i32 3590, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str8894) 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: %t238 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str8895, 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 3591, 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 3592, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str8896) 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 3593, 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 3594, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str8897) 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: %t255 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str8898, 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 3595, 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 3596, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str8899) 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 3597, 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 3598, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str8900) 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: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str8901, 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 3599, 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 3600, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str8902) 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: %t285 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str8903, 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 3601, 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 3602, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr @.str8904, 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 3603, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str8905, 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 @.str8907) %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 @.str8908) %t15 = load ptr, ptr %t0 call void @fn_emit_escaped(ptr %t15) call void @fn_emith(ptr @.str8909) %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 @.str8910) %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 3604, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str8911, 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 @.str8913) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %ifend30 then28: store ptr @.str8914, ptr %retval br label %ret ifend30: store ptr @.str8915, 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 @.str8916) %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 @.str8917, i32 1) call void @fn_emit_init_fn(ptr @.str8918, 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 @.str8919, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str8920, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str8921, 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 @.str8922) %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 @.str8923) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str8924) %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 @.str8925) br label %ifend15 ifend15: br label %wcond0 wend2: call void @fn_emit(ptr @.str8926) %t116 = load ptr, ptr %t7 store ptr %t116, ptr @g_code %t117 = load ptr, ptr %t0 store i32 3605, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str8927, ptr %t117) store i32 0, ptr @lp_site store i32 3606, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str8929) 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 @.str8930) 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 @.str8931) call void @fn_emith(ptr @.str8932) call void @fn_emith(ptr @.str8933) call void @fn_emith(ptr @.str8934) call void @fn_emith(ptr @.str8935) call void @fn_emith(ptr @.str8936) call void @fn_emith(ptr @.str8937) call void @fn_emith(ptr @.str8938) call void @fn_emith(ptr @.str8939) %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 @.str8940) call void @fn_emith(ptr @.str8941) call void @fn_emith(ptr @.str8942) call void @fn_emith(ptr @.str8943) br label %ifend2 ifend2: call void @fn_emith(ptr @.str8944) call void @fn_emith(ptr @.str8945) call void @fn_emith(ptr @.str8946) call void @fn_emith(ptr @.str8947) call void @fn_emith(ptr @.str8948) call void @fn_emith(ptr @.str8949) call void @fn_emith(ptr @.str8950) call void @fn_emith(ptr @.str8951) call void @fn_emith(ptr @.str8952) call void @fn_emith(ptr @.str8953) call void @fn_emith(ptr @.str8954) call void @fn_emith(ptr @.str8955) call void @fn_emith(ptr @.str8956) call void @fn_emith(ptr @.str8957) call void @fn_emith(ptr @.str8958) call void @fn_emith(ptr @.str8959) call void @fn_emith(ptr @.str8960) call void @fn_emith(ptr @.str8961) call void @fn_emith(ptr @.str8962) call void @fn_emith(ptr @.str8963) call void @fn_emith(ptr @.str8964) call void @fn_emith(ptr @.str8965) call void @fn_emith(ptr @.str8966) call void @fn_emith(ptr @.str8967) call void @fn_emith(ptr @.str8968) call void @fn_emith(ptr @.str8969) call void @fn_emith(ptr @.str8970) call void @fn_emith(ptr @.str8971) call void @fn_emith(ptr @.str8972) call void @fn_emith(ptr @.str8973) call void @fn_emith(ptr @.str8974) call void @fn_emith(ptr @.str8975) call void @fn_emith(ptr @.str8976) call void @fn_emith(ptr @.str8977) call void @fn_emith(ptr @.str8978) call void @fn_emith(ptr @.str8979) call void @fn_emith(ptr @.str8980) call void @fn_emith(ptr @.str8981) call void @fn_emith(ptr @.str8982) call void @fn_emith(ptr @.str8983) call void @fn_emith(ptr @.str8984) call void @fn_emith(ptr @.str8985) %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 @.str8986) call void @fn_emith(ptr @.str8987) br label %ifend5 ifend5: call void @fn_emith(ptr @.str8988) call void @fn_emith(ptr @.str8989) call void @fn_emith(ptr @.str8990) call void @fn_emith(ptr @.str8991) call void @fn_emith(ptr @.str8992) call void @fn_emith(ptr @.str8993) call void @fn_emith(ptr @.str8994) %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 @.str8995) %t11 = load ptr, ptr @g_g_game_name call void @fn_emit_escaped(ptr %t11) call void @fn_emith(ptr @.str8996) call void @fn_emith(ptr @.str8997) 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str8998, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str8999, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str9000, 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 3607, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str9001, ptr %t97) store i32 0, ptr @lp_site store i32 3608, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str9003) 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 3609, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str9004, ptr %t102) store i32 0, ptr @lp_site store i32 3610, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str9005) 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 @.str9006) %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 @.str9007) 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 @.str9008) 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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str9009, 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 @.str9010) 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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str9011, 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: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str9012, 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: %t206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str9013, 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 3611, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr @.str9014, ptr %t236) store i32 0, ptr @lp_site store i32 3612, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str9015) 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 3613, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr @.str9016, ptr %t241) store i32 0, ptr @lp_site store i32 3614, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str9017) 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 @.str9018) %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 @.str9019) %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 @.str9020) %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 3615, 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 @.str9021) %t281 = load ptr, ptr %t169 %t282 = call ptr @fn_global_init(ptr %t281) call void @fn_emith(ptr %t282) call void @fn_emith(ptr @.str9022) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str9023, 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 @.str9024) %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 @.str9025) %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 @.str9026) 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 @.str9027) 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str9028, 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 @.str9029) 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 @.str9030) call void @fn_emith(ptr @.str9031) call void @fn_emith(ptr @.str9032) call void @fn_emith(ptr @.str9033) call void @fn_emith(ptr @.str9034) call void @fn_emith(ptr @.str9035) call void @fn_emith(ptr @.str9036) call void @fn_emith(ptr @.str9037) call void @fn_emith(ptr @.str9038) call void @fn_emith(ptr @.str9039) call void @fn_emith(ptr @.str9040) call void @fn_emith(ptr @.str9041) call void @fn_emith(ptr @.str9042) call void @fn_emith(ptr @.str9043) call void @fn_emith(ptr @.str9044) call void @fn_emith(ptr @.str9045) call void @fn_emith(ptr @.str9046) call void @fn_emith(ptr @.str9047) call void @fn_emith(ptr @.str9048) call void @fn_emith(ptr @.str9049) call void @fn_emith(ptr @.str9050) call void @fn_emith(ptr @.str9051) call void @fn_emith(ptr @.str9052) call void @fn_emith(ptr @.str9053) call void @fn_emith(ptr @.str9054) call void @fn_emith(ptr @.str9055) call void @fn_emith(ptr @.str9056) call void @fn_emith(ptr @.str9057) call void @fn_emith(ptr @.str9058) call void @fn_emith(ptr @.str9059) call void @fn_emith(ptr @.str9060) call void @fn_emith(ptr @.str9061) call void @fn_emith(ptr @.str9062) call void @fn_emith(ptr @.str9063) call void @fn_emith(ptr @.str9064) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: call void @fn_emith(ptr @.str9065) call void @fn_emith(ptr @.str9066) call void @fn_emith(ptr @.str9067) call void @fn_emith(ptr @.str9068) call void @fn_emith(ptr @.str9069) call void @fn_emith(ptr @.str9070) call void @fn_emith(ptr @.str9071) call void @fn_emith(ptr @.str9072) call void @fn_emith(ptr @.str9073) call void @fn_emith(ptr @.str9074) call void @fn_emith(ptr @.str9075) call void @fn_emith(ptr @.str9076) call void @fn_emith(ptr @.str9077) call void @fn_emith(ptr @.str9078) call void @fn_emith(ptr @.str9079) call void @fn_emith(ptr @.str9080) call void @fn_emith(ptr @.str9081) call void @fn_emith(ptr @.str9082) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: call void @fn_emith(ptr @.str9083) call void @fn_emith(ptr @.str9084) call void @fn_emith(ptr @.str9085) call void @fn_emith(ptr @.str9086) call void @fn_emith(ptr @.str9087) call void @fn_emith(ptr @.str9088) call void @fn_emith(ptr @.str9089) call void @fn_emith(ptr @.str9090) call void @fn_emith(ptr @.str9091) call void @fn_emith(ptr @.str9092) call void @fn_emith(ptr @.str9093) call void @fn_emith(ptr @.str9094) call void @fn_emith(ptr @.str9095) call void @fn_emith(ptr @.str9096) call void @fn_emith(ptr @.str9097) call void @fn_emith(ptr @.str9098) call void @fn_emith(ptr @.str9099) call void @fn_emith(ptr @.str9100) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str9101) call void @fn_emith(ptr @.str9102) call void @fn_emith(ptr @.str9103) call void @fn_emith(ptr @.str9104) call void @fn_emith(ptr @.str9105) call void @fn_emith(ptr @.str9106) call void @fn_emith(ptr @.str9107) call void @fn_emith(ptr @.str9108) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str9109, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str9110, 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 3616, 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 3617, 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: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str9112, 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 3618, 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: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str9113, 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: %t305 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t305, ptr @.fmt_bounds, ptr @.str9114, 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: %t350 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t350, ptr @.fmt_bounds, ptr @.str9115, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str9116, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str9117, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str9118, 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 3619, 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 3620, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str9120, 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str9121, 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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str9122, 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: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str9123, 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: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str9124, 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 3621, 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 3622, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str9126, 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 3623, 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 3624, 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: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str9127, 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 @.str9128) %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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str9129, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str9130, 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 3625, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str9131, 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 @.str9133, 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 3626, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str9134, ptr %t21) store i32 0, ptr @lp_site store i32 3627, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9135) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9136) %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 3628, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str9137, ptr %t35) store i32 0, ptr @lp_site store i32 3629, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9138) 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 3630, 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 3631, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str9139) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9140) %t43 = load ptr, ptr %t34 store i32 3632, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str9141, ptr %t43) store i32 0, ptr @lp_site store i32 3633, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9142) 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 3634, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str9143, ptr %t47) store i32 0, ptr @lp_site store i32 3635, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9144) 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 @.str9145) %t52 = load ptr, ptr %t8 %t53 = call ptr @fn_buf_str(ptr %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str9146) br label %ret ret: ret void } define void @fn_emit_state_reset() { entry: %t0 = alloca i32 call void @fn_emith(ptr @.str9147) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str9148, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str9150, 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 3636, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str9149, ptr %t31) store i32 0, ptr @lp_site store i32 3637, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str9152) 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 @.str9153) 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 3638, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str9154, ptr %t7) store i32 0, ptr @lp_site store i32 3639, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9156) 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 @.str9157) %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 @.str9158) %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 @.str9159) %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 3640, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str9160) store i32 0, ptr @lp_site %t56 = load ptr, ptr %t33 store i32 3641, 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: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str9162, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str9163, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str9164, 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 3642, 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 3643, 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 3644, 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 @.str9165) %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 @.str9166) %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 3645, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str9167, ptr %t64) store i32 0, ptr @lp_site store i32 3646, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str9169) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t1 store i32 3647, 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 3648, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str9170) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t37 store i32 3649, 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 3650, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str9171) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr @g_g_err_file store i32 3651, 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 3652, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str9172) 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 3653, 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 3654, 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 @.str9173, 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 @.str9174) store i32 3655, ptr @lp_site %t5 = call ptr @lp_pak_open(ptr %t4, ptr @.str9175) 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 3656, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str9177, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str9178, 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 @.str9179) %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 3657, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str9180, 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 @.str9181) %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 @.str9182, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str9183, 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 @.str9184) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then36, label %ifend38 then36: store ptr @.str9185, ptr %t131 br label %ifend38 ifend38: %t135 = load ptr, ptr %t6 %t136 = load ptr, ptr %t36 store i32 3658, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str9186, ptr %t136) store i32 0, ptr @lp_site store i32 3659, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str9187) 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 3660, 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 3661, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str9188) store i32 0, ptr @lp_site call void @lp_free(ptr %t141) %t143 = load ptr, ptr %t111 store i32 3662, 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 3663, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str9189) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) %t146 = load ptr, ptr %t131 store i32 3664, 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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str9190, 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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str9191, 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 @.str9192) %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 3665, 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 3666, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr @.str9193, ptr %t227) store i32 0, ptr @lp_site store i32 3667, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str9194) 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: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str9196, 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 3668, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr @.str9195, ptr %t249) store i32 0, ptr @lp_site store i32 3669, ptr @lp_site %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str9197) 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: %t259 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t259, ptr @.fmt_bounds, ptr @.str9198, 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 3670, 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 3671, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str9199) 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: %t272 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str9200, 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 3672, 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: %t293 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str9201, 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: %t313 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t313, ptr @.fmt_bounds, ptr @.str9202, 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 3673, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr @.str9203, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str9204, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str9205, 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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str9206, 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 @.str9207, 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 @.str9208) %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 3674, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr @.str9209, ptr %t154) store i32 0, ptr @lp_site store i32 3675, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str9211) store i32 0, ptr @lp_site call void @lp_free(ptr %t155) %t157 = load ptr, ptr %t42 store i32 3676, 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 3677, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str9212) 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 3678, 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 3679, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str9213) 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 3680, 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 3681, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str9214) 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 3682, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str9215, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str9216, 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 @.str9217) %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 3683, 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 3684, 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 3685, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str9219, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str9220, i32 %t9, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t11, i32 %t9 store ptr @.str9221, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str9222, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str9223, 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 @.str9224) %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 @.str9225) %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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str9226, 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 3686, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str9227, ptr %t22) store i32 0, ptr @lp_site store i32 3687, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9229) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr @g_g_dp_st_field store i32 3688, 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 3689, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9230) 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 3690, 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 3691, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str9231) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = load ptr, ptr @g_g_err_file store i32 3692, 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 3693, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str9232) 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 3694, 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 3695, 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 3696, 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 3697, 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 3698, 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 3699, 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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str9234, 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 3700, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str9235, 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 3701, 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 @.str9236) %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 @.str9237) %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 3702, 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 3703, 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 3704, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str9239, 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 3705, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str9238, ptr %t52) store i32 0, ptr @lp_site store i32 3706, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str9241) 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str9242, 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 3707, 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 3708, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str9243) 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 3709, 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 3710, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9244) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) %t71 = load ptr, ptr @g_g_err_file store i32 3711, 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 3712, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str9245) 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 3713, 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 3714, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str9246) 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 3715, 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 3716, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str9247, 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, 30 %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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str9248, 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, 30 %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str9249, 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, 30 %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, 30 %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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str9250, 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 3717, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str9252, 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 3718, 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 3719, 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 3720, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str9254, ptr %t198) store i32 0, ptr @lp_site store i32 3721, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str9255) 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: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str9256, 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 3722, 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 3723, 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: %t297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str9257, 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 3724, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str9258, ptr %t309) store i32 0, ptr @lp_site store i32 3725, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str9259) 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 3726, 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 3727, 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 3728, 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 3729, 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 3730, 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 3731, 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 3732, 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: %t608 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t608, ptr @.fmt_bounds, ptr @.str9260, 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 3733, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str9262, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str9263, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str9264, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str9265, 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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str9266, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str9267, 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 3734, 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 3735, 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 3736, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str9270, 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 3737, 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 3738, 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 3739, 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 3740, 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 3741, 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str9271, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str9272, 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 3742, 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 3743, 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: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str9273, 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: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str9274, 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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str9275, 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: %t238 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str9276, 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: %t249 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t249, ptr @.fmt_bounds, ptr @.str9277, 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: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str9278, 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: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str9279, 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: %t281 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t281, ptr @.fmt_bounds, ptr @.str9280, 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: %t289 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t289, ptr @.fmt_bounds, ptr @.str9281, 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: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str9282, 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: %t140 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str9283, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str9284, 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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str9285, 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: %t200 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t200, ptr @.fmt_bounds, ptr @.str9286, 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: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str9287, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str9288, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str9289, 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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str9290, 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: %t222 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str9291, 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: %t266 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t266, ptr @.fmt_bounds, ptr @.str9292, 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: %t288 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t288, ptr @.fmt_bounds, ptr @.str9293, 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: %t308 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t308, ptr @.fmt_bounds, ptr @.str9294, 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: %t332 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t332, ptr @.fmt_bounds, ptr @.str9295, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str9296, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str9297, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str9298, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str9299, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str9300, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str9301, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str9302, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str9303, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str9304, 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 3744, 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 3745, 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 3746, 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: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str9307, 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 3747, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr @.str9306, ptr %t194) store i32 0, ptr @lp_site store i32 3748, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str9308) 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 3749, 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 3750, 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 3751, 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: %t272 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t272, ptr @.fmt_bounds, ptr @.str9309, 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 3752, 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 3753, 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 3754, 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 3755, 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 3756, 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: %t337 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str9310, 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 3757, 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 3758, 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 3759, 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 @.str9311) %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 3760, 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: %t457 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t457, ptr @.fmt_bounds, ptr @.str9312, 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: %t465 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t465, ptr @.fmt_bounds, ptr @.str9313, 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 @.str9314) %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: %t480 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t480, ptr @.fmt_bounds, ptr @.str9315, 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 3761, 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 3762, 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 3763, 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 3764, 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: %t565 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t565, ptr @.fmt_bounds, ptr @.str9316, 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 3765, 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 3766, 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 3767, 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: %t630 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t630, ptr @.fmt_bounds, ptr @.str9317, 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 3768, 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: %t673 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t673, ptr @.fmt_bounds, ptr @.str9318, 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: %t692 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t692, ptr @.fmt_bounds, ptr @.str9319, 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: %t703 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t703, ptr @.fmt_bounds, ptr @.str9320, 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: %t711 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t711, ptr @.fmt_bounds, ptr @.str9321, 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: %t724 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t724, ptr @.fmt_bounds, ptr @.str9322, 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: %t735 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t735, ptr @.fmt_bounds, ptr @.str9323, 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: %t743 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t743, ptr @.fmt_bounds, ptr @.str9324, 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: %t768 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t768, ptr @.fmt_bounds, ptr @.str9325, 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: %t808 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t808, ptr @.fmt_bounds, ptr @.str9326, 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 @.str9327) %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 @.str9328, 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: %t830 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t830, ptr @.fmt_bounds, ptr @.str9329, 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 @.str9330, 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 3769, ptr @lp_site %t841 = call ptr @lp_str_concat(ptr @.str9331, ptr %t840) store i32 0, ptr @lp_site store i32 3770, ptr @lp_site %t842 = call ptr @lp_str_concat(ptr %t841, ptr @.str9332) 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 3771, 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 3772, ptr @lp_site %t847 = call ptr @lp_str_concat(ptr %t846, ptr @.str9333) 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 3773, 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 3774, ptr @lp_site %t852 = call ptr @lp_str_concat(ptr %t851, ptr @.str9334) 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 3775, 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 3776, ptr @lp_site %t858 = call ptr @lp_str_concat(ptr %t857, ptr @.str9335) 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 3777, 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 3778, ptr @lp_site %t862 = call ptr @lp_str_concat(ptr %t861, ptr @.str9336) store i32 0, ptr @lp_site call void @lp_free(ptr %t861) %t863 = load ptr, ptr %t822 store i32 3779, 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 3780, ptr @lp_site %t865 = call ptr @lp_str_concat(ptr %t864, ptr @.str9337) 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: %t873 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t873, ptr @.fmt_bounds, ptr @.str9338, 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 3781, 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: %t886 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t886, ptr @.fmt_bounds, ptr @.str9339, 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 3782, ptr @lp_site %t898 = call ptr @lp_str_concat(ptr @.str9340, ptr %t897) store i32 0, ptr @lp_site store i32 3783, ptr @lp_site %t899 = call ptr @lp_str_concat(ptr %t898, ptr @.str9341) 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 3784, 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 3785, ptr @lp_site %t904 = call ptr @lp_str_concat(ptr %t903, ptr @.str9342) 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 3786, 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 3787, ptr @lp_site %t909 = call ptr @lp_str_concat(ptr %t908, ptr @.str9343) 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 3788, 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 3789, ptr @lp_site %t915 = call ptr @lp_str_concat(ptr %t914, ptr @.str9344) 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 3790, 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 3791, ptr @lp_site %t919 = call ptr @lp_str_concat(ptr %t918, ptr @.str9345) store i32 0, ptr @lp_site call void @lp_free(ptr %t918) %t920 = load ptr, ptr %t822 store i32 3792, 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 3793, ptr @lp_site %t922 = call ptr @lp_str_concat(ptr %t921, ptr @.str9346) 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: %t930 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t930, ptr @.fmt_bounds, ptr @.str9347, 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 3794, 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 3795, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str9348, 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 3796, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str9350, 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 @.str9351) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str9352) %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 @.str9353) %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 @.str9354) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9355) %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 @.str9356) %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 3797, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str9357, ptr %t25) store i32 0, ptr @lp_site store i32 3798, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9359) 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 3799, 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 @.str9360, 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 @.str9361) %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 3800, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str9362, ptr %t42) store i32 0, ptr @lp_site store i32 3801, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str9363) 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 3802, 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 @.str9364, 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 @.str9365) %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 @.str9366) %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 @.str9367, 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 @.str9368) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then14, label %ifend16 then14: store ptr @.str9369, ptr %t67 br label %ifend16 ifend16: %t73 = load ptr, ptr %t67 store i32 3803, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str9370, ptr %t73) store i32 0, ptr @lp_site store i32 3804, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str9371) 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 3805, 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 3806, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str9372) 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 3807, 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 @.str9373) %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 3808, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str9374, ptr %t96) store i32 0, ptr @lp_site store i32 3809, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str9375) 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 3810, 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 @.str9376, 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 3811, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str9377, ptr %t108) store i32 0, ptr @lp_site store i32 3812, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str9378) 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 3813, 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 @.str9379, 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 @.str9380) %t130 = load ptr, ptr %t129 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str9381) %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 @.str9382) %t134 = call ptr @fn_nreg() store ptr %t134, ptr %t135 call void @fn_emit(ptr @.str9383) %t136 = load ptr, ptr %t135 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str9384) %t137 = load ptr, ptr %t129 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str9385) %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 @.str9386) %t142 = load ptr, ptr %t141 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str9387) %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 @.str9388) %t146 = load ptr, ptr %t141 store i32 3814, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str9389, 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 3815, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr @.str9390, ptr %t152) store i32 0, ptr @lp_site store i32 3816, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str9391) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) %t155 = load ptr, ptr %t149 store i32 3817, 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 @.str9392) store ptr %t159, ptr %t160 %t161 = call ptr @fn_lbl(ptr @.str9393) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t158 store i32 3818, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr @.str9394, ptr %t163) store i32 0, ptr @lp_site store i32 3819, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str9395) store i32 0, ptr @lp_site call void @lp_free(ptr %t164) %t166 = load ptr, ptr %t160 store i32 3820, 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 3821, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str9396) store i32 0, ptr @lp_site call void @lp_free(ptr %t167) %t169 = load ptr, ptr %t162 store i32 3822, 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 3823, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str9397) 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 3824, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str9398) 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 3825, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str9399) 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 3826, 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 3827, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str9400) 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 3828, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr @.str9401, ptr %t188) store i32 0, ptr @lp_site store i32 3829, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str9402) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) %t191 = load ptr, ptr %t184 store i32 3830, 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 3831, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str9403) 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 3832, 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 3833, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str9404) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t149 store i32 3834, 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 3835, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str9405) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) call void @fn_emit(ptr %t201) call void @fn_emit(ptr @.str9406) %t202 = load ptr, ptr %t160 store i32 3836, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str9407) 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 @.str9408) %t206 = load ptr, ptr %t205 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str9409) %t207 = load ptr, ptr %t122 %t208 = call ptr @fn_llty(ptr %t207) call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str9410) %t209 = load ptr, ptr %t135 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str9411) %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 @.str9412) %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 @.str9413) %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 @.str9414) %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 @.str9415) %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 @.str9416) %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 @.str9417) %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 @.str9418) %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 @.str9419) %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 @.str9420) %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 @.str9421) %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 @.str9422) %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 @.str9423) %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 @.str9424) %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 @.str9425) %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 @.str9426) %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 @.str9427) %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 @.str9428) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str9429) %t7 = load ptr, ptr %t0 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str9430) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str9431) 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 @.str9432) 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str9433, 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str9434, 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 3837, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str9435, 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 @.str9437) %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 3838, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str9438, ptr %t11) store i32 0, ptr @lp_site store i32 3839, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str9440) 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 3840, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str9441, ptr %t16) store i32 0, ptr @lp_site store i32 3841, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9442) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = load ptr, ptr %t15 store i32 3842, 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 3843, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str9443) 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 @.str9444) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str9445) %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 3844, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str9446, ptr %t33) store i32 0, ptr @lp_site store i32 3845, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9447) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t32 store i32 3846, 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 3847, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str9448) 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 @.str9449) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str9450) %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 @.str9451) %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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str9452, 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 3848, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str9453, ptr %t73) store i32 0, ptr @lp_site store i32 3849, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str9454) 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 @.str9455, ptr %t78 %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str9456) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then13, label %ifend15 then13: store ptr @.str9457, ptr %t78 br label %ifend15 ifend15: %t82 = load ptr, ptr %t78 store i32 3850, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str9458, ptr %t82) store i32 0, ptr @lp_site store i32 3851, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9459) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t69 store i32 3852, 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 3853, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9460) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t77 store i32 3854, 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 3855, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str9461) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t54 store i32 3856, 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 3857, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str9462) 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 3858, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str9463, ptr %t96) store i32 0, ptr @lp_site store i32 3859, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str9464) 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 @.str9465) store ptr %t100, ptr %retval br label %ret ifend10: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str9466) %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 3860, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str9467, ptr %t113) store i32 0, ptr @lp_site store i32 3861, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str9468) 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 3862, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str9469, ptr %t118) store i32 0, ptr @lp_site store i32 3863, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str9470) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t117 store i32 3864, 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 3865, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str9471) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t112 store i32 3866, 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 3867, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str9472) 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 @.str9473) store ptr %t128, ptr %retval br label %ret ifend18: %t129 = load ptr, ptr %t0 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str9474) %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 3868, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str9475, ptr %t135) store i32 0, ptr @lp_site store i32 3869, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str9476) 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 3870, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str9477, ptr %t140) store i32 0, ptr @lp_site store i32 3871, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str9478) 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 @.str9479) store ptr %t144, ptr %retval br label %ret ifend21: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str9480) %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 @.str9481) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str9482) %t152 = call ptr @fn_val(ptr @.str9483, ptr @.str9484) store ptr %t152, ptr %retval br label %ret ifend24: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str9485) %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 @.str9486) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str9487) %t160 = call ptr @fn_val(ptr @.str9488, ptr @.str9489) store ptr %t160, ptr %retval br label %ret ifend27: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str9490) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then28, label %ifend30 then28: %t164 = call ptr @fn_emit_bind(ptr @.str9491) %t165 = call ptr @fn_val(ptr %t164, ptr @.str9492) store ptr %t165, ptr %retval br label %ret ifend30: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str9493) %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 @.str9494) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t173 store i32 3872, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr @.str9495, ptr %t174) store i32 0, ptr @lp_site store i32 3873, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str9496) store i32 0, ptr @lp_site call void @lp_free(ptr %t175) %t177 = load ptr, ptr %t171 store i32 3874, 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 3875, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr @.str9497, ptr %t181) store i32 0, ptr @lp_site %t183 = call ptr @fn_emit_bind(ptr %t182) %t184 = call ptr @fn_val(ptr %t183, ptr @.str9498) store ptr %t184, ptr %retval br label %ret ifend33: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str9499) %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 @.str9500) %t191 = load ptr, ptr %t190 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str9501) call void @fn_emit(ptr @.str9502) store i32 1, ptr @g_g_term %t192 = call ptr @fn_val(ptr @.str9503, ptr @.str9504) store ptr %t192, ptr %retval br label %ret ifend36: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str9505) %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 @.str9506) store ptr %t198, ptr %retval br label %ret ifend39: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str9507) %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 @.str9508) store ptr %t204, ptr %retval br label %ret ifend42: %t205 = load ptr, ptr %t0 %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str9509) %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 3876, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr @.str9510, ptr %t211) store i32 0, ptr @lp_site store i32 3877, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str9511) 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 @.str9512) store ptr %t215, ptr %retval br label %ret ifend45: %t216 = load ptr, ptr %t0 %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str9513) %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 3878, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr @.str9514, ptr %t222) store i32 0, ptr @lp_site store i32 3879, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str9515) 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 @.str9516) store ptr %t226, ptr %retval br label %ret ifend48: store i32 0, ptr @g_g_intrin_ok %t227 = call ptr @fn_val(ptr @.str9517, ptr @.str9518) 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 3880, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str9519, ptr %t4) store i32 0, ptr @lp_site store i32 3881, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str9521) 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 @.str9522, ptr %retval br label %ret ifend5: store ptr @.str9523, 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 @.str9524) %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 @.str9525) %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 @.str9526) %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 @.str9527) %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 @.str9528) %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 @.str9529) %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 @.str9530) %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 @.str9531) %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 @.str9532) %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 @.str9533) %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 @.str9534) %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 @.str9535) %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 @.str9536) %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 @.str9537) %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 @.str9538) %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 @.str9539) %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 @.str9540) %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 @.str9541) %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 @.str9542) %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 @.str9543) %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 @.str9544) %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 @.str9545) %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 @.str9546) %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 @.str9547) %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 @.str9548) %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 @.str9549) %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 @.str9550) %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 @.str9551) %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 @.str9552) %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 @.str9553) %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 @.str9554) %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 @.str9555) %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 @.str9556) %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 @.str9557) %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 @.str9558) %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 @.str9559) %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 @.str9560) %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 @.str9561) %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 @.str9562) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str9563, 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 3882, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str9564, 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 3883, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str9566, ptr %t30) store i32 0, ptr @lp_site store i32 3884, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str9567) 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 3885, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str9568, ptr %t35) store i32 0, ptr @lp_site store i32 3886, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9569) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) call void @fn_emit(ptr %t37) %t38 = call ptr @fn_val(ptr @.str9570, ptr @.str9571) store ptr %t38, ptr %retval br label %ret ifend2: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str9572) %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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str9573, 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 3887, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str9574, ptr %t63) store i32 0, ptr @lp_site store i32 3888, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9575) 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 @.str9576) %t68 = load ptr, ptr %t56 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9577) %t69 = load ptr, ptr %t59 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str9578) %t70 = load ptr, ptr %t67 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9579) %t71 = call ptr @fn_val(ptr @.str9580, ptr @.str9581) store ptr %t71, ptr %retval br label %ret ifend10: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str9582) %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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str9583, 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 @.str9584) %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str9585) %t96 = load ptr, ptr %t89 call void @fn_emit(ptr %t96) call void @fn_emit(ptr @.str9586) %t97 = load ptr, ptr %t92 call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str9587) %t98 = load ptr, ptr %t94 %t99 = call ptr @fn_val(ptr %t98, ptr @.str9588) store ptr %t99, ptr %retval br label %ret ifend15: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str9589) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then18, label %ifend20 then18: %t103 = call ptr @fn_emit_bind(ptr @.str9590) %t104 = call ptr @fn_val(ptr %t103, ptr @.str9591) store ptr %t104, ptr %retval br label %ret ifend20: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str9592) %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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str9593, 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 @.str9594) store ptr %t124, ptr %retval br label %ret ifend23: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str9595) %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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str9596, 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 @.str9597) store ptr %t144, ptr %retval br label %ret ifend28: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str9598) %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 @.str9599, ptr @.str9600) store ptr %t150, ptr %retval br label %ret ifend36: %t151 = call ptr @fn_val(ptr @.str9601, ptr @.str9602) store ptr %t151, ptr %retval br label %ret ifend33: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str9603) %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 @.str9604) %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 @.str9605, ptr @.str9606) store ptr %t166, ptr %retval br label %ret ifend44: %t167 = call ptr @fn_val(ptr @.str9607, ptr @.str9608) store ptr %t167, ptr %retval br label %ret ifend39: %t168 = load ptr, ptr %t0 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str9609) %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then45, label %ifend47 then45: %t171 = call ptr @fn_val(ptr @.str9610, ptr @.str9611) store ptr %t171, ptr %retval br label %ret ifend47: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str9612) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then48, label %ifend50 then48: %t175 = call ptr @fn_emit_bind(ptr @.str9613) %t176 = call ptr @fn_val(ptr %t175, ptr @.str9614) store ptr %t176, ptr %retval br label %ret ifend50: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str9615) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then51, label %ifend53 then51: %t180 = call ptr @fn_emit_bind(ptr @.str9616) %t181 = call ptr @fn_val(ptr %t180, ptr @.str9617) store ptr %t181, ptr %retval br label %ret ifend53: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str9618) %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 @.str9619) %t197 = load ptr, ptr %t187 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str9620) %t198 = load ptr, ptr %t190 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str9621) %t199 = load ptr, ptr %t193 call void @fn_emit(ptr %t199) call void @fn_emit(ptr @.str9622) %t200 = load ptr, ptr %t196 call void @fn_emit(ptr %t200) call void @fn_emit(ptr @.str9623) %t201 = call ptr @fn_val(ptr @.str9624, ptr @.str9625) store ptr %t201, ptr %retval br label %ret ifend56: %t202 = load ptr, ptr %t0 %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str9626) %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 @.str9627) %t214 = load ptr, ptr %t207 call void @fn_emit(ptr %t214) call void @fn_emit(ptr @.str9628) %t215 = load ptr, ptr %t210 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str9629) %t216 = load ptr, ptr %t213 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str9630) %t217 = call ptr @fn_val(ptr @.str9631, ptr @.str9632) store ptr %t217, ptr %retval br label %ret ifend59: %t218 = load ptr, ptr %t0 %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str9633) %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str9634) %t221 = call ptr @fn_val(ptr @.str9635, ptr @.str9636) store ptr %t221, ptr %retval br label %ret ifend62: %t222 = load ptr, ptr %t0 %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str9637) %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 @.str9638) %t228 = load ptr, ptr %t227 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str9639) %t229 = call ptr @fn_val(ptr @.str9640, ptr @.str9641) store ptr %t229, ptr %retval br label %ret ifend65: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str9642) %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 @.str9643) %t236 = load ptr, ptr %t235 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str9644) %t237 = call ptr @fn_val(ptr @.str9645, ptr @.str9646) store ptr %t237, ptr %retval br label %ret ifend68: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str9647) %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 3889, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr @.str9648, ptr %t244) store i32 0, ptr @lp_site store i32 3890, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str9649) 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 @.str9650) store ptr %t248, ptr %retval br label %ret ifend71: %t249 = load ptr, ptr %t0 %t250 = call i32 @lp_str_eq(ptr %t249, ptr @.str9651) %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 3891, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr @.str9652, ptr %t258) store i32 0, ptr @lp_site store i32 3892, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str9653) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t257 store i32 3893, 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 3894, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str9654) 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 @.str9655) store ptr %t265, ptr %retval br label %ret ifend74: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str9656) %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 @.str9657) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str9658) %t273 = call ptr @fn_val(ptr @.str9659, ptr @.str9660) store ptr %t273, ptr %retval br label %ret ifend77: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str9661) %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 @.str9662) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str9663) %t281 = call ptr @fn_val(ptr @.str9664, ptr @.str9665) store ptr %t281, ptr %retval br label %ret ifend80: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str9666) %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 @.str9667) %t288 = load ptr, ptr %t287 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str9668) %t289 = call ptr @fn_val(ptr @.str9669, ptr @.str9670) store ptr %t289, ptr %retval br label %ret ifend83: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str9671) %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 3895, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr @.str9672, ptr %t296) store i32 0, ptr @lp_site store i32 3896, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str9673) 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 @.str9674) store ptr %t300, ptr %retval br label %ret ifend86: %t301 = load ptr, ptr %t0 %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str9675) %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 @.str9676) %t316 = load ptr, ptr %t306 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str9677) %t317 = load ptr, ptr %t309 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str9678) %t318 = load ptr, ptr %t312 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str9679) %t319 = load ptr, ptr %t315 call void @fn_emit(ptr %t319) call void @fn_emit(ptr @.str9680) %t320 = call ptr @fn_val(ptr @.str9681, ptr @.str9682) store ptr %t320, ptr %retval br label %ret ifend89: %t321 = load ptr, ptr %t0 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str9683) %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 @.str9684) %t327 = load ptr, ptr %t326 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str9685) %t328 = call ptr @fn_val(ptr @.str9686, ptr @.str9687) store ptr %t328, ptr %retval br label %ret ifend92: %t329 = load ptr, ptr %t0 %t330 = call i32 @lp_str_eq(ptr %t329, ptr @.str9688) %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 3897, ptr @lp_site %t336 = call ptr @lp_str_concat(ptr @.str9689, ptr %t335) store i32 0, ptr @lp_site store i32 3898, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str9690) 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 @.str9691) store ptr %t339, ptr %retval br label %ret ifend95: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str9692) %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 @.str9693) %t349 = load ptr, ptr %t345 call void @fn_emit(ptr %t349) call void @fn_emit(ptr @.str9694) %t350 = load ptr, ptr %t348 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str9695) %t351 = call ptr @fn_val(ptr @.str9696, ptr @.str9697) store ptr %t351, ptr %retval br label %ret ifend98: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str9698) %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 @.str9699) %t361 = load ptr, ptr %t357 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str9700) %t362 = load ptr, ptr %t360 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str9701) %t363 = call ptr @fn_val(ptr @.str9702, ptr @.str9703) store ptr %t363, ptr %retval br label %ret ifend101: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str9704) %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 @.str9705) %t373 = load ptr, ptr %t369 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str9706) %t374 = load ptr, ptr %t372 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str9707) %t375 = call ptr @fn_val(ptr @.str9708, ptr @.str9709) store ptr %t375, ptr %retval br label %ret ifend104: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str9710) %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 3899, ptr @lp_site %t386 = call ptr @lp_str_concat(ptr @.str9711, ptr %t385) store i32 0, ptr @lp_site store i32 3900, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str9712) store i32 0, ptr @lp_site call void @lp_free(ptr %t386) %t388 = load ptr, ptr %t384 store i32 3901, 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 3902, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str9713) 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 @.str9714) store ptr %t392, ptr %retval br label %ret ifend107: %t393 = load ptr, ptr %t0 %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str9715) %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 @.str9716) %t405 = load ptr, ptr %t398 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str9717) %t406 = load ptr, ptr %t401 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str9718) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str9719) %t408 = call ptr @fn_val(ptr @.str9720, ptr @.str9721) store ptr %t408, ptr %retval br label %ret ifend110: %t409 = load ptr, ptr %t0 %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str9722) %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 @.str9723) %t421 = load ptr, ptr %t414 call void @fn_emit(ptr %t421) call void @fn_emit(ptr @.str9724) %t422 = load ptr, ptr %t417 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str9725) %t423 = load ptr, ptr %t420 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str9726) %t424 = call ptr @fn_val(ptr @.str9727, ptr @.str9728) store ptr %t424, ptr %retval br label %ret ifend113: %t425 = load ptr, ptr %t0 %t426 = call i32 @lp_str_eq(ptr %t425, ptr @.str9729) %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 @.str9730) %t434 = load ptr, ptr %t430 call void @fn_emit(ptr %t434) call void @fn_emit(ptr @.str9731) %t435 = load ptr, ptr %t433 call void @fn_emit(ptr %t435) call void @fn_emit(ptr @.str9732) %t436 = call ptr @fn_val(ptr @.str9733, ptr @.str9734) store ptr %t436, ptr %retval br label %ret ifend116: %t437 = load ptr, ptr %t0 %t438 = call i32 @lp_str_eq(ptr %t437, ptr @.str9735) %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 3903, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr @.str9736, ptr %t443) store i32 0, ptr @lp_site store i32 3904, ptr @lp_site %t445 = call ptr @lp_str_concat(ptr %t444, ptr @.str9737) 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 @.str9738) store ptr %t447, ptr %retval br label %ret ifend119: %t448 = load ptr, ptr %t0 %t449 = call i32 @lp_str_eq(ptr %t448, ptr @.str9739) %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 3905, ptr @lp_site %t455 = call ptr @lp_str_concat(ptr @.str9740, ptr %t454) store i32 0, ptr @lp_site store i32 3906, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str9741) 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 @.str9742) store ptr %t458, ptr %retval br label %ret ifend122: %t459 = load ptr, ptr %t0 %t460 = call i32 @lp_str_eq(ptr %t459, ptr @.str9743) %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 3907, ptr @lp_site %t466 = call ptr @lp_str_concat(ptr @.str9744, ptr %t465) store i32 0, ptr @lp_site store i32 3908, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str9745) 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 @.str9746) store ptr %t469, ptr %retval br label %ret ifend125: %t470 = load ptr, ptr %t0 %t471 = call i32 @lp_str_eq(ptr %t470, ptr @.str9747) %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 3909, ptr @lp_site %t477 = call ptr @lp_str_concat(ptr @.str9748, ptr %t476) store i32 0, ptr @lp_site store i32 3910, ptr @lp_site %t478 = call ptr @lp_str_concat(ptr %t477, ptr @.str9749) 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 @.str9750) store ptr %t480, ptr %retval br label %ret ifend128: %t481 = load ptr, ptr %t0 %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str9751) %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 3911, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr @.str9752, ptr %t490) store i32 0, ptr @lp_site store i32 3912, ptr @lp_site %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str9753) store i32 0, ptr @lp_site call void @lp_free(ptr %t491) %t493 = load ptr, ptr %t489 store i32 3913, 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 3914, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str9754) 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 @.str9755) store ptr %t497, ptr %retval br label %ret ifend131: %t498 = load ptr, ptr %t0 %t499 = call i32 @lp_str_eq(ptr %t498, ptr @.str9756) %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 @.str9757) %t504 = load ptr, ptr %t503 call void @fn_emit(ptr %t504) call void @fn_emit(ptr @.str9758) %t505 = call ptr @fn_val(ptr @.str9759, ptr @.str9760) store ptr %t505, ptr %retval br label %ret ifend134: %t506 = call ptr @fn_val(ptr @.str9761, ptr @.str9762) 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 @.str9763) %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 @.str9764) %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 @.str9765, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str9766, 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 @.str9767) %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 3915, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str9768, ptr %t6) store i32 0, ptr @lp_site store i32 3916, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str9770) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 3917, 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 3918, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str9771) 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 @.str9772) %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 @.str9773) %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 @.str9774, ptr %retval br label %ret ifend4: store ptr @.str9775, 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 3919, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str9776, ptr %t35) store i32 0, ptr @lp_site store i32 3920, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9778) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t34 store i32 3921, 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 @.str9779, 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 @.str9780) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then12, label %ifend14 then12: store ptr @.str9781, 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 @.str9782) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then15, label %ifend17 then15: store ptr @.str9783, 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 @.str9784) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then18, label %ifend20 then18: store ptr @.str9785, 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 @.str9786) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then21, label %ifend23 then21: store ptr @.str9787, ptr %t59 br label %ifend23 ifend23: %t80 = load ptr, ptr %t59 store i32 3922, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str9788) store i32 0, ptr @lp_site %t82 = load ptr, ptr %t1 store i32 3923, 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 3924, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9789) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t52 store i32 3925, 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 3926, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9790) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t58 store i32 3927, 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 @.str9791) store ptr @.str9792, 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 @.str9793) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str9794, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str9795) %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 @.str9796) %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 @.str9797, ptr %retval br label %ret ifend7: store ptr @.str9798, 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 3928, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9799) 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 @.str9801) %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 3929, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str9802, ptr %t15) store i32 0, ptr @lp_site store i32 3930, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str9803) 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 @.str9804) %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 @.str9805) %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 3931, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str9806, ptr %t28) store i32 0, ptr @lp_site store i32 3932, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str9808) 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 @.str9809) %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 @.str9810) %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 3933, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str9811) 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 @.str9812) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then16, label %ifend18 then16: %t63 = load ptr, ptr %t2 store i32 3934, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str9813) store i32 0, ptr @lp_site %t65 = load ptr, ptr %t1 store i32 3935, 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 3936, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str9814) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t1 store i32 3937, 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 3938, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9815) 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 @.str9816) %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 @.str9817) %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 3939, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str9818) 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 3940, 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 3941, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str9819) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t1 store i32 3942, 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 3943, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str9820) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t1 store i32 3944, 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 3945, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str9821) 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 @.str9822) %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 3946, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str9823, ptr %t128) store i32 0, ptr @lp_site store i32 3947, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str9824) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t1 store i32 3948, 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 @.str9825) %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 3949, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str9826, ptr %t153) store i32 0, ptr @lp_site store i32 3950, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9827) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) %t156 = load ptr, ptr %t1 store i32 3951, 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 3952, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str9828) 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 3953, 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 3954, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str9829) 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 @.str9830) %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 @.str9831, 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 3955, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str9833, ptr %t24) store i32 0, ptr @lp_site store i32 3956, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str9835) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t1 store i32 3957, 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 @.str9832, ptr %t28) br label %ret ifend14: %t29 = load ptr, ptr %t15 store i32 3958, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str9836) store i32 0, ptr @lp_site %t31 = load i32, ptr @g_g_err_line %t32 = call ptr @fn_itoa(i32 %t31) store i32 3959, 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 3960, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str9837) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t0 store i32 3961, 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 3962, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9838) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t1 store i32 3963, 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 3964, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9839) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr @__stderrp %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 @.str9840) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str9841, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str9842) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str9843, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str9844) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str9845, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str9846) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str9847, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str9848) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str9849, ptr %retval br label %ret ifend14: store ptr @.str9850, 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 @.str9851, 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 @.str9852, 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 @.str9853) %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 @.str9854) 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 @.str9855) %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 @.str9856) %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 @.str9857) %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 @.str9858) %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 @.str9859, 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 3965, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str9860, 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 3966, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str9862, 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 3967, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str9863, ptr %t95) store i32 0, ptr @lp_site store i32 3968, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str9864) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t45 store i32 3969, 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 3970, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str9865) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = load ptr, ptr %t84 store i32 3971, 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 3972, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str9866) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr %t90 store i32 3973, 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 3974, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str9867, ptr %t108) store i32 0, ptr @lp_site store i32 3975, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str9868) 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 @.str9869) store ptr %t112, ptr %retval br label %ret ifend20: store ptr @.str9870, ptr %t113 %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str9871) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then21, label %ifend23 then21: store ptr @.str9872, ptr %t113 br label %ifend23 ifend23: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str9873) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then24, label %ifend26 then24: store ptr @.str9874, ptr %t113 br label %ifend26 ifend26: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str9875) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then27, label %ifend29 then27: store ptr @.str9876, ptr %t113 br label %ifend29 ifend29: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str9877) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then30, label %ifend32 then30: store ptr @.str9878, ptr %t113 br label %ifend32 ifend32: %t126 = load ptr, ptr %t0 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str9879) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then33, label %ifend35 then33: store ptr @.str9880, ptr %t113 br label %ifend35 ifend35: %t129 = load ptr, ptr %t113 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str9881) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then36, label %ifend38 then36: %t132 = load ptr, ptr %t0 store i32 3976, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str9882, ptr %t132) store i32 0, ptr @lp_site store i32 3977, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str9883) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) %t135 = load ptr, ptr %t45 store i32 3978, 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 3979, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str9884) store i32 0, ptr @lp_site %t139 = load ptr, ptr %t45 store i32 3980, 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 3981, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str9885) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) %t142 = load ptr, ptr %t84 store i32 3982, 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 3983, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str9886) store i32 0, ptr @lp_site call void @lp_free(ptr %t143) %t145 = load ptr, ptr %t90 store i32 3984, 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 @.str9887) %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 3985, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str9888, ptr %t33) store i32 0, ptr @lp_site store i32 3986, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9890) 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 3987, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str9891, ptr %t41) store i32 0, ptr @lp_site store i32 3988, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str9892) 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 @.str9893) %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 3989, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str9894, ptr %t54) store i32 0, ptr @lp_site store i32 3990, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str9895) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t0 store i32 3991, 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 3992, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str9896, ptr %t61) store i32 0, ptr @lp_site store i32 3993, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str9897) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t60 store i32 3994, 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 3995, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str9898) 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 @.str9899) %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 @.str9900) %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 3996, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str9901, ptr %t86) store i32 0, ptr @lp_site store i32 3997, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str9902) 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 3998, 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 3999, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str9903) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr %t0 store i32 4000, 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 4001, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str9904) 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 4002, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str9905, ptr %t3) store i32 0, ptr @lp_site store i32 4003, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str9907) 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 4004, 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 4005, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9908) 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 @.str9909) 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 4006, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str9910, ptr %t3) store i32 0, ptr @lp_site store i32 4007, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str9912) 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 4008, 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 4009, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9913) 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 @.str9914) 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 4010, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str9915, ptr %t3) store i32 0, ptr @lp_site store i32 4011, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str9917) 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 4012, 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 4013, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9918) 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 4014, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str9919, ptr %t15) store i32 0, ptr @lp_site store i32 4015, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str9920) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t12 store i32 4016, 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 4017, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str9921) 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 @.str9922) 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 @.str9923, ptr @.str9924) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 store i32 4018, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str9925, ptr %t4) store i32 0, ptr @lp_site store i32 4019, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str9927) 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 @.str9928) 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 4020, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str9929, ptr %t3) store i32 0, ptr @lp_site store i32 4021, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str9931) 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 @.str9932) 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 @.str9933, ptr @.str9934) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 store i32 4022, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str9935, ptr %t4) store i32 0, ptr @lp_site store i32 4023, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str9937) 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 @.str9938) 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 4024, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str9939, ptr %t2) store i32 0, ptr @lp_site store i32 4025, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str9941) 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 @.str9942) 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 @.str9943, 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 @.str9944) %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 4026, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str9945, ptr %t13) store i32 0, ptr @lp_site store i32 4027, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str9947) 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 @.str9948, ptr %t5 br label %ifend2 ifend2: %t17 = load ptr, ptr %t4 store i32 4028, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str9949, ptr %t17) store i32 0, ptr @lp_site store i32 4029, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str9950) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t5 store i32 4030, 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 4031, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str9951) 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 @.str9952) 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 @.str9953) call void @fn_fp_declare(ptr @.str9954) call void @fn_fp_declare(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) 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 @.str9976, ptr %t2 store ptr @.str9977, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str9978) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str9979, ptr %t2 store ptr @.str9980, 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 4032, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str9981, ptr %t9) store i32 0, ptr @lp_site store i32 4033, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str9983) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t2 store i32 4034, 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 4035, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str9984, ptr %t16) store i32 0, ptr @lp_site store i32 4036, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9985) 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 4037, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str9986, ptr %t21) store i32 0, ptr @lp_site store i32 4038, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9987) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str9988, 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 4039, 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 @.str9990) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 store i32 4040, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9991) store i32 0, ptr @lp_site store ptr %t9, ptr %t4 br label %ifend2 ifend2: %t10 = load ptr, ptr %t1 store i32 4041, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str9993, ptr %t10) store i32 0, ptr @lp_site store i32 4042, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str9994) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t4 store i32 4043, 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 4044, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str9995) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t1 store i32 4045, 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 4046, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9996) 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 4047, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str9997, ptr %t19) store i32 0, ptr @lp_site store i32 4048, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str9998) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t4 store i32 4049, 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 4050, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9999) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t1 store i32 4051, 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 4052, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10000) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t2 store i32 4053, 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 4054, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10001) 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 @.str10002) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 store i32 4055, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10003) store i32 0, ptr @lp_site store ptr %t10, ptr %t5 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 store i32 4056, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str10005, ptr %t11) store i32 0, ptr @lp_site store i32 4057, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10006) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t5 store i32 4058, 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 4059, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10007) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t1 store i32 4060, 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 4061, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10008) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 4062, 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 4063, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10009) 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 4064, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str10010, ptr %t23) store i32 0, ptr @lp_site store i32 4065, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10011) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t5 store i32 4066, 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 4067, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str10012) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t1 store i32 4068, 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 4069, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str10013) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = load ptr, ptr %t2 store i32 4070, 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 4071, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str10014) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t1 store i32 4072, 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 4073, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10015) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t3 store i32 4074, 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 4075, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10016) 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 @.str10017, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str10018) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str10019, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 store i32 4076, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str10020, ptr %t7) store i32 0, ptr @lp_site store i32 4077, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10022) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = load ptr, ptr %t0 store i32 4078, 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 4079, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str10023) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t3 store i32 4080, 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 4081, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str10024) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t1 store i32 4082, 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 4083, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10025) 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 4084, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str10026, ptr %t19) store i32 0, ptr @lp_site store i32 4085, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str10027) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t0 store i32 4086, 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 4087, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10028) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t3 store i32 4088, 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 4089, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10029) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t1 store i32 4090, 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 4091, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10030) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t2 store i32 4092, 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 4093, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10031) 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 @.str10032, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10033) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str10034, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t1 store i32 4094, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str10035, ptr %t8) store i32 0, ptr @lp_site store i32 4095, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10037) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t0 store i32 4096, 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 4097, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10038) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t4 store i32 4098, 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 4099, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10039) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t1 store i32 4100, 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 4101, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10040) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t1 store i32 4102, 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 4103, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10041) 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 4104, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str10042, ptr %t23) store i32 0, ptr @lp_site store i32 4105, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10043) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t0 store i32 4106, 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 4107, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str10044) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t4 store i32 4108, 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 4109, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str10045) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) %t32 = load ptr, ptr %t1 store i32 4110, 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 4111, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str10046) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t2 store i32 4112, 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 4113, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10047) store i32 0, ptr @lp_site call void @lp_free(ptr %t36) %t38 = load ptr, ptr %t1 store i32 4114, 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 4115, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10048) store i32 0, ptr @lp_site call void @lp_free(ptr %t39) %t41 = load ptr, ptr %t3 store i32 4116, 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 4117, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str10049) 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 @.str10050, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10051) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str10052, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t4 store i32 4118, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str10053, ptr %t8) store i32 0, ptr @lp_site store i32 4119, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10055) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t1 store i32 4120, 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 4121, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10056) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t2 store i32 4122, 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 4123, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10057) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t3 store i32 4124, 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 4125, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str10058, ptr %t21) store i32 0, ptr @lp_site store i32 4126, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str10059) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = load ptr, ptr %t1 store i32 4127, 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 4128, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10060) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t2 store i32 4129, 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 4130, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10061) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t1 store i32 4131, 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 4132, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str10062) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t3 store i32 4133, 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 @.str10063, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10064, 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 @.str10065) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str10066, 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 4134, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str10067, 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 4135, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str10069, 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 @.str10071) %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 @.str10072, 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 @.str10073) %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 @.str10074, 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 @.str10075) %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 @.str10076, 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 @.str10077) %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 @.str10078, 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 @.str10079) %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 @.str10080, 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 @.str10081) %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 @.str10082, 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 @.str10083) %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 @.str10084, 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 @.str10085) %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 @.str10086, 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 @.str10087) %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 @.str10088, 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 @.str10089) %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 @.str10090, 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 @.str10091) %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 @.str10092, 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 @.str10093) %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 @.str10094, 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 @.str10095) %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 @.str10096, 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 @.str10097) %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 @.str10098, 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 @.str10099) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then42, label %ifend44 then42: %t125 = load ptr, ptr %t1 store i32 4136, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str10100, ptr %t125) store i32 0, ptr @lp_site store i32 4137, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str10101) store i32 0, ptr @lp_site call void @lp_free(ptr %t126) %t128 = load ptr, ptr %t9 store i32 4138, 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 4139, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str10102) 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 4140, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr @.str10103, ptr %t133) store i32 0, ptr @lp_site store i32 4141, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str10104) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t9 store i32 4142, 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 4143, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str10105) 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 4144, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str10106, ptr %t141) store i32 0, ptr @lp_site store i32 4145, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10107) 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 4146, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str10108, ptr %t146) store i32 0, ptr @lp_site store i32 4147, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str10109) store i32 0, ptr @lp_site call void @lp_free(ptr %t147) %t149 = load ptr, ptr %t145 store i32 4148, 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 @.str10110) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str10111) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then45, label %ifend47 then45: %t156 = load ptr, ptr %t1 store i32 4149, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str10112, ptr %t156) store i32 0, ptr @lp_site store i32 4150, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str10113) 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 @.str10114, ptr %t159) store i32 4151, 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 4152, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str10115) 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 4153, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str10116, ptr %t165) store i32 0, ptr @lp_site store i32 4154, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str10117) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t9 store i32 4155, 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 4156, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str10118) store i32 0, ptr @lp_site call void @lp_free(ptr %t169) %t171 = load ptr, ptr %t164 store i32 4157, 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 @.str10119) %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then48, label %ifend50 then48: %t179 = load ptr, ptr %t1 store i32 4158, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str10120, ptr %t179) store i32 0, ptr @lp_site store i32 4159, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str10121) 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 @.str10122, ptr %t182) store i32 4160, 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 4161, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr @.str10123, ptr %t187) store i32 0, ptr @lp_site store i32 4162, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str10124) store i32 0, ptr @lp_site call void @lp_free(ptr %t188) %t190 = load ptr, ptr %t9 store i32 4163, 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 4164, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10125) store i32 0, ptr @lp_site call void @lp_free(ptr %t191) %t193 = load ptr, ptr %t186 store i32 4165, 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 @.str10126) %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 @.str10127) %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 @.str10128) %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 @.str10129, 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 @.str10130) %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 @.str10131, 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 @.str10132) %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 @.str10133, 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 @.str10134) %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 @.str10135) %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 4166, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr @.str10136, ptr %t273) store i32 0, ptr @lp_site store i32 4167, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str10137) store i32 0, ptr @lp_site call void @lp_free(ptr %t274) %t276 = load ptr, ptr %t9 store i32 4168, 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 4169, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str10138) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = load ptr, ptr %t272 store i32 4170, 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 4171, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr @.str10139, ptr %t283) store i32 0, ptr @lp_site store i32 4172, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str10140) store i32 0, ptr @lp_site call void @lp_free(ptr %t284) %t286 = load ptr, ptr %t282 store i32 4173, 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 4174, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str10141) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t272 store i32 4175, 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 4176, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr @.str10142, ptr %t293) store i32 0, ptr @lp_site store i32 4177, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str10143) store i32 0, ptr @lp_site call void @lp_free(ptr %t294) %t296 = load ptr, ptr %t292 store i32 4178, 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 4179, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str10144) store i32 0, ptr @lp_site call void @lp_free(ptr %t297) %t299 = load ptr, ptr %t272 store i32 4180, 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 @.str10145) %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 @.str10146, 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 @.str10147, 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 @.str10148) %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 4181, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str10149, ptr %t341) store i32 0, ptr @lp_site store i32 4182, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str10150) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = load ptr, ptr %t335 store i32 4183, 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 4184, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str10151) store i32 0, ptr @lp_site call void @lp_free(ptr %t345) %t347 = load ptr, ptr %t9 store i32 4185, 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 4186, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str10152, ptr %t351) store i32 0, ptr @lp_site store i32 4187, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str10153) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = load ptr, ptr %t350 store i32 4188, 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 4189, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str10154) store i32 0, ptr @lp_site call void @lp_free(ptr %t355) %t357 = load ptr, ptr %t340 store i32 4190, 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 4191, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr @.str10155, ptr %t361) store i32 0, ptr @lp_site store i32 4192, ptr @lp_site %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str10156) store i32 0, ptr @lp_site call void @lp_free(ptr %t362) %t364 = load ptr, ptr %t9 store i32 4193, 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 4194, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str10157) store i32 0, ptr @lp_site call void @lp_free(ptr %t365) %t367 = load ptr, ptr %t360 store i32 4195, 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 @.str10158) %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 4196, ptr @lp_site %t386 = call ptr @lp_str_concat(ptr @.str10159, ptr %t385) store i32 0, ptr @lp_site store i32 4197, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str10160) store i32 0, ptr @lp_site call void @lp_free(ptr %t386) %t388 = load ptr, ptr %t384 store i32 4198, 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 4199, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str10161) store i32 0, ptr @lp_site call void @lp_free(ptr %t389) %t391 = load ptr, ptr %t9 store i32 4200, 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 4201, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr @.str10162, ptr %t395) store i32 0, ptr @lp_site store i32 4202, ptr @lp_site %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str10163) store i32 0, ptr @lp_site call void @lp_free(ptr %t396) %t398 = load ptr, ptr %t379 store i32 4203, 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 4204, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str10164) store i32 0, ptr @lp_site call void @lp_free(ptr %t399) %t401 = load ptr, ptr %t9 store i32 4205, 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 4206, ptr @lp_site %t406 = call ptr @lp_str_concat(ptr @.str10165, ptr %t405) store i32 0, ptr @lp_site store i32 4207, ptr @lp_site %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str10166) store i32 0, ptr @lp_site call void @lp_free(ptr %t406) %t408 = load ptr, ptr %t394 store i32 4208, 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 4209, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str10167) store i32 0, ptr @lp_site call void @lp_free(ptr %t409) %t411 = load ptr, ptr %t404 store i32 4210, 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 @.str10168) %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 4211, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr @.str10169, ptr %t439) store i32 0, ptr @lp_site store i32 4212, ptr @lp_site %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str10170) store i32 0, ptr @lp_site call void @lp_free(ptr %t440) %t442 = load ptr, ptr %t9 store i32 4213, 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 4214, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str10171) store i32 0, ptr @lp_site call void @lp_free(ptr %t443) %t445 = load ptr, ptr %t423 store i32 4215, 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 4216, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr @.str10172, ptr %t449) store i32 0, ptr @lp_site store i32 4217, ptr @lp_site %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str10173) store i32 0, ptr @lp_site call void @lp_free(ptr %t450) %t452 = load ptr, ptr %t428 store i32 4218, 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 4219, ptr @lp_site %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str10174) store i32 0, ptr @lp_site call void @lp_free(ptr %t453) %t455 = load ptr, ptr %t423 store i32 4220, 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 4221, ptr @lp_site %t460 = call ptr @lp_str_concat(ptr @.str10175, ptr %t459) store i32 0, ptr @lp_site store i32 4222, ptr @lp_site %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str10176) store i32 0, ptr @lp_site call void @lp_free(ptr %t460) %t462 = load ptr, ptr %t448 store i32 4223, 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 4224, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str10177) store i32 0, ptr @lp_site call void @lp_free(ptr %t463) %t465 = load ptr, ptr %t458 store i32 4225, 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 4226, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr @.str10178, ptr %t469) store i32 0, ptr @lp_site store i32 4227, ptr @lp_site %t471 = call ptr @lp_str_concat(ptr %t470, ptr @.str10179) store i32 0, ptr @lp_site call void @lp_free(ptr %t470) %t472 = load ptr, ptr %t438 store i32 4228, 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 4229, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str10180) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) %t475 = load ptr, ptr %t433 store i32 4230, 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 4231, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr @.str10181, ptr %t479) store i32 0, ptr @lp_site store i32 4232, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str10182) store i32 0, ptr @lp_site call void @lp_free(ptr %t480) %t482 = load ptr, ptr %t478 store i32 4233, 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 4234, ptr @lp_site %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str10183) store i32 0, ptr @lp_site call void @lp_free(ptr %t483) %t485 = load ptr, ptr %t468 store i32 4235, 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 4236, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr @.str10184, ptr %t489) store i32 0, ptr @lp_site store i32 4237, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str10185) store i32 0, ptr @lp_site call void @lp_free(ptr %t490) %t492 = load ptr, ptr %t433 store i32 4238, 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 4239, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str10186) store i32 0, ptr @lp_site call void @lp_free(ptr %t493) %t495 = load ptr, ptr %t488 store i32 4240, 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 @.str10187) %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 4241, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr @.str10188, ptr %t513) store i32 0, ptr @lp_site store i32 4242, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str10189) store i32 0, ptr @lp_site call void @lp_free(ptr %t514) %t516 = load ptr, ptr %t512 store i32 4243, 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 4244, ptr @lp_site %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str10190) store i32 0, ptr @lp_site call void @lp_free(ptr %t517) %t519 = load ptr, ptr %t9 store i32 4245, 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 4246, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr @.str10191, ptr %t523) store i32 0, ptr @lp_site store i32 4247, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str10192) store i32 0, ptr @lp_site call void @lp_free(ptr %t524) %t526 = load ptr, ptr %t507 store i32 4248, 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 4249, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str10193) store i32 0, ptr @lp_site call void @lp_free(ptr %t527) %t529 = load ptr, ptr %t9 store i32 4250, 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 4251, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr @.str10194, ptr %t533) store i32 0, ptr @lp_site store i32 4252, ptr @lp_site %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str10195) store i32 0, ptr @lp_site call void @lp_free(ptr %t534) %t536 = load ptr, ptr %t522 store i32 4253, 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 4254, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str10196) store i32 0, ptr @lp_site call void @lp_free(ptr %t537) %t539 = load ptr, ptr %t532 store i32 4255, 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 @.str10197, ptr %t543, ptr %t544, ptr @.str10198) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t1 %t548 = load ptr, ptr %t546 %t549 = call ptr @fn_fp_pick(ptr @.str10199, ptr %t547, ptr %t548, ptr @.str10200) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t1 store i32 4256, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr @.str10201, ptr %t551) store i32 0, ptr @lp_site store i32 4257, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str10202) store i32 0, ptr @lp_site call void @lp_free(ptr %t552) %t554 = load ptr, ptr %t550 store i32 4258, 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 4259, ptr @lp_site %t556 = call ptr @lp_str_concat(ptr %t555, ptr @.str10203) store i32 0, ptr @lp_site call void @lp_free(ptr %t555) %t557 = load ptr, ptr %t550 store i32 4260, 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 4261, ptr @lp_site %t562 = call ptr @lp_str_concat(ptr @.str10204, ptr %t561) store i32 0, ptr @lp_site store i32 4262, ptr @lp_site %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str10205) store i32 0, ptr @lp_site call void @lp_free(ptr %t562) %t564 = load ptr, ptr %t550 store i32 4263, 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 4264, ptr @lp_site %t566 = call ptr @lp_str_concat(ptr %t565, ptr @.str10206) 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 4265, ptr @lp_site %t570 = call ptr @lp_str_concat(ptr @.str10207, ptr %t569) store i32 0, ptr @lp_site store i32 4266, ptr @lp_site %t571 = call ptr @lp_str_concat(ptr %t570, ptr @.str10208) store i32 0, ptr @lp_site call void @lp_free(ptr %t570) %t572 = load ptr, ptr %t568 store i32 4267, 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 4268, ptr @lp_site %t577 = call ptr @lp_str_concat(ptr @.str10209, ptr %t576) store i32 0, ptr @lp_site store i32 4269, ptr @lp_site %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str10210) store i32 0, ptr @lp_site call void @lp_free(ptr %t577) %t579 = load ptr, ptr %t560 store i32 4270, 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 4271, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str10211) store i32 0, ptr @lp_site call void @lp_free(ptr %t580) %t582 = load ptr, ptr %t575 store i32 4272, 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 @.str10212) %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 4273, ptr @lp_site %t601 = call ptr @lp_str_concat(ptr @.str10213, ptr %t600) store i32 0, ptr @lp_site store i32 4274, ptr @lp_site %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str10214) store i32 0, ptr @lp_site call void @lp_free(ptr %t601) %t603 = load ptr, ptr %t594 store i32 4275, 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 4276, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str10215) store i32 0, ptr @lp_site call void @lp_free(ptr %t604) %t606 = load ptr, ptr %t9 store i32 4277, 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 @.str10216, ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t1 store i32 4278, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str10217, ptr %t614) store i32 0, ptr @lp_site store i32 4279, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str10218) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = load ptr, ptr %t613 store i32 4280, 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 4281, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str10219) store i32 0, ptr @lp_site call void @lp_free(ptr %t618) %t620 = load ptr, ptr %t599 store i32 4282, 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 4283, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr @.str10220, ptr %t624) store i32 0, ptr @lp_site store i32 4284, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str10221) store i32 0, ptr @lp_site call void @lp_free(ptr %t625) %t627 = load ptr, ptr %t609 store i32 4285, 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 4286, ptr @lp_site %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str10222) 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 4287, ptr @lp_site %t633 = call ptr @lp_str_concat(ptr @.str10223, ptr %t632) store i32 0, ptr @lp_site store i32 4288, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str10224) store i32 0, ptr @lp_site call void @lp_free(ptr %t633) %t635 = load ptr, ptr %t599 store i32 4289, 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 4290, ptr @lp_site %t640 = call ptr @lp_str_concat(ptr @.str10225, ptr %t639) store i32 0, ptr @lp_site store i32 4291, ptr @lp_site %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str10226) store i32 0, ptr @lp_site call void @lp_free(ptr %t640) %t642 = load ptr, ptr %t1 store i32 4292, 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 4293, ptr @lp_site %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str10227) store i32 0, ptr @lp_site call void @lp_free(ptr %t643) %t645 = load ptr, ptr %t638 store i32 4294, 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 4295, ptr @lp_site %t647 = call ptr @lp_str_concat(ptr %t646, ptr @.str10228) store i32 0, ptr @lp_site call void @lp_free(ptr %t646) %t648 = load ptr, ptr %t1 store i32 4296, 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 4297, ptr @lp_site %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str10229) store i32 0, ptr @lp_site call void @lp_free(ptr %t649) %t651 = load ptr, ptr %t599 store i32 4298, 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 4299, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr @.str10230, ptr %t655) store i32 0, ptr @lp_site store i32 4300, ptr @lp_site %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str10231) store i32 0, ptr @lp_site call void @lp_free(ptr %t656) %t658 = load ptr, ptr %t9 store i32 4301, 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 4302, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str10232) store i32 0, ptr @lp_site call void @lp_free(ptr %t659) %t661 = load ptr, ptr %t654 store i32 4303, 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 4304, ptr @lp_site %t666 = call ptr @lp_str_concat(ptr @.str10233, ptr %t665) store i32 0, ptr @lp_site store i32 4305, ptr @lp_site %t667 = call ptr @lp_str_concat(ptr %t666, ptr @.str10234) store i32 0, ptr @lp_site call void @lp_free(ptr %t666) %t668 = load ptr, ptr %t1 store i32 4306, 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 4307, ptr @lp_site %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str10235) store i32 0, ptr @lp_site call void @lp_free(ptr %t669) %t671 = load ptr, ptr %t594 store i32 4308, 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 4309, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str10236) store i32 0, ptr @lp_site call void @lp_free(ptr %t672) %t674 = load ptr, ptr %t1 store i32 4310, 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 4311, ptr @lp_site %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str10237) store i32 0, ptr @lp_site call void @lp_free(ptr %t675) %t677 = load ptr, ptr %t664 store i32 4312, 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 @.str10238) %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 @.str10239) %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 4313, ptr @lp_site %t709 = call ptr @lp_str_concat(ptr @.str10240, ptr %t708) store i32 0, ptr @lp_site store i32 4314, ptr @lp_site %t710 = call ptr @lp_str_concat(ptr %t709, ptr @.str10241) store i32 0, ptr @lp_site call void @lp_free(ptr %t709) %t711 = load ptr, ptr %t702 store i32 4315, 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 4316, ptr @lp_site %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str10242) store i32 0, ptr @lp_site call void @lp_free(ptr %t712) %t714 = load ptr, ptr %t9 store i32 4317, 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 4318, ptr @lp_site %t719 = call ptr @lp_str_concat(ptr @.str10243, ptr %t718) store i32 0, ptr @lp_site store i32 4319, ptr @lp_site %t720 = call ptr @lp_str_concat(ptr %t719, ptr @.str10244) store i32 0, ptr @lp_site call void @lp_free(ptr %t719) %t721 = load ptr, ptr %t707 store i32 4320, 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 4321, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str10245) store i32 0, ptr @lp_site call void @lp_free(ptr %t722) %t724 = load ptr, ptr %t697 store i32 4322, 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 4323, ptr @lp_site %t729 = call ptr @lp_str_concat(ptr @.str10246, ptr %t728) store i32 0, ptr @lp_site store i32 4324, ptr @lp_site %t730 = call ptr @lp_str_concat(ptr %t729, ptr @.str10247) store i32 0, ptr @lp_site call void @lp_free(ptr %t729) %t731 = load ptr, ptr %t717 store i32 4325, 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 4326, ptr @lp_site %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str10248) store i32 0, ptr @lp_site call void @lp_free(ptr %t732) %t734 = load ptr, ptr %t717 store i32 4327, 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 4328, ptr @lp_site %t739 = call ptr @lp_str_concat(ptr @.str10249, ptr %t738) store i32 0, ptr @lp_site store i32 4329, ptr @lp_site %t740 = call ptr @lp_str_concat(ptr %t739, ptr @.str10250) store i32 0, ptr @lp_site call void @lp_free(ptr %t739) %t741 = load ptr, ptr %t727 store i32 4330, 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 4331, ptr @lp_site %t743 = call ptr @lp_str_concat(ptr %t742, ptr @.str10251) store i32 0, ptr @lp_site call void @lp_free(ptr %t742) %t744 = load ptr, ptr %t727 store i32 4332, 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 4333, ptr @lp_site %t749 = call ptr @lp_str_concat(ptr @.str10252, ptr %t748) store i32 0, ptr @lp_site store i32 4334, ptr @lp_site %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str10253) store i32 0, ptr @lp_site call void @lp_free(ptr %t749) %t751 = load ptr, ptr %t737 store i32 4335, 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 4336, ptr @lp_site %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str10254) store i32 0, ptr @lp_site call void @lp_free(ptr %t752) %t754 = load ptr, ptr %t747 store i32 4337, 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 @.str10255) %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 @.str10256, 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 4338, ptr @lp_site %t770 = call ptr @lp_str_concat(ptr @.str10257, ptr %t769) store i32 0, ptr @lp_site store i32 4339, ptr @lp_site %t771 = call ptr @lp_str_concat(ptr %t770, ptr @.str10258) store i32 0, ptr @lp_site call void @lp_free(ptr %t770) %t772 = load ptr, ptr %t1 store i32 4340, 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 4341, ptr @lp_site %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str10259) 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 4342, 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 @.str10261) %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 @.str10262) %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 @.str10263) %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 @.str10264) %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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10265, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str10266, 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 @.str10267) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str10268, 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 4343, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str10269, ptr %t20) store i32 0, ptr @lp_site store i32 4344, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10271) 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 4345, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str10272, 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 4346, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str10273, ptr %t31) store i32 0, ptr @lp_site store i32 4347, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10274) store i32 0, ptr @lp_site call void @lp_free(ptr %t32) %t34 = load ptr, ptr %t30 store i32 4348, 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 4349, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str10275) 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 4350, 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 @.str10276) %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 @.str10277) %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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str10278, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10279, 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 @.str10280, ptr %t83 %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str10281) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then14, label %ifend16 then14: store ptr @.str10282, ptr %t83 br label %ifend16 ifend16: %t87 = load ptr, ptr %t83 store i32 4351, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str10283, ptr %t87) store i32 0, ptr @lp_site store i32 4352, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str10284) 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 4353, 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 4354, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10285) 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 4355, 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 4356, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str10286, ptr %t101) store i32 0, ptr @lp_site store i32 4357, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10287) 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 4358, 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 4359, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str10288) 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 4360, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str10289, 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: %t139 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str10290, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str10291, 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 4361, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str10292, ptr %t159) store i32 0, ptr @lp_site store i32 4362, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str10293) 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 4363, 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 4364, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr @.str10294, ptr %t168) store i32 0, ptr @lp_site store i32 4365, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str10295) 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 4366, 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 4367, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str10296) 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 4368, 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 4369, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str10297, ptr %t184) store i32 0, ptr @lp_site store i32 4370, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str10298) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t181 store i32 4371, 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 4372, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr @.str10299, ptr %t191) store i32 0, ptr @lp_site store i32 4373, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str10300) 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 4374, 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 4375, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str10301) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t181 store i32 4376, 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 4377, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str10302, ptr %t2) store i32 0, ptr @lp_site store i32 4378, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str10304) 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 4379, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str10305, ptr %t7) store i32 0, ptr @lp_site store i32 4380, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10306) 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 4381, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str10307, ptr %t12) store i32 0, ptr @lp_site store i32 4382, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10308) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t11 store i32 4383, 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 4384, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str10309, ptr %t19) store i32 0, ptr @lp_site store i32 4385, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str10310) 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 4386, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str10311, ptr %t24) store i32 0, ptr @lp_site store i32 4387, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10312) 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 4388, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str10313, ptr %t2) store i32 0, ptr @lp_site store i32 4389, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str10315) 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 4390, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str10316, ptr %t7) store i32 0, ptr @lp_site store i32 4391, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10317) 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 4392, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str10318, ptr %t12) store i32 0, ptr @lp_site store i32 4393, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10319) 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 4394, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str10320, ptr %t17) store i32 0, ptr @lp_site store i32 4395, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10321) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 4396, 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 4397, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str10322, ptr %t24) store i32 0, ptr @lp_site store i32 4398, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10323) 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 4399, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str10324, ptr %t3) store i32 0, ptr @lp_site store i32 4400, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str10326) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 4401, 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 4402, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str10327, ptr %t14) store i32 0, ptr @lp_site store i32 4403, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10328) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t13 store i32 4404, 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 4405, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str10329, ptr %t3) store i32 0, ptr @lp_site store i32 4406, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str10331) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 4407, 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 4408, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str10332, ptr %t10) store i32 0, ptr @lp_site store i32 4409, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str10333) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t0 store i32 4410, 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 @.str10334) %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 @.str10335) %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 @.str10336) %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 @.str10337) %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 @.str10338) %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 @.str10339) %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 @.str10340) %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 @.str10341) %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 @.str10342) %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 @.str10343) %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 @.str10344) %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 @.str10345) %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 @.str10346) %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 @.str10347) %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 @.str10348) %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 @.str10349) %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 @.str10350) %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 @.str10351) %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 @.str10352) %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 @.str10353) %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 @.str10354) %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 @.str10355) %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 @.str10356) %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 @.str10357) %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 @.str10358) %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 @.str10359) %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 @.str10360) %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 @.str10361) %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 @.str10362) %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 @.str10363) %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 @.str10364) %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 @.str10365) %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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str10366, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str10367, 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 @.str10368) %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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str10369, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10370, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str10371, 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 @.str10372) %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 @.str10373) %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 @.str10374) %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 @.str10375) %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 @.str10376) %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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10377, 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 4411, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str10378, ptr %t50) store i32 0, ptr @lp_site store i32 4412, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str10380) 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 4413, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str10381, ptr %t57) store i32 0, ptr @lp_site store i32 4414, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10382) 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 4415, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str10383, ptr %t62) store i32 0, ptr @lp_site store i32 4416, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10384) 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 4417, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str10385, ptr %t67) store i32 0, ptr @lp_site store i32 4418, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10386) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t66 store i32 4419, 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 @.str10387) store ptr %t73, ptr %retval br label %ret ifend11: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str10388) %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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str10389, 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 4420, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str10390, ptr %t92) store i32 0, ptr @lp_site store i32 4421, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10391) 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 @.str10392) store ptr %t96, ptr %retval br label %ret ifend16: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str10393) %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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10394, 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 4422, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr @.str10395, ptr %t115) store i32 0, ptr @lp_site store i32 4423, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str10396) 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 4424, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str10397, ptr %t120) store i32 0, ptr @lp_site store i32 4425, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str10398) 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 @.str10399) store ptr %t124, ptr %retval br label %ret ifend21: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str10400) %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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str10401, 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 4426, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr @.str10402, ptr %t143) store i32 0, ptr @lp_site store i32 4427, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str10403) 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 4428, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr @.str10404, ptr %t148) store i32 0, ptr @lp_site store i32 4429, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str10405) 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 @.str10406) store ptr %t152, ptr %retval br label %ret ifend26: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str10407) %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: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str10408, 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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str10409, 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: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str10410, 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 @.str10411) store ptr %t205, ptr %retval br label %ret ifend31: %t206 = load ptr, ptr %t0 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str10412) %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: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str10413, 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: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str10414, 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: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str10415, 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 @.str10416) store ptr %t258, ptr %retval br label %ret ifend40: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str10417) %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: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str10418, 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 4430, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr @.str10419, ptr %t277) store i32 0, ptr @lp_site store i32 4431, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str10420) 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 @.str10421) store ptr %t281, ptr %retval br label %ret ifend49: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str10422) %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: %t293 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str10423, 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 4432, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str10424, ptr %t300) store i32 0, ptr @lp_site store i32 4433, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str10425) 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 @.str10426) store ptr %t304, ptr %retval br label %ret ifend54: %t305 = load ptr, ptr %t0 %t306 = call i32 @lp_str_eq(ptr %t305, ptr @.str10427) %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: %t316 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str10428, 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 4434, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str10429, ptr %t323) store i32 0, ptr @lp_site store i32 4435, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str10430) 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 4436, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str10431, ptr %t328) store i32 0, ptr @lp_site store i32 4437, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str10432) 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 @.str10433) store ptr %t332, ptr %retval br label %ret ifend59: %t333 = load ptr, ptr %t0 %t334 = call i32 @lp_str_eq(ptr %t333, ptr @.str10434) %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: %t344 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t344, ptr @.fmt_bounds, ptr @.str10435, 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 4438, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str10436, ptr %t351) store i32 0, ptr @lp_site store i32 4439, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str10437) 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 4440, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr @.str10438, ptr %t358) store i32 0, ptr @lp_site store i32 4441, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str10439) 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 4442, ptr @lp_site %t364 = call ptr @lp_str_concat(ptr @.str10440, ptr %t363) store i32 0, ptr @lp_site store i32 4443, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str10441) 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 @.str10442) store ptr %t371, ptr %retval br label %ret ifend64: %t372 = load ptr, ptr %t0 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str10443) %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: %t383 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str10444, 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: %t396 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t396, ptr @.fmt_bounds, ptr @.str10445, 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 4444, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr @.str10446, ptr %t403) store i32 0, ptr @lp_site store i32 4445, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str10447) 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 4446, 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 4447, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str10448) 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 @.str10449) store ptr %t412, ptr %retval br label %ret ifend69: %t413 = load ptr, ptr %t0 %t414 = call i32 @lp_str_eq(ptr %t413, ptr @.str10450) %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: %t424 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t424, ptr @.fmt_bounds, ptr @.str10451, 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 4448, ptr @lp_site %t438 = call ptr @lp_str_concat(ptr @.str10452, 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 4449, ptr @lp_site %t442 = call ptr @lp_str_concat(ptr @.str10453, ptr %t441) store i32 0, ptr @lp_site store i32 4450, ptr @lp_site %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str10454) 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 4451, ptr @lp_site %t449 = call ptr @lp_str_concat(ptr @.str10455, ptr %t448) store i32 0, ptr @lp_site store i32 4452, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str10456) store i32 0, ptr @lp_site call void @lp_free(ptr %t449) %t451 = load ptr, ptr %t445 store i32 4453, 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 4454, ptr @lp_site %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str10457) 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 @.str10458) store ptr %t455, ptr %retval br label %ret ifend76: %t456 = load ptr, ptr %t0 %t457 = call i32 @lp_str_eq(ptr %t456, ptr @.str10459) %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: %t467 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t467, ptr @.fmt_bounds, ptr @.str10460, 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 4455, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr @.str10461, 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 4456, ptr @lp_site %t485 = call ptr @lp_str_concat(ptr @.str10462, ptr %t484) store i32 0, ptr @lp_site store i32 4457, ptr @lp_site %t486 = call ptr @lp_str_concat(ptr %t485, ptr @.str10463) 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 4458, ptr @lp_site %t490 = call ptr @lp_str_concat(ptr @.str10464, ptr %t489) store i32 0, ptr @lp_site store i32 4459, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str10465) 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 4460, 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 4461, ptr @lp_site %t496 = call ptr @lp_str_concat(ptr %t495, ptr @.str10466) 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 @.str10467) store ptr %t498, ptr %retval br label %ret ifend81: %t499 = load ptr, ptr %t0 %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str10468) %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: %t510 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t510, ptr @.fmt_bounds, ptr @.str10469, 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: %t523 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t523, ptr @.fmt_bounds, ptr @.str10470, 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 4462, ptr @lp_site %t545 = call ptr @lp_str_concat(ptr @.str10471, ptr %t544) store i32 0, ptr @lp_site store i32 4463, ptr @lp_site %t546 = call ptr @lp_str_concat(ptr %t545, ptr @.str10472) store i32 0, ptr @lp_site call void @lp_free(ptr %t545) %t547 = load ptr, ptr %t543 store i32 4464, 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 4465, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr @.str10473, ptr %t551) store i32 0, ptr @lp_site store i32 4466, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str10474) 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 @.str10475) store ptr %t555, ptr %retval br label %ret ifend86: %t556 = load ptr, ptr %t0 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str10476) %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: %t567 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t567, ptr @.fmt_bounds, ptr @.str10477, 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: %t580 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t580, ptr @.fmt_bounds, ptr @.str10478, 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: %t593 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t593, ptr @.fmt_bounds, ptr @.str10479, 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: %t606 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t606, ptr @.fmt_bounds, ptr @.str10480, 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 4467, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr @.str10481, ptr %t613) store i32 0, ptr @lp_site store i32 4468, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr %t614, ptr @.str10482) 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 4469, 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 4470, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr @.str10483, ptr %t624) store i32 0, ptr @lp_site store i32 4471, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str10484) 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 4472, 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 4473, ptr @lp_site %t642 = call ptr @lp_str_concat(ptr @.str10485, ptr %t641) store i32 0, ptr @lp_site store i32 4474, ptr @lp_site %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str10486) store i32 0, ptr @lp_site call void @lp_free(ptr %t642) %t644 = load ptr, ptr %t640 store i32 4475, 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 @.str10487) store ptr %t647, ptr %retval br label %ret ifend93: %t648 = load ptr, ptr %t0 %t649 = call i32 @lp_str_eq(ptr %t648, ptr @.str10488) %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: %t659 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str10489, 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: %t672 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t672, ptr @.fmt_bounds, ptr @.str10490, 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: %t685 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t685, ptr @.fmt_bounds, ptr @.str10491, 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: %t698 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t698, ptr @.fmt_bounds, ptr @.str10492, 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 4476, ptr @lp_site %t706 = call ptr @lp_str_concat(ptr @.str10493, ptr %t705) store i32 0, ptr @lp_site store i32 4477, ptr @lp_site %t707 = call ptr @lp_str_concat(ptr %t706, ptr @.str10494) 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 4478, 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 4479, ptr @lp_site %t717 = call ptr @lp_str_concat(ptr @.str10495, ptr %t716) store i32 0, ptr @lp_site store i32 4480, ptr @lp_site %t718 = call ptr @lp_str_concat(ptr %t717, ptr @.str10496) 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 4481, 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 4482, ptr @lp_site %t734 = call ptr @lp_str_concat(ptr @.str10497, ptr %t733) store i32 0, ptr @lp_site store i32 4483, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr %t734, ptr @.str10498) store i32 0, ptr @lp_site call void @lp_free(ptr %t734) %t736 = load ptr, ptr %t732 store i32 4484, 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 4485, ptr @lp_site %t741 = call ptr @lp_str_concat(ptr @.str10499, ptr %t740) store i32 0, ptr @lp_site store i32 4486, ptr @lp_site %t742 = call ptr @lp_str_concat(ptr %t741, ptr @.str10500) 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 @.str10501) store ptr %t744, ptr %retval br label %ret ifend104: %t745 = load ptr, ptr %t0 %t746 = call i32 @lp_str_eq(ptr %t745, ptr @.str10502) %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: %t756 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t756, ptr @.fmt_bounds, ptr @.str10503, 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 @.str10504) store ptr %t764, ptr %t765 %t766 = load ptr, ptr %t765 store i32 4487, ptr @lp_site %t767 = call ptr @lp_str_concat(ptr @.str10505, ptr %t766) store i32 0, ptr @lp_site store i32 4488, ptr @lp_site %t768 = call ptr @lp_str_concat(ptr %t767, ptr @.str10506) 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 @.str10507) store ptr %t770, ptr %retval br label %ret ifend115: %t771 = load ptr, ptr %t0 %t772 = call i32 @lp_str_eq(ptr %t771, ptr @.str10508) %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: %t782 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t782, ptr @.fmt_bounds, ptr @.str10509, 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 4489, ptr @lp_site %t790 = call ptr @lp_str_concat(ptr @.str10510, ptr %t789) store i32 0, ptr @lp_site store i32 4490, ptr @lp_site %t791 = call ptr @lp_str_concat(ptr %t790, ptr @.str10511) 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 @.str10512) %t796 = call ptr @fn_val(ptr %t795, ptr @.str10513) store ptr %t796, ptr %retval br label %ret ifend120: %t797 = load ptr, ptr %t0 %t798 = call i32 @lp_str_eq(ptr %t797, ptr @.str10514) %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: %t808 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t808, ptr @.fmt_bounds, ptr @.str10515, 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: %t821 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t821, ptr @.fmt_bounds, ptr @.str10516, 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 4491, ptr @lp_site %t829 = call ptr @lp_str_concat(ptr @.str10517, ptr %t828) store i32 0, ptr @lp_site store i32 4492, ptr @lp_site %t830 = call ptr @lp_str_concat(ptr %t829, ptr @.str10518) 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 4493, ptr @lp_site %t840 = call ptr @lp_str_concat(ptr @.str10519, ptr %t839) store i32 0, ptr @lp_site store i32 4494, ptr @lp_site %t841 = call ptr @lp_str_concat(ptr %t840, ptr @.str10520) 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 @.str10521) store ptr %t843, ptr %retval br label %ret ifend125: %t844 = load ptr, ptr %t0 %t845 = call i32 @lp_str_eq(ptr %t844, ptr @.str10522) %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: %t855 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t855, ptr @.fmt_bounds, ptr @.str10523, 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 @.str10524) %t864 = call ptr @fn_val(ptr %t863, ptr @.str10525) store ptr %t864, ptr %retval br label %ret ifend132: %t865 = load ptr, ptr %t0 %t866 = call i32 @lp_str_eq(ptr %t865, ptr @.str10526) %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: %t876 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t876, ptr @.fmt_bounds, ptr @.str10527, 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 @.str10528) %t885 = call ptr @fn_val(ptr %t884, ptr @.str10529) store ptr %t885, ptr %retval br label %ret ifend137: %t886 = load ptr, ptr %t0 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str10530) %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: %t897 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t897, ptr @.fmt_bounds, ptr @.str10531, 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: %t910 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t910, ptr @.fmt_bounds, ptr @.str10532, 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 4495, ptr @lp_site %t918 = call ptr @lp_str_concat(ptr @.str10533, ptr %t917) store i32 0, ptr @lp_site store i32 4496, ptr @lp_site %t919 = call ptr @lp_str_concat(ptr %t918, ptr @.str10534) 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 4497, 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 4498, ptr @lp_site %t927 = call ptr @lp_str_concat(ptr @.str10535, ptr %t926) store i32 0, ptr @lp_site store i32 4499, ptr @lp_site %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str10536) 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 4500, 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 4501, ptr @lp_site %t936 = call ptr @lp_str_concat(ptr @.str10537, ptr %t935) store i32 0, ptr @lp_site store i32 4502, ptr @lp_site %t937 = call ptr @lp_str_concat(ptr %t936, ptr @.str10538) 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 4503, 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 @.str10539) store ptr %t943, ptr %retval br label %ret ifend142: %t944 = load ptr, ptr %t0 %t945 = call i32 @lp_str_eq(ptr %t944, ptr @.str10540) %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: %t955 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t955, ptr @.fmt_bounds, ptr @.str10541, 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: %t968 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t968, ptr @.fmt_bounds, ptr @.str10542, 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: %t981 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t981, ptr @.fmt_bounds, ptr @.str10543, 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 4504, ptr @lp_site %t989 = call ptr @lp_str_concat(ptr @.str10544, ptr %t988) store i32 0, ptr @lp_site store i32 4505, ptr @lp_site %t990 = call ptr @lp_str_concat(ptr %t989, ptr @.str10545) 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 4506, 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 4507, ptr @lp_site %t1000 = call ptr @lp_str_concat(ptr @.str10546, ptr %t999) store i32 0, ptr @lp_site store i32 4508, ptr @lp_site %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str10547) 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 4509, 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 4510, ptr @lp_site %t1009 = call ptr @lp_str_concat(ptr @.str10548, ptr %t1008) store i32 0, ptr @lp_site store i32 4511, ptr @lp_site %t1010 = call ptr @lp_str_concat(ptr %t1009, ptr @.str10549) store i32 0, ptr @lp_site call void @lp_free(ptr %t1009) %t1011 = load ptr, ptr %t996 store i32 4512, 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 4513, ptr @lp_site %t1016 = call ptr @lp_str_concat(ptr @.str10550, ptr %t1015) store i32 0, ptr @lp_site store i32 4514, ptr @lp_site %t1017 = call ptr @lp_str_concat(ptr %t1016, ptr @.str10551) store i32 0, ptr @lp_site call void @lp_free(ptr %t1016) %t1018 = load ptr, ptr %t996 store i32 4515, 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 4516, ptr @lp_site %t1023 = call ptr @lp_str_concat(ptr @.str10552, ptr %t1022) store i32 0, ptr @lp_site store i32 4517, ptr @lp_site %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str10553) store i32 0, ptr @lp_site call void @lp_free(ptr %t1023) %t1025 = load ptr, ptr %t996 store i32 4518, 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 4519, ptr @lp_site %t1032 = call ptr @lp_str_concat(ptr @.str10554, ptr %t1031) store i32 0, ptr @lp_site store i32 4520, ptr @lp_site %t1033 = call ptr @lp_str_concat(ptr %t1032, ptr @.str10555) store i32 0, ptr @lp_site call void @lp_free(ptr %t1032) %t1034 = load ptr, ptr %t1028 store i32 4521, 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 @.str10556) store ptr %t1037, ptr %retval br label %ret ifend149: %t1038 = load ptr, ptr %t0 %t1039 = call i32 @lp_str_eq(ptr %t1038, ptr @.str10557) %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: %t1049 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1049, ptr @.fmt_bounds, ptr @.str10558, 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: %t1062 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1062, ptr @.fmt_bounds, ptr @.str10559, 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 4522, ptr @lp_site %t1070 = call ptr @lp_str_concat(ptr @.str10560, ptr %t1069) store i32 0, ptr @lp_site store i32 4523, ptr @lp_site %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str10561) 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 4524, ptr @lp_site %t1077 = call ptr @lp_str_concat(ptr @.str10562, ptr %t1076) store i32 0, ptr @lp_site store i32 4525, ptr @lp_site %t1078 = call ptr @lp_str_concat(ptr %t1077, ptr @.str10563) store i32 0, ptr @lp_site call void @lp_free(ptr %t1077) %t1079 = load ptr, ptr %t1073 store i32 4526, 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 4527, ptr @lp_site %t1084 = call ptr @lp_str_concat(ptr @.str10564, ptr %t1083) store i32 0, ptr @lp_site store i32 4528, ptr @lp_site %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str10565) store i32 0, ptr @lp_site call void @lp_free(ptr %t1084) %t1086 = load ptr, ptr %t1073 store i32 4529, 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 4530, ptr @lp_site %t1091 = call ptr @lp_str_concat(ptr @.str10566, ptr %t1090) store i32 0, ptr @lp_site store i32 4531, ptr @lp_site %t1092 = call ptr @lp_str_concat(ptr %t1091, ptr @.str10567) store i32 0, ptr @lp_site call void @lp_free(ptr %t1091) %t1093 = load ptr, ptr %t1073 store i32 4532, 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 4533, ptr @lp_site %t1098 = call ptr @lp_str_concat(ptr @.str10568, ptr %t1097) store i32 0, ptr @lp_site store i32 4534, ptr @lp_site %t1099 = call ptr @lp_str_concat(ptr %t1098, ptr @.str10569) 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 4535, 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 4536, ptr @lp_site %t1107 = call ptr @lp_str_concat(ptr @.str10570, 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 4537, ptr @lp_site %t1111 = call ptr @lp_str_concat(ptr @.str10571, ptr %t1110) store i32 0, ptr @lp_site store i32 4538, ptr @lp_site %t1112 = call ptr @lp_str_concat(ptr %t1111, ptr @.str10572) 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 4539, ptr @lp_site %t1116 = call ptr @lp_str_concat(ptr @.str10573, ptr %t1115) store i32 0, ptr @lp_site store i32 4540, ptr @lp_site %t1117 = call ptr @lp_str_concat(ptr %t1116, ptr @.str10574) store i32 0, ptr @lp_site call void @lp_free(ptr %t1116) %t1118 = load ptr, ptr %t1109 store i32 4541, 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 4542, ptr @lp_site %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str10575) store i32 0, ptr @lp_site call void @lp_free(ptr %t1119) %t1121 = load ptr, ptr %t1105 store i32 4543, 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 4544, ptr @lp_site %t1128 = call ptr @lp_str_concat(ptr @.str10576, ptr %t1127) store i32 0, ptr @lp_site store i32 4545, ptr @lp_site %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str10577) store i32 0, ptr @lp_site call void @lp_free(ptr %t1128) %t1130 = load ptr, ptr %t1124 store i32 4546, 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 @.str10578) store ptr %t1133, ptr %retval br label %ret ifend158: %t1134 = load ptr, ptr %t0 %t1135 = call i32 @lp_str_eq(ptr %t1134, ptr @.str10579) %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: %t1145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1145, ptr @.fmt_bounds, ptr @.str10580, 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: %t1158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1158, ptr @.fmt_bounds, ptr @.str10581, 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 4547, ptr @lp_site %t1172 = call ptr @lp_str_concat(ptr @.str10582, ptr %t1171) store i32 0, ptr @lp_site store i32 4548, ptr @lp_site %t1173 = call ptr @lp_str_concat(ptr %t1172, ptr @.str10583) 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 4549, ptr @lp_site %t1177 = call ptr @lp_str_concat(ptr @.str10584, ptr %t1176) store i32 0, ptr @lp_site store i32 4550, ptr @lp_site %t1178 = call ptr @lp_str_concat(ptr %t1177, ptr @.str10585) 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 4551, ptr @lp_site %t1182 = call ptr @lp_str_concat(ptr @.str10586, ptr %t1181) store i32 0, ptr @lp_site store i32 4552, ptr @lp_site %t1183 = call ptr @lp_str_concat(ptr %t1182, ptr @.str10587) 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 4553, 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 @.str10588) store ptr %t1189, ptr %retval br label %ret ifend165: %t1190 = load ptr, ptr %t0 %t1191 = call i32 @lp_str_eq(ptr %t1190, ptr @.str10589) %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: %t1201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1201, ptr @.fmt_bounds, ptr @.str10590, 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: %t1214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1214, ptr @.fmt_bounds, ptr @.str10591, 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: %t1227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1227, ptr @.fmt_bounds, ptr @.str10592, 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 4554, ptr @lp_site %t1235 = call ptr @lp_str_concat(ptr @.str10593, ptr %t1234) store i32 0, ptr @lp_site store i32 4555, ptr @lp_site %t1236 = call ptr @lp_str_concat(ptr %t1235, ptr @.str10594) 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 4556, 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 4557, ptr @lp_site %t1244 = call ptr @lp_str_concat(ptr @.str10595, 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 4558, ptr @lp_site %t1248 = call ptr @lp_str_concat(ptr @.str10596, ptr %t1247) store i32 0, ptr @lp_site store i32 4559, ptr @lp_site %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str10597) 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 4560, ptr @lp_site %t1253 = call ptr @lp_str_concat(ptr @.str10598, ptr %t1252) store i32 0, ptr @lp_site store i32 4561, ptr @lp_site %t1254 = call ptr @lp_str_concat(ptr %t1253, ptr @.str10599) store i32 0, ptr @lp_site call void @lp_free(ptr %t1253) %t1255 = load ptr, ptr %t1246 store i32 4562, 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 4563, ptr @lp_site %t1257 = call ptr @lp_str_concat(ptr %t1256, ptr @.str10600) store i32 0, ptr @lp_site call void @lp_free(ptr %t1256) %t1258 = load ptr, ptr %t1242 store i32 4564, 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 4565, ptr @lp_site %t1263 = call ptr @lp_str_concat(ptr @.str10601, ptr %t1262) store i32 0, ptr @lp_site store i32 4566, ptr @lp_site %t1264 = call ptr @lp_str_concat(ptr %t1263, ptr @.str10602) 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 4567, ptr @lp_site %t1268 = call ptr @lp_str_concat(ptr @.str10603, ptr %t1267) store i32 0, ptr @lp_site store i32 4568, ptr @lp_site %t1269 = call ptr @lp_str_concat(ptr %t1268, ptr @.str10604) 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 4569, ptr @lp_site %t1273 = call ptr @lp_str_concat(ptr @.str10605, ptr %t1272) store i32 0, ptr @lp_site store i32 4570, ptr @lp_site %t1274 = call ptr @lp_str_concat(ptr %t1273, ptr @.str10606) 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 4571, ptr @lp_site %t1278 = call ptr @lp_str_concat(ptr @.str10607, ptr %t1277) store i32 0, ptr @lp_site store i32 4572, ptr @lp_site %t1279 = call ptr @lp_str_concat(ptr %t1278, ptr @.str10608) store i32 0, ptr @lp_site call void @lp_free(ptr %t1278) %t1280 = load ptr, ptr %t1276 store i32 4573, 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 4574, ptr @lp_site %t1285 = call ptr @lp_str_concat(ptr @.str10609, ptr %t1284) store i32 0, ptr @lp_site store i32 4575, ptr @lp_site %t1286 = call ptr @lp_str_concat(ptr %t1285, ptr @.str10610) 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 4576, 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 4577, ptr @lp_site %t1296 = call ptr @lp_str_concat(ptr @.str10611, ptr %t1295) store i32 0, ptr @lp_site store i32 4578, ptr @lp_site %t1297 = call ptr @lp_str_concat(ptr %t1296, ptr @.str10612) store i32 0, ptr @lp_site call void @lp_free(ptr %t1296) %t1298 = load ptr, ptr %t1292 store i32 4579, 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 4580, ptr @lp_site %t1303 = call ptr @lp_str_concat(ptr @.str10613, ptr %t1302) store i32 0, ptr @lp_site store i32 4581, ptr @lp_site %t1304 = call ptr @lp_str_concat(ptr %t1303, ptr @.str10614) 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 4582, 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 4583, ptr @lp_site %t1312 = call ptr @lp_str_concat(ptr @.str10615, ptr %t1311) store i32 0, ptr @lp_site store i32 4584, ptr @lp_site %t1313 = call ptr @lp_str_concat(ptr %t1312, ptr @.str10616) 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 4585, 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 4586, ptr @lp_site %t1318 = call ptr @lp_str_concat(ptr %t1317, ptr @.str10617) store i32 0, ptr @lp_site call void @lp_free(ptr %t1317) %t1319 = load ptr, ptr %t1301 store i32 4587, 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 @.str10618) store ptr %t1322, ptr %retval br label %ret ifend172: %t1323 = load ptr, ptr %t0 %t1324 = call i32 @lp_str_eq(ptr %t1323, ptr @.str10619) %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: %t1334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1334, ptr @.fmt_bounds, ptr @.str10620, 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: %t1347 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1347, ptr @.fmt_bounds, ptr @.str10621, 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: %t1360 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1360, ptr @.fmt_bounds, ptr @.str10622, 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 4588, ptr @lp_site %t1377 = call ptr @lp_str_concat(ptr @.str10623, ptr %t1376) store i32 0, ptr @lp_site store i32 4589, ptr @lp_site %t1378 = call ptr @lp_str_concat(ptr %t1377, ptr @.str10624) 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 4590, ptr @lp_site %t1382 = call ptr @lp_str_concat(ptr @.str10625, ptr %t1381) store i32 0, ptr @lp_site store i32 4591, ptr @lp_site %t1383 = call ptr @lp_str_concat(ptr %t1382, ptr @.str10626) store i32 0, ptr @lp_site call void @lp_free(ptr %t1382) %t1384 = load ptr, ptr %t1375 store i32 4592, 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 4593, ptr @lp_site %t1389 = call ptr @lp_str_concat(ptr @.str10627, ptr %t1388) store i32 0, ptr @lp_site store i32 4594, ptr @lp_site %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str10628) 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 4595, ptr @lp_site %t1394 = call ptr @lp_str_concat(ptr @.str10629, ptr %t1393) store i32 0, ptr @lp_site store i32 4596, ptr @lp_site %t1395 = call ptr @lp_str_concat(ptr %t1394, ptr @.str10630) store i32 0, ptr @lp_site call void @lp_free(ptr %t1394) %t1396 = load ptr, ptr %t1387 store i32 4597, 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 4598, ptr @lp_site %t1401 = call ptr @lp_str_concat(ptr @.str10631, ptr %t1400) store i32 0, ptr @lp_site store i32 4599, ptr @lp_site %t1402 = call ptr @lp_str_concat(ptr %t1401, ptr @.str10632) 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 4600, ptr @lp_site %t1406 = call ptr @lp_str_concat(ptr @.str10633, 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 @.str10634) 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: %t1425 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1425, ptr @.fmt_bounds, ptr @.str10635, 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: %t1438 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1438, ptr @.fmt_bounds, ptr @.str10636, 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: %t1451 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1451, ptr @.fmt_bounds, ptr @.str10637, 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: %t1464 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1464, ptr @.fmt_bounds, ptr @.str10638, 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: %t1477 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1477, ptr @.fmt_bounds, ptr @.str10639, 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 @.str10640) 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 @.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) 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) 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) call void @fn_emith(ptr @.str10693) call void @fn_emith(ptr @.str10694) call void @fn_emith(ptr @.str10695) call void @fn_emith(ptr @.str10696) call void @fn_emith(ptr @.str10697) call void @fn_emith(ptr @.str10698) call void @fn_emith(ptr @.str10699) call void @fn_emith(ptr @.str10700) call void @fn_emith(ptr @.str10701) call void @fn_emith(ptr @.str10702) call void @fn_emith(ptr @.str10703) call void @fn_emith(ptr @.str10704) call void @fn_emith(ptr @.str10705) call void @fn_emith(ptr @.str10706) call void @fn_emith(ptr @.str10707) call void @fn_emith(ptr @.str10708) call void @fn_emith(ptr @.str10709) call void @fn_emith(ptr @.str10710) call void @fn_emith(ptr @.str10711) call void @fn_emith(ptr @.str10712) call void @fn_emith(ptr @.str10713) call void @fn_emith(ptr @.str10714) call void @fn_emith(ptr @.str10715) call void @fn_emith(ptr @.str10716) call void @fn_emith(ptr @.str10717) call void @fn_emith(ptr @.str10718) call void @fn_emith(ptr @.str10719) call void @fn_emith(ptr @.str10720) call void @fn_emith(ptr @.str10721) call void @fn_emith(ptr @.str10722) call void @fn_emith(ptr @.str10723) call void @fn_emith(ptr @.str10724) call void @fn_emith(ptr @.str10725) call void @fn_emith(ptr @.str10726) call void @fn_emith(ptr @.str10727) call void @fn_emith(ptr @.str10728) call void @fn_emith(ptr @.str10729) call void @fn_emith(ptr @.str10730) call void @fn_emith(ptr @.str10731) call void @fn_emith(ptr @.str10732) 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) 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 4601, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str10750, ptr %t2) store i32 0, ptr @lp_site store i32 4602, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str10752) 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 4603, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str10753, ptr %t7) store i32 0, ptr @lp_site store i32 4604, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10754) 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 4605, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str10755, ptr %t12) store i32 0, ptr @lp_site store i32 4606, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10756) 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 4607, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str10757, ptr %t17) store i32 0, ptr @lp_site store i32 4608, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10758) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 4609, 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 4610, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str10759, ptr %t1) store i32 0, ptr @lp_site store i32 4611, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str10761) 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 4612, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str10762, ptr %t6) store i32 0, ptr @lp_site store i32 4613, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str10763) 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 4614, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str10764, ptr %t1) store i32 0, ptr @lp_site store i32 4615, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str10766) 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 @.str10767) %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 @.str10768) %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 @.str10769) %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 @.str10770) %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 @.str10771) %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 @.str10772) %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 @.str10773) %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 @.str10774) %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 @.str10775) %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 @.str10776) %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 @.str10777) %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 @.str10778) %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 @.str10779) %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 @.str10780) %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 @.str10781) %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 @.str10782) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str10783, ptr @.str10784) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str10785) %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10786, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10787, 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 @.str10788) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10789) %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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str10790, 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 @.str10791) store ptr %t63, ptr %retval br label %ret ifend12: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str10792) %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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str10793, 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 @.str10794) store ptr %t84, ptr %retval br label %ret ifend17: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str10795) %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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str10796, 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: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str10797, 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 4616, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr @.str10798, ptr %t134) store i32 0, ptr @lp_site store i32 4617, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str10800) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) %t137 = load ptr, ptr %t128 store i32 4618, 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 4619, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr @.str10801, ptr %t141) store i32 0, ptr @lp_site store i32 4620, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10802) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t133 store i32 4621, 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 @.str10803) store ptr %t151, ptr %retval br label %ret ifend22: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str10804) %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: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str10805, 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: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str10806, 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 4622, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr @.str10807, ptr %t201) store i32 0, ptr @lp_site store i32 4623, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str10808) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) %t204 = load ptr, ptr %t195 store i32 4624, 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 4625, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr @.str10809, ptr %t208) store i32 0, ptr @lp_site store i32 4626, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str10810) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) %t211 = load ptr, ptr %t200 store i32 4627, 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 @.str10811) store ptr %t218, ptr %retval br label %ret ifend29: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str10812) %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: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str10813, 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: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str10814, 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 @.str10815) store ptr %t273, ptr %retval br label %ret ifend36: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str10816) %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: %t285 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str10817, 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: %t298 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str10818, 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 4628, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str10819, ptr %t331) store i32 0, ptr @lp_site store i32 4629, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str10820) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t334 = load ptr, ptr %t330 store i32 4630, 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 @.str10821) store ptr %t337, ptr %retval br label %ret ifend43: %t338 = load ptr, ptr %t0 %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str10822) %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: %t349 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str10823, 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 4631, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str10824, ptr %t372) store i32 0, ptr @lp_site store i32 4632, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str10825) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = load ptr, ptr %t371 store i32 4633, 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 4634, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr @.str10826, ptr %t379) store i32 0, ptr @lp_site store i32 4635, ptr @lp_site %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str10827) 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 @.str10828) store ptr %t383, ptr %retval br label %ret ifend50: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str10829) %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: %t395 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str10830, 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: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str10831, 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 4636, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr @.str10832, ptr %t433) store i32 0, ptr @lp_site store i32 4637, ptr @lp_site %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str10833) store i32 0, ptr @lp_site call void @lp_free(ptr %t434) %t436 = load ptr, ptr %t427 store i32 4638, 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 4639, ptr @lp_site %t441 = call ptr @lp_str_concat(ptr @.str10834, ptr %t440) store i32 0, ptr @lp_site store i32 4640, ptr @lp_site %t442 = call ptr @lp_str_concat(ptr %t441, ptr @.str10835) store i32 0, ptr @lp_site call void @lp_free(ptr %t441) %t443 = load ptr, ptr %t432 store i32 4641, 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 4642, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr @.str10836, ptr %t455) store i32 0, ptr @lp_site store i32 4643, ptr @lp_site %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str10837) store i32 0, ptr @lp_site call void @lp_free(ptr %t456) %t458 = load ptr, ptr %t454 store i32 4644, 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 4645, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr @.str10838, ptr %t462) store i32 0, ptr @lp_site store i32 4646, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str10839) 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 @.str10840) store ptr %t466, ptr %retval br label %ret ifend55: %t467 = load ptr, ptr %t0 %t468 = call i32 @lp_str_eq(ptr %t467, ptr @.str10841) %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: %t478 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t478, ptr @.fmt_bounds, ptr @.str10842, 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 4647, ptr @lp_site %t502 = call ptr @lp_str_concat(ptr @.str10843, ptr %t501) store i32 0, ptr @lp_site store i32 4648, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr %t502, ptr @.str10844) store i32 0, ptr @lp_site call void @lp_free(ptr %t502) %t504 = load ptr, ptr %t500 store i32 4649, 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 4650, ptr @lp_site %t509 = call ptr @lp_str_concat(ptr @.str10845, ptr %t508) store i32 0, ptr @lp_site store i32 4651, ptr @lp_site %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str10846) 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 4652, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr @.str10847, ptr %t513) store i32 0, ptr @lp_site store i32 4653, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str10848) 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 4654, ptr @lp_site %t519 = call ptr @lp_str_concat(ptr @.str10849, ptr %t518) store i32 0, ptr @lp_site store i32 4655, ptr @lp_site %t520 = call ptr @lp_str_concat(ptr %t519, ptr @.str10850) store i32 0, ptr @lp_site call void @lp_free(ptr %t519) %t521 = load ptr, ptr %t512 store i32 4656, 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 @.str10851, 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 @.str10852) store ptr %t539, ptr %retval br label %ret ifend62: %t540 = load ptr, ptr %t0 %t541 = call i32 @lp_str_eq(ptr %t540, ptr @.str10853) %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: %t551 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t551, ptr @.fmt_bounds, ptr @.str10854, 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: %t564 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str10855, 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 4657, ptr @lp_site %t572 = call ptr @lp_str_concat(ptr @.str10856, ptr %t571) store i32 0, ptr @lp_site store i32 4658, ptr @lp_site %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str10857) 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 4659, ptr @lp_site %t579 = call ptr @lp_str_concat(ptr @.str10858, ptr %t578) store i32 0, ptr @lp_site store i32 4660, ptr @lp_site %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str10859) 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 4661, ptr @lp_site %t584 = call ptr @lp_str_concat(ptr @.str10860, ptr %t583) store i32 0, ptr @lp_site store i32 4662, ptr @lp_site %t585 = call ptr @lp_str_concat(ptr %t584, ptr @.str10861) 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 4663, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str10862, ptr %t614) store i32 0, ptr @lp_site store i32 4664, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str10863) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = load ptr, ptr %t605 store i32 4665, 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 4666, ptr @lp_site %t622 = call ptr @lp_str_concat(ptr @.str10864, ptr %t621) store i32 0, ptr @lp_site store i32 4667, ptr @lp_site %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str10865) store i32 0, ptr @lp_site call void @lp_free(ptr %t622) %t624 = load ptr, ptr %t613 store i32 4668, 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 @.str10866) store ptr %t631, ptr %retval br label %ret ifend67: %t632 = load ptr, ptr %t0 %t633 = call i32 @lp_str_eq(ptr %t632, ptr @.str10867) %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: %t643 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t643, ptr @.fmt_bounds, ptr @.str10868, 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 4669, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr @.str10869, ptr %t658) store i32 0, ptr @lp_site store i32 4670, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str10870) store i32 0, ptr @lp_site call void @lp_free(ptr %t659) %t661 = load ptr, ptr %t652 store i32 4671, 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 4672, ptr @lp_site %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str10871) 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 @.str10872) store ptr %t665, ptr %retval br label %ret ifend74: %t666 = load ptr, ptr %t0 %t667 = call i32 @lp_str_eq(ptr %t666, ptr @.str10873) %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: %t677 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t677, ptr @.fmt_bounds, ptr @.str10874, 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 4673, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr @.str10875, ptr %t684) store i32 0, ptr @lp_site store i32 4674, ptr @lp_site %t686 = call ptr @lp_str_concat(ptr %t685, ptr @.str10876) 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 4675, ptr @lp_site %t692 = call ptr @lp_str_concat(ptr @.str10877, ptr %t691) store i32 0, ptr @lp_site store i32 4676, ptr @lp_site %t693 = call ptr @lp_str_concat(ptr %t692, ptr @.str10878) 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 4677, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr @.str10879, ptr %t696) store i32 0, ptr @lp_site store i32 4678, ptr @lp_site %t698 = call ptr @lp_str_concat(ptr %t697, ptr @.str10880) 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 @.str10881) 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: %t713 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t713, ptr @.fmt_bounds, ptr @.str10882, 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: %t726 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t726, ptr @.fmt_bounds, ptr @.str10883, 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: %t739 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t739, ptr @.fmt_bounds, ptr @.str10884, 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 @.str10885) 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 4679, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str10886, 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 4680, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str10888, ptr %t5) store i32 0, ptr @lp_site store i32 4681, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str10889) 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 4682, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str10890, ptr %t10) store i32 0, ptr @lp_site store i32 4683, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str10891) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t4 store i32 4684, 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 4685, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str10892) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t0 store i32 4686, 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 @.str10893) %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 @.str10894) %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 @.str10895) %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 @.str10896) %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 @.str10897) %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 @.str10898) %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 @.str10899) %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 @.str10900) %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 @.str10901) %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 @.str10902) %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 @.str10903) %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 @.str10904) %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 @.str10905) %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 @.str10906) %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 @.str10907) %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 @.str10908) %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 @.str10909) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str10910, ptr @.str10911) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str10912) %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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10913, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10914, 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 @.str10915) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10916) %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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str10917, 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 @.str10918) store ptr %t63, ptr %retval br label %ret ifend12: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str10919) %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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str10920, 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 @.str10921) store ptr %t84, ptr %retval br label %ret ifend17: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str10922) %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 @.str10923) %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: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str10924, 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: %t117 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str10925, 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 4687, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str10926, ptr %t125) store i32 0, ptr @lp_site store i32 4688, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str10928) 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 4689, 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 4690, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str10929, ptr %t138) store i32 0, ptr @lp_site store i32 4691, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10930) 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 4692, 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 4693, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr @.str10931, ptr %t148) store i32 0, ptr @lp_site store i32 4694, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str10932) store i32 0, ptr @lp_site call void @lp_free(ptr %t149) %t151 = load ptr, ptr %t134 store i32 4695, 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 4696, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str10933, ptr %t155) store i32 0, ptr @lp_site store i32 4697, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str10934) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t147 store i32 4698, 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 4699, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr @.str10935, ptr %t162) store i32 0, ptr @lp_site store i32 4700, ptr @lp_site %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str10936) store i32 0, ptr @lp_site call void @lp_free(ptr %t163) %t165 = load ptr, ptr %t161 store i32 4701, 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 @.str10937) %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 @.str10938) 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: %t182 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str10939, 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 4702, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str10940, ptr %t189) store i32 0, ptr @lp_site store i32 4703, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str10941) 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 4704, 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 4705, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str10942, ptr %t198) store i32 0, ptr @lp_site store i32 4706, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str10943) store i32 0, ptr @lp_site call void @lp_free(ptr %t199) %t201 = load ptr, ptr %t197 store i32 4707, 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 4708, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str10944, ptr %t205) store i32 0, ptr @lp_site store i32 4709, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str10945) 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 @.str10946) store ptr %t209, ptr %retval br label %ret ifend24: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str10947) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then34, label %ifend36 then34: %t213 = call ptr @fn_find_fn(ptr @.str10948) %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 @.str10949) 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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str10950, 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: %t238 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str10951, 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 @.str10953) store i32 4710, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr @.str10952, ptr %t243) store i32 0, ptr @lp_site store i32 4711, ptr @lp_site %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str10954) 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 4712, 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 4713, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str10955) 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 4714, 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 4715, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str10956) 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 @.str10957) store ptr %t257, ptr %retval br label %ret ifend36: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str10958) %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then44, label %ifend46 then44: %t261 = call ptr @fn_find_fn(ptr @.str10959) %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 @.str10960) 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: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str10961, 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: %t286 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str10962, 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: %t299 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t299, ptr @.fmt_bounds, ptr @.str10963, 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 @.str10965) store i32 4716, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr @.str10964, ptr %t304) store i32 0, ptr @lp_site store i32 4717, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str10966) 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 4718, 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 4719, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str10967) 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 4720, 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 4721, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str10968) 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 4722, 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 4723, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str10969) 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 @.str10970) store ptr %t323, ptr %retval br label %ret ifend46: %t324 = load ptr, ptr %t0 %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str10971) %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then56, label %ifend58 then56: %t327 = call ptr @fn_find_fn(ptr @.str10972) %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 @.str10973) 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: %t339 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t339, ptr @.fmt_bounds, ptr @.str10974, 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 @.str10976) store i32 4724, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr @.str10975, ptr %t344) store i32 0, ptr @lp_site store i32 4725, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str10977) 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 4726, 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 4727, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str10978) 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 @.str10979) store ptr %t353, ptr %retval br label %ret ifend58: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str10980) %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: %t365 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str10981, 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: %t378 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t378, ptr @.fmt_bounds, ptr @.str10982, 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 4728, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr @.str10983, ptr %t403) store i32 0, ptr @lp_site store i32 4729, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str10984) store i32 0, ptr @lp_site call void @lp_free(ptr %t404) %t406 = load ptr, ptr %t397 store i32 4730, 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 4731, ptr @lp_site %t411 = call ptr @lp_str_concat(ptr @.str10985, ptr %t410) store i32 0, ptr @lp_site store i32 4732, ptr @lp_site %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str10986) store i32 0, ptr @lp_site call void @lp_free(ptr %t411) %t413 = load ptr, ptr %t402 store i32 4733, 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 @.str10987) store ptr %t420, ptr %retval br label %ret ifend66: %t421 = load ptr, ptr %t0 %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str10988) %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: %t432 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t432, ptr @.fmt_bounds, ptr @.str10989, 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: %t445 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t445, ptr @.fmt_bounds, ptr @.str10990, 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 4734, ptr @lp_site %t471 = call ptr @lp_str_concat(ptr @.str10991, ptr %t470) store i32 0, ptr @lp_site store i32 4735, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr %t471, ptr @.str10992) store i32 0, ptr @lp_site call void @lp_free(ptr %t471) %t473 = load ptr, ptr %t464 store i32 4736, 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 4737, ptr @lp_site %t478 = call ptr @lp_str_concat(ptr @.str10993, ptr %t477) store i32 0, ptr @lp_site store i32 4738, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr %t478, ptr @.str10994) store i32 0, ptr @lp_site call void @lp_free(ptr %t478) %t480 = load ptr, ptr %t469 store i32 4739, 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 @.str10995) store ptr %t487, ptr %retval br label %ret ifend73: %t488 = load ptr, ptr %t0 %t489 = call i32 @lp_str_eq(ptr %t488, ptr @.str10996) %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: %t499 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t499, ptr @.fmt_bounds, ptr @.str10997, 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: %t512 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t512, ptr @.fmt_bounds, ptr @.str10998, 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 4740, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr @.str10999, ptr %t527) store i32 0, ptr @lp_site store i32 4741, ptr @lp_site %t529 = call ptr @lp_str_concat(ptr %t528, ptr @.str11000) 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 4742, 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 4743, ptr @lp_site %t537 = call ptr @lp_str_concat(ptr @.str11001, ptr %t536) store i32 0, ptr @lp_site store i32 4744, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str11002) 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 4745, 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 @.str11003) store ptr %t548, ptr %retval br label %ret ifend80: %t549 = load ptr, ptr %t0 %t550 = call i32 @lp_str_eq(ptr %t549, ptr @.str11004) %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: %t560 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str11005, 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: %t573 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str11006, 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 4746, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr @.str11007, ptr %t598) store i32 0, ptr @lp_site store i32 4747, ptr @lp_site %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str11008) store i32 0, ptr @lp_site call void @lp_free(ptr %t599) %t601 = load ptr, ptr %t592 store i32 4748, 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 4749, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr @.str11009, ptr %t605) store i32 0, ptr @lp_site store i32 4750, ptr @lp_site %t607 = call ptr @lp_str_concat(ptr %t606, ptr @.str11010) store i32 0, ptr @lp_site call void @lp_free(ptr %t606) %t608 = load ptr, ptr %t597 store i32 4751, 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 4752, ptr @lp_site %t613 = call ptr @lp_str_concat(ptr @.str11011, ptr %t612) store i32 0, ptr @lp_site store i32 4753, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr %t613, ptr @.str11012) store i32 0, ptr @lp_site call void @lp_free(ptr %t613) %t615 = load ptr, ptr %t611 store i32 4754, 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 @.str11013) store ptr %t618, ptr %retval br label %ret ifend87: %t619 = load ptr, ptr %t0 %t620 = call i32 @lp_str_eq(ptr %t619, ptr @.str11014) %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: %t630 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t630, ptr @.fmt_bounds, ptr @.str11015, 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: %t643 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t643, ptr @.fmt_bounds, ptr @.str11016, 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 4755, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr @.str11017, ptr %t650) store i32 0, ptr @lp_site store i32 4756, ptr @lp_site %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str11018) 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 4757, 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 4758, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr @.str11019, ptr %t659) store i32 0, ptr @lp_site store i32 4759, ptr @lp_site %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str11020) 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 @.str11021) store ptr %t663, ptr %retval br label %ret ifend94: %t664 = load ptr, ptr %t0 %t665 = call i32 @lp_str_eq(ptr %t664, ptr @.str11022) %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: %t675 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t675, ptr @.fmt_bounds, ptr @.str11023, 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: %t688 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t688, ptr @.fmt_bounds, ptr @.str11024, 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 4760, ptr @lp_site %t714 = call ptr @lp_str_concat(ptr @.str11025, ptr %t713) store i32 0, ptr @lp_site store i32 4761, ptr @lp_site %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str11026) store i32 0, ptr @lp_site call void @lp_free(ptr %t714) %t716 = load ptr, ptr %t707 store i32 4762, 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 4763, ptr @lp_site %t721 = call ptr @lp_str_concat(ptr @.str11027, ptr %t720) store i32 0, ptr @lp_site store i32 4764, ptr @lp_site %t722 = call ptr @lp_str_concat(ptr %t721, ptr @.str11028) store i32 0, ptr @lp_site call void @lp_free(ptr %t721) %t723 = load ptr, ptr %t712 store i32 4765, 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 4766, ptr @lp_site %t734 = call ptr @lp_str_concat(ptr @.str11029, ptr %t733) store i32 0, ptr @lp_site store i32 4767, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr %t734, ptr @.str11030) store i32 0, ptr @lp_site call void @lp_free(ptr %t734) %t736 = load ptr, ptr %t732 store i32 4768, 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 @.str11031) 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: %t748 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t748, ptr @.fmt_bounds, ptr @.str11032, 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 4769, ptr @lp_site %t764 = call ptr @lp_str_concat(ptr @.str11033, ptr %t763) store i32 0, ptr @lp_site store i32 4770, ptr @lp_site %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str11034) 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 4771, ptr @lp_site %t769 = call ptr @lp_str_concat(ptr @.str11035, ptr %t768) store i32 0, ptr @lp_site store i32 4772, ptr @lp_site %t770 = call ptr @lp_str_concat(ptr %t769, ptr @.str11036) 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 @.str11037) 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 4773, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str11038, ptr %t4) store i32 0, ptr @lp_site store i32 4774, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str11040) 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 4775, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str11041, ptr %t9) store i32 0, ptr @lp_site store i32 4776, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str11042) 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 4777, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str11043, ptr %t14) store i32 0, ptr @lp_site store i32 4778, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str11044) 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 4779, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str11045, ptr %t19) store i32 0, ptr @lp_site store i32 4780, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str11046) 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 4781, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str11047, ptr %t24) store i32 0, ptr @lp_site store i32 4782, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str11048) 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 4783, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str11049, ptr %t29) store i32 0, ptr @lp_site store i32 4784, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str11050) 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 4785, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str11051, ptr %t34) store i32 0, ptr @lp_site store i32 4786, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str11052) 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 4787, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str11053, ptr %t39) store i32 0, ptr @lp_site store i32 4788, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str11054) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t23 store i32 4789, 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 4790, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str11055, ptr %t46) store i32 0, ptr @lp_site store i32 4791, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11056) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t33 store i32 4792, 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 4793, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str11057, ptr %t53) store i32 0, ptr @lp_site store i32 4794, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str11058) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t38 store i32 4795, 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 4796, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str11059, ptr %t6) store i32 0, ptr @lp_site store i32 4797, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11061) 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 4798, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str11062, ptr %t10) store i32 0, ptr @lp_site store i32 4799, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str11063) 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 4800, 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 4801, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str11064, ptr %t18) store i32 0, ptr @lp_site store i32 4802, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11065) 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 4803, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str11066, ptr %t3) store i32 0, ptr @lp_site store i32 4804, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str11068) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t1 store i32 4805, 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 4806, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11069) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 4807, 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 4808, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str11070, ptr %t13) store i32 0, ptr @lp_site store i32 4809, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str11071) 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 @.str11072) %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 @.str11073) %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 @.str11074) %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 @.str11075) %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 @.str11076) %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 @.str11077) %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 @.str11078) %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 @.str11079) %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 @.str11080) %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 @.str11081) %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 @.str11082) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str11083, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str11084, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str11085, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str11086, 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 @.str11087) store ptr %t70, ptr %retval br label %ret ifend2: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11088) %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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str11089, 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 @.str11090) store ptr %t91, ptr %retval br label %ret ifend13: %t92 = load ptr, ptr %t0 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str11091) %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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str11092, 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 @.str11093) store ptr %t112, ptr %retval br label %ret ifend18: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str11094) %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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str11095, 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 @.str11096) store ptr %t133, ptr %retval br label %ret ifend23: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str11097) %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: %t145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str11098, 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 @.str11099) store ptr %t154, ptr %retval br label %ret ifend28: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str11100) %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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str11101, 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 4810, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr @.str11102, ptr %t181) store i32 0, ptr @lp_site store i32 4811, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str11104) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) %t184 = load ptr, ptr %t180 store i32 4812, 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 @.str11105) store ptr %t187, ptr %retval br label %ret ifend33: %t188 = load ptr, ptr %t0 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str11106) %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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str11107, 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 4813, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str11108, ptr %t214) store i32 0, ptr @lp_site store i32 4814, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str11109) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t217 = load ptr, ptr %t213 store i32 4815, 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 @.str11110) store ptr %t220, ptr %retval br label %ret ifend38: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str11111) %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: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str11112, 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 4816, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str11113, ptr %t257) store i32 0, ptr @lp_site store i32 4817, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str11114) 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 4818, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr @.str11115, ptr %t262) store i32 0, ptr @lp_site store i32 4819, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str11116) 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 4820, ptr @lp_site %t268 = call ptr @lp_str_concat(ptr @.str11117, ptr %t267) store i32 0, ptr @lp_site store i32 4821, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str11118) store i32 0, ptr @lp_site call void @lp_free(ptr %t268) %t270 = load ptr, ptr %t261 store i32 4822, 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 4823, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr @.str11119, ptr %t274) store i32 0, ptr @lp_site store i32 4824, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str11120) store i32 0, ptr @lp_site call void @lp_free(ptr %t275) %t277 = load ptr, ptr %t266 store i32 4825, 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 @.str11121) store ptr %t284, ptr %retval br label %ret ifend43: %t285 = load ptr, ptr %t0 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str11122) %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: %t296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str11123, 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: %t309 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t309, ptr @.fmt_bounds, ptr @.str11124, 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: %t322 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t322, ptr @.fmt_bounds, ptr @.str11125, 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 4826, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr @.str11126, ptr %t347) store i32 0, ptr @lp_site store i32 4827, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str11127) store i32 0, ptr @lp_site call void @lp_free(ptr %t348) %t350 = load ptr, ptr %t341 store i32 4828, 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 4829, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr @.str11128, ptr %t354) store i32 0, ptr @lp_site store i32 4830, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str11129) store i32 0, ptr @lp_site call void @lp_free(ptr %t355) %t357 = load ptr, ptr %t346 store i32 4831, 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 @.str11130, 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 @.str11131, 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 @.str11132, 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 @.str11133, ptr %t381, ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t366 store i32 4832, ptr @lp_site %t386 = call ptr @lp_str_concat(ptr @.str11134, ptr %t385) store i32 0, ptr @lp_site store i32 4833, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str11135) store i32 0, ptr @lp_site call void @lp_free(ptr %t386) %t388 = load ptr, ptr %t372 store i32 4834, 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 4835, ptr @lp_site %t393 = call ptr @lp_str_concat(ptr @.str11136, ptr %t392) store i32 0, ptr @lp_site store i32 4836, ptr @lp_site %t394 = call ptr @lp_str_concat(ptr %t393, ptr @.str11137) store i32 0, ptr @lp_site call void @lp_free(ptr %t393) %t395 = load ptr, ptr %t384 store i32 4837, 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 4838, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr @.str11138, ptr %t399) store i32 0, ptr @lp_site store i32 4839, ptr @lp_site %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str11139) store i32 0, ptr @lp_site call void @lp_free(ptr %t400) %t402 = load ptr, ptr %t398 store i32 4840, 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 @.str11140) 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: %t414 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t414, ptr @.fmt_bounds, ptr @.str11141, 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: %t427 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t427, ptr @.fmt_bounds, ptr @.str11142, 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 4841, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr @.str11143, ptr %t472) store i32 0, ptr @lp_site store i32 4842, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str11144) store i32 0, ptr @lp_site call void @lp_free(ptr %t473) %t475 = load ptr, ptr %t446 store i32 4843, 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 4844, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr @.str11145, ptr %t479) store i32 0, ptr @lp_site store i32 4845, ptr @lp_site %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str11146) store i32 0, ptr @lp_site call void @lp_free(ptr %t480) %t482 = load ptr, ptr %t451 store i32 4846, 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 4847, ptr @lp_site %t487 = call ptr @lp_str_concat(ptr @.str11147, ptr %t486) store i32 0, ptr @lp_site store i32 4848, ptr @lp_site %t488 = call ptr @lp_str_concat(ptr %t487, ptr @.str11148) store i32 0, ptr @lp_site call void @lp_free(ptr %t487) %t489 = load ptr, ptr %t466 store i32 4849, 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 4850, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr @.str11149, ptr %t493) store i32 0, ptr @lp_site store i32 4851, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str11150) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t496 = load ptr, ptr %t471 store i32 4852, 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 @.str11151, 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 @.str11152, 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 @.str11153, 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 @.str11154, ptr %t512, ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t503 store i32 4853, ptr @lp_site %t517 = call ptr @lp_str_concat(ptr @.str11155, ptr %t516) store i32 0, ptr @lp_site store i32 4854, ptr @lp_site %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str11156) store i32 0, ptr @lp_site call void @lp_free(ptr %t517) %t519 = load ptr, ptr %t507 store i32 4855, 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 4856, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr @.str11157, ptr %t523) store i32 0, ptr @lp_site store i32 4857, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str11158) store i32 0, ptr @lp_site call void @lp_free(ptr %t524) %t526 = load ptr, ptr %t515 store i32 4858, 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 4859, ptr @lp_site %t531 = call ptr @lp_str_concat(ptr @.str11159, ptr %t530) store i32 0, ptr @lp_site store i32 4860, ptr @lp_site %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str11160) store i32 0, ptr @lp_site call void @lp_free(ptr %t531) %t533 = load ptr, ptr %t529 store i32 4861, 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 @.str11161) 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 @.str11162) %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 @.str11163) %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 @.str11164) %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 @.str11165) %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 @.str11166) %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 @.str11167) %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 @.str11168) %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 @.str11169) %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 @.str11170) %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 @.str11171) %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 @.str11172) %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 @.str11173) %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 @.str11174) %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 @.str11175) %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 @.str11176) %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 @.str11177) %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 @.str11178) %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 @.str11179) %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 @.str11180) %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 @.str11181) %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 @.str11182) %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 4862, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str11183, ptr %t7) store i32 0, ptr @lp_site store i32 4863, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str11185) 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 @.str11186) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str11187, 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 4864, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11188, ptr %t20) store i32 0, ptr @lp_site store i32 4865, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11190) 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 @.str11191) store ptr %t24, ptr %retval br label %ret ifend2: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str11192) %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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str11193, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11194, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str11195, 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 4866, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str11196, ptr %t69) store i32 0, ptr @lp_site store i32 4867, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str11197) 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 4868, 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 4869, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str11198) 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 4870, 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 4871, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str11199) 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 @.str11200) 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 @.str11201) %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: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str11202, 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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str11203, 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 @.str11204, 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 @.str11205) %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: %t130 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str11206, 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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str11207, 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 @.str11208, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str11209, 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 @.str11210) %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 4872, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr @.str11211, ptr %t169) store i32 0, ptr @lp_site store i32 4873, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str11212) 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 4874, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr @.str11213, ptr %t175) store i32 0, ptr @lp_site store i32 4875, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str11214) 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 @.str11215) store ptr %t179, ptr %retval br label %ret ifend32: %t180 = load ptr, ptr %t0 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str11216) %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: %t191 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str11217, 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 4876, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str11218, ptr %t198) store i32 0, ptr @lp_site store i32 4877, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11219) 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 4878, 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 4879, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr @.str11220, 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 4880, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr @.str11221, ptr %t212) store i32 0, ptr @lp_site store i32 4881, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str11222) 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 @.str11223) store ptr %t216, ptr %retval br label %ret ifend35: %t217 = load ptr, ptr %t0 %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str11224) %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then38, label %ifend40 then38: call void @fn_fp_declare(ptr @.str11225) %t220 = load ptr, ptr %t163 %t221 = getelementptr inbounds %Cmp_Val, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 store i32 4882, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr @.str11226, ptr %t222) store i32 0, ptr @lp_site store i32 4883, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str11227) 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 4884, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str11228, ptr %t228) store i32 0, ptr @lp_site store i32 4885, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str11229) 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 @.str11230) store ptr %t232, ptr %retval br label %ret ifend40: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str11231) %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 4886, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr @.str11232, ptr %t238) store i32 0, ptr @lp_site store i32 4887, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str11233) 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 @.str11234) store ptr %t245, ptr %retval br label %ret ifend43: %t248 = load ptr, ptr %t0 %t249 = call i32 @lp_str_eq(ptr %t248, ptr @.str11235) %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 @.str11236) %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 @.str11237) %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 @.str11238, ptr %t265 %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str11239) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then51, label %ifend53 then51: store ptr @.str11240, ptr %t265 br label %ifend53 ifend53: %t269 = load ptr, ptr %t0 %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str11241) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then54, label %ifend56 then54: store ptr @.str11242, ptr %t265 br label %ifend56 ifend56: %t272 = load ptr, ptr %t265 store i32 4888, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str11243, ptr %t272) store i32 0, ptr @lp_site store i32 4889, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str11244) 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 4890, 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 4891, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str11245) 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 @.str11246) 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 @.str11247) %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: %t296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str11248, 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 4892, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr @.str11249, ptr %t303) store i32 0, ptr @lp_site store i32 4893, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str11250) 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 4894, 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 4895, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str11251) 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 @.str11252) 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 @.str11253) %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 @.str11254) %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: %t335 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t335, ptr @.fmt_bounds, ptr @.str11255, 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 @.str11256, ptr %t340 %t341 = load ptr, ptr %t0 %t342 = call i32 @lp_str_eq(ptr %t341, ptr @.str11257) %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then69, label %ifend71 then69: store ptr @.str11258, 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 4896, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr @.str11259, ptr %t346) store i32 0, ptr @lp_site store i32 4897, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str11260) 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 4898, 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 4899, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str11261) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = load ptr, ptr %t340 store i32 4900, 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 4901, ptr @lp_site %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str11262) 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 @.str11263) 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 @.str11264) %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: %t373 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t373, ptr @.fmt_bounds, ptr @.str11265, 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: %t386 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t386, ptr @.fmt_bounds, ptr @.str11266, 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 4902, ptr @lp_site %t394 = call ptr @lp_str_concat(ptr @.str11267, ptr %t393) store i32 0, ptr @lp_site store i32 4903, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str11268) 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 4904, 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 4905, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str11269) 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 4906, 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 4907, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str11270) 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 @.str11271) 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 @.str11272) %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: %t424 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t424, ptr @.fmt_bounds, ptr @.str11273, 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 4908, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str11274, ptr %t431) store i32 0, ptr @lp_site store i32 4909, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr %t432, ptr @.str11275) 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 4910, 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 4911, ptr @lp_site %t438 = call ptr @lp_str_concat(ptr %t437, ptr @.str11276) 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 @.str11277) 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 @.str11278) %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: %t456 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t456, ptr @.fmt_bounds, ptr @.str11279, 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 4912, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr @.str11280, ptr %t463) store i32 0, ptr @lp_site store i32 4913, ptr @lp_site %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str11281) 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 4914, 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 4915, ptr @lp_site %t470 = call ptr @lp_str_concat(ptr %t469, ptr @.str11282) 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 @.str11283) 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 @.str11284) %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 @.str11285) %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: %t495 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t495, ptr @.fmt_bounds, ptr @.str11286, 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 4916, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr @.str11287, ptr %t502) store i32 0, ptr @lp_site store i32 4917, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str11288) 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 4918, 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 4919, ptr @lp_site %t509 = call ptr @lp_str_concat(ptr %t508, ptr @.str11289) 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 @.str11290) %t514 = icmp ne i32 %t513, 0 br i1 %t514, label %then96, label %ifend98 then96: %t515 = load ptr, ptr %t511 store i32 4920, ptr @lp_site %t516 = call ptr @lp_str_concat(ptr @.str11291, ptr %t515) store i32 0, ptr @lp_site store i32 4921, ptr @lp_site %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str11292) 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 4922, ptr @lp_site %t523 = call ptr @lp_str_concat(ptr @.str11293, ptr %t522) store i32 0, ptr @lp_site store i32 4923, ptr @lp_site %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str11294) 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 @.str11295) store ptr %t526, ptr %retval br label %ret ifend98: %t527 = load ptr, ptr %t511 store i32 4924, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr @.str11296, ptr %t527) store i32 0, ptr @lp_site store i32 4925, ptr @lp_site %t529 = call ptr @lp_str_concat(ptr %t528, ptr @.str11297) 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 4926, ptr @lp_site %t533 = call ptr @lp_str_concat(ptr @.str11298, ptr %t532) store i32 0, ptr @lp_site store i32 4927, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr %t533, ptr @.str11299) 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 4928, ptr @lp_site %t540 = call ptr @lp_str_concat(ptr @.str11300, ptr %t539) store i32 0, ptr @lp_site store i32 4929, ptr @lp_site %t541 = call ptr @lp_str_concat(ptr %t540, ptr @.str11301) 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 4930, ptr @lp_site %t545 = call ptr @lp_str_concat(ptr @.str11302, ptr %t544) store i32 0, ptr @lp_site store i32 4931, ptr @lp_site %t546 = call ptr @lp_str_concat(ptr %t545, ptr @.str11303) store i32 0, ptr @lp_site call void @lp_free(ptr %t545) %t547 = load ptr, ptr %t543 store i32 4932, 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 4933, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr @.str11304, ptr %t551) store i32 0, ptr @lp_site store i32 4934, ptr @lp_site %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str11305) 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 4935, ptr @lp_site %t559 = call ptr @lp_str_concat(ptr @.str11306, ptr %t558) store i32 0, ptr @lp_site store i32 4936, ptr @lp_site %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str11307) store i32 0, ptr @lp_site call void @lp_free(ptr %t559) %t561 = load ptr, ptr %t555 store i32 4937, 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 @.str11308) 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: %t573 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str11309, 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 4938, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr @.str11310, ptr %t580) store i32 0, ptr @lp_site store i32 4939, ptr @lp_site %t582 = call ptr @lp_str_concat(ptr %t581, ptr @.str11311) 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 @.str11312) %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 4940, ptr @lp_site %t591 = call ptr @lp_str_concat(ptr @.str11313, ptr %t590) store i32 0, ptr @lp_site store i32 4941, ptr @lp_site %t592 = call ptr @lp_str_concat(ptr %t591, ptr @.str11314) 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 4942, 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 4943, ptr @lp_site %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str11315) store i32 0, ptr @lp_site call void @lp_free(ptr %t596) %t598 = load ptr, ptr %t584 store i32 4944, 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 4945, ptr @lp_site %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str11316) 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 4946, ptr @lp_site %t604 = call ptr @lp_str_concat(ptr @.str11317, ptr %t603) store i32 0, ptr @lp_site store i32 4947, ptr @lp_site %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str11318) 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 4948, ptr @lp_site %t611 = call ptr @lp_str_concat(ptr @.str11319, ptr %t610) store i32 0, ptr @lp_site store i32 4949, ptr @lp_site %t612 = call ptr @lp_str_concat(ptr %t611, ptr @.str11320) 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 @.str11321) 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 4950, ptr @lp_site %t618 = call ptr @lp_str_concat(ptr @.str11322, ptr %t617) store i32 0, ptr @lp_site store i32 4951, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str11323) 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 4952, ptr @lp_site %t623 = call ptr @lp_str_concat(ptr @.str11324, ptr %t622) store i32 0, ptr @lp_site store i32 4953, ptr @lp_site %t624 = call ptr @lp_str_concat(ptr %t623, ptr @.str11325) store i32 0, ptr @lp_site call void @lp_free(ptr %t623) %t625 = load ptr, ptr %t584 store i32 4954, 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 @.str11326) store ptr %t629, ptr %t630 %t631 = load ptr, ptr %t630 call void @fn_store_at(ptr @.str11327, ptr @.str11328, ptr %t631) %t632 = load ptr, ptr %t628 store i32 4955, ptr @lp_site %t633 = call ptr @lp_str_concat(ptr @.str11329, ptr %t632) store i32 0, ptr @lp_site store i32 4956, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str11330) 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 @.str11331) store ptr %t637, ptr %t638 %t639 = call ptr @fn_lbl(ptr @.str11332) store ptr %t639, ptr %t640 call void @fn_emit(ptr @.str11333) %t641 = load ptr, ptr %t636 call void @fn_emit(ptr %t641) call void @fn_emit(ptr @.str11334) %t642 = load ptr, ptr %t640 call void @fn_emit(ptr %t642) call void @fn_emit(ptr @.str11335) %t643 = load ptr, ptr %t638 call void @fn_emit(ptr %t643) call void @fn_emit(ptr @.str11336) %t644 = load ptr, ptr %t638 call void @fn_emit(ptr %t644) call void @fn_emit(ptr @.str11337) %t645 = load ptr, ptr %t163 %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 %t647 = load ptr, ptr %t646 store i32 4957, ptr @lp_site %t648 = call ptr @lp_str_concat(ptr @.str11338, ptr %t647) store i32 0, ptr @lp_site store i32 4958, ptr @lp_site %t649 = call ptr @lp_str_concat(ptr %t648, ptr @.str11339) store i32 0, ptr @lp_site call void @lp_free(ptr %t648) %t650 = load ptr, ptr %t628 store i32 4959, 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 4960, ptr @lp_site %t655 = call ptr @lp_str_concat(ptr @.str11340, ptr %t654) store i32 0, ptr @lp_site store i32 4961, ptr @lp_site %t656 = call ptr @lp_str_concat(ptr %t655, ptr @.str11341) 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 4962, 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 4963, ptr @lp_site %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str11342) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) %t662 = load ptr, ptr %t584 store i32 4964, 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 4965, ptr @lp_site %t664 = call ptr @lp_str_concat(ptr %t663, ptr @.str11343) 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 4966, ptr @lp_site %t668 = call ptr @lp_str_concat(ptr @.str11344, ptr %t667) store i32 0, ptr @lp_site store i32 4967, ptr @lp_site %t669 = call ptr @lp_str_concat(ptr %t668, ptr @.str11345) 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 4968, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr @.str11346, ptr %t672) store i32 0, ptr @lp_site store i32 4969, ptr @lp_site %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str11347) 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 @.str11348, ptr %t677, ptr %t678) call void @fn_emit(ptr @.str11349) %t679 = load ptr, ptr %t640 call void @fn_emit(ptr %t679) call void @fn_emit(ptr @.str11350) %t680 = load ptr, ptr %t640 call void @fn_emit(ptr %t680) call void @fn_emit(ptr @.str11351) %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 4970, ptr @lp_site %t684 = call ptr @lp_str_concat(ptr @.str11352, ptr %t683) store i32 0, ptr @lp_site %t685 = call ptr @fn_emit_bind(ptr %t684) %t686 = call ptr @fn_val(ptr %t685, ptr @.str11353) 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 @.str11354) call void @fn_emith(ptr @.str11355) call void @fn_emith(ptr @.str11356) call void @fn_emith(ptr @.str11357) call void @fn_emith(ptr @.str11358) call void @fn_emith(ptr @.str11359) call void @fn_emith(ptr @.str11360) call void @fn_emith(ptr @.str11361) call void @fn_emith(ptr @.str11362) call void @fn_emith(ptr @.str11363) call void @fn_emith(ptr @.str11364) call void @fn_emith(ptr @.str11365) call void @fn_emith(ptr @.str11366) call void @fn_emith(ptr @.str11367) call void @fn_emith(ptr @.str11368) call void @fn_emith(ptr @.str11369) call void @fn_emith(ptr @.str11370) call void @fn_emith(ptr @.str11371) call void @fn_emith(ptr @.str11372) call void @fn_emith(ptr @.str11373) call void @fn_emith(ptr @.str11374) call void @fn_emith(ptr @.str11375) call void @fn_emith(ptr @.str11376) call void @fn_emith(ptr @.str11377) call void @fn_emith(ptr @.str11378) call void @fn_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) 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) 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_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) call void @fn_emith(ptr @.str11547) call void @fn_emith(ptr @.str11548) call void @fn_emith(ptr @.str11549) call void @fn_emith(ptr @.str11550) call void @fn_emith(ptr @.str11551) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: call void @fn_emith(ptr @.str11552) call void @fn_emith(ptr @.str11553) call void @fn_emith(ptr @.str11554) call void @fn_emith(ptr @.str11555) call void @fn_emith(ptr @.str11556) call void @fn_emith(ptr @.str11557) call void @fn_emith(ptr @.str11558) call void @fn_emith(ptr @.str11559) call void @fn_emith(ptr @.str11560) call void @fn_emith(ptr @.str11561) call void @fn_emith(ptr @.str11562) call void @fn_emith(ptr @.str11563) call void @fn_emith(ptr @.str11564) call void @fn_emith(ptr @.str11565) call void @fn_emith(ptr @.str11566) call void @fn_emith(ptr @.str11567) call void @fn_emith(ptr @.str11568) call void @fn_emith(ptr @.str11569) call void @fn_emith(ptr @.str11570) call void @fn_emith(ptr @.str11571) call void @fn_emith(ptr @.str11572) call void @fn_emith(ptr @.str11573) call void @fn_emith(ptr @.str11574) call void @fn_emith(ptr @.str11575) call void @fn_emith(ptr @.str11576) call void @fn_emith(ptr @.str11577) call void @fn_emith(ptr @.str11578) call void @fn_emith(ptr @.str11579) call void @fn_emith(ptr @.str11580) call void @fn_emith(ptr @.str11581) call void @fn_emith(ptr @.str11582) call void @fn_emith(ptr @.str11583) call void @fn_emith(ptr @.str11584) call void @fn_emith(ptr @.str11585) call void @fn_emith(ptr @.str11586) call void @fn_emith(ptr @.str11587) call void @fn_emith(ptr @.str11588) call void @fn_emith(ptr @.str11589) call void @fn_emith(ptr @.str11590) call void @fn_emith(ptr @.str11591) call void @fn_emith(ptr @.str11592) call void @fn_emith(ptr @.str11593) call void @fn_emith(ptr @.str11594) call void @fn_emith(ptr @.str11595) call void @fn_emith(ptr @.str11596) call void @fn_emith(ptr @.str11597) call void @fn_emith(ptr @.str11598) call void @fn_emith(ptr @.str11599) call void @fn_emith(ptr @.str11600) call void @fn_emith(ptr @.str11601) call void @fn_emith(ptr @.str11602) call void @fn_emith(ptr @.str11603) call void @fn_emith(ptr @.str11604) call void @fn_emith(ptr @.str11605) call void @fn_emith(ptr @.str11606) call void @fn_emith(ptr @.str11607) call void @fn_emith(ptr @.str11608) call void @fn_emith(ptr @.str11609) call void @fn_emith(ptr @.str11610) call void @fn_emith(ptr @.str11611) call void @fn_emith(ptr @.str11612) call void @fn_emith(ptr @.str11613) call void @fn_emith(ptr @.str11614) call void @fn_emith(ptr @.str11615) call void @fn_emith(ptr @.str11616) call void @fn_emith(ptr @.str11617) call void @fn_emith(ptr @.str11618) call void @fn_emith(ptr @.str11619) call void @fn_emith(ptr @.str11620) call void @fn_emith(ptr @.str11621) call void @fn_emith(ptr @.str11622) call void @fn_emith(ptr @.str11623) call void @fn_emith(ptr @.str11624) call void @fn_emith(ptr @.str11625) call void @fn_emith(ptr @.str11626) call void @fn_emith(ptr @.str11627) call void @fn_emith(ptr @.str11628) call void @fn_emith(ptr @.str11629) call void @fn_emith(ptr @.str11630) call void @fn_emith(ptr @.str11631) call void @fn_emith(ptr @.str11632) call void @fn_emith(ptr @.str11633) call void @fn_emith(ptr @.str11634) call void @fn_emith(ptr @.str11635) call void @fn_emith(ptr @.str11636) call void @fn_emith(ptr @.str11637) call void @fn_emith(ptr @.str11638) call void @fn_emith(ptr @.str11639) call void @fn_emith(ptr @.str11640) call void @fn_emith(ptr @.str11641) call void @fn_emith(ptr @.str11642) call void @fn_emith(ptr @.str11643) call void @fn_emith(ptr @.str11644) call void @fn_emith(ptr @.str11645) call void @fn_emith(ptr @.str11646) call void @fn_emith(ptr @.str11647) call void @fn_emith(ptr @.str11648) call void @fn_emith(ptr @.str11649) call void @fn_emith(ptr @.str11650) call void @fn_emith(ptr @.str11651) call void @fn_emith(ptr @.str11652) call void @fn_emith(ptr @.str11653) call void @fn_emith(ptr @.str11654) call void @fn_emith(ptr @.str11655) 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) 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) 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_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) 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) 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 @.str11763) %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 @.str11764) %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 @.str11765) %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 @.str11766) %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 @.str11767) %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 @.str11768) %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 @.str11769) %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 @.str11770) %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 4971, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str11771, ptr %t1) store i32 0, ptr @lp_site store i32 4972, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str11773) 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 4973, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str11774, ptr %t6) store i32 0, ptr @lp_site store i32 4974, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11775) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t5 store i32 4975, 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 4976, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str11776, ptr %t13) store i32 0, ptr @lp_site store i32 4977, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str11777) 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 4978, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str11778, ptr %t18) store i32 0, ptr @lp_site store i32 4979, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11779) 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 4980, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str11780, ptr %t23) store i32 0, ptr @lp_site store i32 4981, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str11781) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t22 store i32 4982, 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 4983, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str11782, ptr %t30) store i32 0, ptr @lp_site store i32 4984, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str11783) 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 4985, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str11784, ptr %t35) store i32 0, ptr @lp_site store i32 4986, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str11785) 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 4987, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str11786, ptr %t40) store i32 0, ptr @lp_site store i32 4988, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str11787) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t39 store i32 4989, 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 4990, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str11788, ptr %t1) store i32 0, ptr @lp_site store i32 4991, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str11790) 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 4992, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str11791, ptr %t6) store i32 0, ptr @lp_site store i32 4993, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11792) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t5 store i32 4994, 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 4995, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str11793, ptr %t13) store i32 0, ptr @lp_site store i32 4996, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str11794) 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 4997, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str11795, ptr %t18) store i32 0, ptr @lp_site store i32 4998, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11796) 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 4999, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str11797, ptr %t23) store i32 0, ptr @lp_site store i32 5000, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str11798) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t22 store i32 5001, 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 5002, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str11799, ptr %t30) store i32 0, ptr @lp_site store i32 5003, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str11800) 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 5004, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str11801, ptr %t35) store i32 0, ptr @lp_site store i32 5005, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str11802) 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 5006, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str11803, ptr %t40) store i32 0, ptr @lp_site store i32 5007, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str11804) store i32 0, ptr @lp_site call void @lp_free(ptr %t41) %t43 = load ptr, ptr %t39 store i32 5008, 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 @.str11805) %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 @.str11806) %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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str11807, 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 5009, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str11808, ptr %t28) store i32 0, ptr @lp_site store i32 5010, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str11810) 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 @.str11811) store ptr %t32, ptr %retval br label %ret ifend4: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11812) %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 @.str11813) %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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str11814, 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 5011, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str11815, ptr %t59) store i32 0, ptr @lp_site store i32 5012, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str11816) 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 @.str11817) store ptr %t63, ptr %retval br label %ret ifend11: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str11818) %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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str11819, 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 @.str11820) store ptr %t83, ptr %retval br label %ret ifend16: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str11821) %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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str11822, 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 5013, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str11823, ptr %t102) store i32 0, ptr @lp_site store i32 5014, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str11824) 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 @.str11825) store ptr %t106, ptr %retval br label %ret ifend21: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str11826) %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: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11827, 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 @.str11828) store ptr %t127, ptr %retval br label %ret ifend26: store ptr @.str11829, 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: %t148 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str11830, 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 5015, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str11831, ptr %t155) store i32 0, ptr @lp_site store i32 5016, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str11832) 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 5017, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str11833, ptr %t160) store i32 0, ptr @lp_site store i32 5018, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str11834) 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 5019, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str11835, ptr %t165) store i32 0, ptr @lp_site store i32 5020, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str11836) 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 5021, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr @.str11837, ptr %t170) store i32 0, ptr @lp_site store i32 5022, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str11838) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) %t173 = load ptr, ptr %t164 store i32 5023, 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 5024, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str11839, ptr %t177) store i32 0, ptr @lp_site store i32 5025, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str11840) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t169 store i32 5026, 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 5027, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str11841, ptr %t184) store i32 0, ptr @lp_site store i32 5028, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str11842) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t183 store i32 5029, 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 @.str11843) 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 @.str11844) call void @fn_emith(ptr @.str11845) call void @fn_emith(ptr @.str11846) call void @fn_emith(ptr @.str11847) call void @fn_emith(ptr @.str11848) call void @fn_emith(ptr @.str11849) call void @fn_emith(ptr @.str11850) call void @fn_emith(ptr @.str11851) call void @fn_emith(ptr @.str11852) call void @fn_emith(ptr @.str11853) call void @fn_emith(ptr @.str11854) call void @fn_emith(ptr @.str11855) call void @fn_emith(ptr @.str11856) call void @fn_emith(ptr @.str11857) call void @fn_emith(ptr @.str11858) call void @fn_emith(ptr @.str11859) call void @fn_emith(ptr @.str11860) call void @fn_emith(ptr @.str11861) call void @fn_emith(ptr @.str11862) call void @fn_emith(ptr @.str11863) call void @fn_emith(ptr @.str11864) call void @fn_emith(ptr @.str11865) call void @fn_emith(ptr @.str11866) call void @fn_emith(ptr @.str11867) call void @fn_emith(ptr @.str11868) call void @fn_emith(ptr @.str11869) call void @fn_emith(ptr @.str11870) call void @fn_emith(ptr @.str11871) call void @fn_emith(ptr @.str11872) call void @fn_emith(ptr @.str11873) call void @fn_emith(ptr @.str11874) call void @fn_emith(ptr @.str11875) call void @fn_emith(ptr @.str11876) call void @fn_emith(ptr @.str11877) call void @fn_emith(ptr @.str11878) call void @fn_emith(ptr @.str11879) call void @fn_emith(ptr @.str11880) call void @fn_emith(ptr @.str11881) call void @fn_emith(ptr @.str11882) call void @fn_emith(ptr @.str11883) call void @fn_emith(ptr @.str11884) call void @fn_emith(ptr @.str11885) call void @fn_emith(ptr @.str11886) call void @fn_emith(ptr @.str11887) call void @fn_emith(ptr @.str11888) call void @fn_emith(ptr @.str11889) call void @fn_emith(ptr @.str11890) call void @fn_emith(ptr @.str11891) call void @fn_emith(ptr @.str11892) call void @fn_emith(ptr @.str11893) call void @fn_emith(ptr @.str11894) call void @fn_emith(ptr @.str11895) call void @fn_emith(ptr @.str11896) call void @fn_emith(ptr @.str11897) call void @fn_emith(ptr @.str11898) call void @fn_emith(ptr @.str11899) 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_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) call void @fn_emith(ptr @.str11932) call void @fn_emith(ptr @.str11933) call void @fn_emith(ptr @.str11934) call void @fn_emith(ptr @.str11935) call void @fn_emith(ptr @.str11936) call void @fn_emith(ptr @.str11937) call void @fn_emith(ptr @.str11938) call void @fn_emith(ptr @.str11939) call void @fn_emith(ptr @.str11940) 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 @.str11941) %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 @.str11942) %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 @.str11943) %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 @.str11944) %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 @.str11945) %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 @.str11946) %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 @.str11947) %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 @.str11948) %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 @.str11949) %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 @.str11950) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str11951, 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 5030, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str11952, ptr %t20) store i32 0, ptr @lp_site store i32 5031, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11954) 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 @.str11955) store ptr %t24, ptr %retval br label %ret ifend2: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str11956) %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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str11957, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11958, 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 5032, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str11959, ptr %t56) store i32 0, ptr @lp_site store i32 5033, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11960) 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 5034, 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 5035, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11961) 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 @.str11962) store ptr %t65, ptr %retval br label %ret ifend7: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str11963) %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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str11964, 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 5036, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str11965, ptr %t84) store i32 0, ptr @lp_site store i32 5037, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str11966) 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 @.str11967) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str11968) %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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str11969, 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: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str11970, 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 5038, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str11971, ptr %t120) store i32 0, ptr @lp_site store i32 5039, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str11972) 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 5040, 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 5041, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11973) 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 @.str11974) store ptr %t129, ptr %retval br label %ret ifend19: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str11975) %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 @.str11976) %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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str11977, 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 5042, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str11978, ptr %t156) store i32 0, ptr @lp_site store i32 5043, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11979) 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 5044, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str11980, ptr %t161) store i32 0, ptr @lp_site store i32 5045, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str11981) 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 @.str11982) store ptr %t165, ptr %retval br label %ret ifend28: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str11983) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then31, label %ifend33 then31: %t169 = call ptr @fn_emit_bind(ptr @.str11984) %t170 = call ptr @fn_val(ptr %t169, ptr @.str11985) store ptr %t170, ptr %retval br label %ret ifend33: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str11986) %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: %t182 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str11987, 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 5046, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str11988, ptr %t189) store i32 0, ptr @lp_site store i32 5047, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str11989) 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 @.str11990) 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: %t202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str11991, 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: %t215 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str11992, 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: %t228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str11993, 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 5048, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr @.str11994, ptr %t235) store i32 0, ptr @lp_site store i32 5049, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str11995) 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 5050, 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 5051, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str11996) 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 5052, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr @.str11997, ptr %t245) store i32 0, ptr @lp_site store i32 5053, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str11998) 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 5054, 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 5055, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str11999) 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 @.str12000) 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 @.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) 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) 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) call void @fn_emith(ptr @.str12065) call void @fn_emith(ptr @.str12066) call void @fn_emith(ptr @.str12067) call void @fn_emith(ptr @.str12068) 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) call void @fn_emith(ptr @.str12079) call void @fn_emith(ptr @.str12080) call void @fn_emith(ptr @.str12081) 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) 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_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) 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_emit_secure_rand_prelude() br label %ret ret: ret void } define void @fn_emit_secure_rand_prelude() { entry: call void @fn_emith(ptr @.str12153) call void @fn_emith(ptr @.str12154) call void @fn_emith(ptr @.str12155) %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 @.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) br label %ifend2 else1: call void @fn_emith(ptr @.str12164) call void @fn_emith(ptr @.str12165) call void @fn_emith(ptr @.str12166) call void @fn_emith(ptr @.str12167) call void @fn_emith(ptr @.str12168) call void @fn_emith(ptr @.str12169) br label %ifend2 ifend2: 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) 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) 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) call void @fn_emith(ptr @.str12208) 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 @.str12209) %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 @.str12210) %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 @.str12211) %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 @.str12212) %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 @.str12213) %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 @.str12214) %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 @.str12215) %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 @.str12216) %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 @.str12217) %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 @.str12218) %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 @.str12219) %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 @.str12220) %t14 = call ptr @fn_val(ptr %t13, ptr @.str12221) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12222) %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 @.str12223) %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 @.str12224) %t27 = call ptr @fn_val(ptr %t26, ptr @.str12225) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12226) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str12227) %t32 = call ptr @fn_val(ptr %t31, ptr @.str12228) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str12229) %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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12230, 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 5056, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str12231, ptr %t51) store i32 0, ptr @lp_site store i32 5057, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str12233) 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 @.str12234) store ptr %t55, ptr %retval br label %ret ifend15: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str12235) %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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12236, 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 @.str12237) store ptr %t75, ptr %retval br label %ret ifend20: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str12238) %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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str12239, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str12240, 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 5058, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str12241, ptr %t107) store i32 0, ptr @lp_site store i32 5059, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str12242) 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 5060, 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 5061, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str12243) 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 @.str12244) 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: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str12245, 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 5062, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr @.str12246, ptr %t132) store i32 0, ptr @lp_site store i32 5063, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str12247) 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 @.str12248) 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 @.str12249) call void @fn_emith(ptr @.str12250) call void @fn_emith(ptr @.str12251) call void @fn_emith(ptr @.str12252) call void @fn_emith(ptr @.str12253) call void @fn_emith(ptr @.str12254) call void @fn_emith(ptr @.str12255) call void @fn_emith(ptr @.str12256) call void @fn_emith(ptr @.str12257) call void @fn_emith(ptr @.str12258) call void @fn_emith(ptr @.str12259) call void @fn_emith(ptr @.str12260) call void @fn_emith(ptr @.str12261) call void @fn_emith(ptr @.str12262) call void @fn_emith(ptr @.str12263) call void @fn_emith(ptr @.str12264) call void @fn_emith(ptr @.str12265) call void @fn_emith(ptr @.str12266) call void @fn_emith(ptr @.str12267) call void @fn_emith(ptr @.str12268) call void @fn_emith(ptr @.str12269) call void @fn_emith(ptr @.str12270) call void @fn_emith(ptr @.str12271) call void @fn_emith(ptr @.str12272) call void @fn_emith(ptr @.str12273) call void @fn_emith(ptr @.str12274) call void @fn_emith(ptr @.str12275) call void @fn_emith(ptr @.str12276) call void @fn_emith(ptr @.str12277) call void @fn_emith(ptr @.str12278) call void @fn_emith(ptr @.str12279) call void @fn_emith(ptr @.str12280) call void @fn_emith(ptr @.str12281) call void @fn_emith(ptr @.str12282) call void @fn_emith(ptr @.str12283) call void @fn_emith(ptr @.str12284) call void @fn_emith(ptr @.str12285) call void @fn_emith(ptr @.str12286) call void @fn_emith(ptr @.str12287) call void @fn_emith(ptr @.str12288) call void @fn_emith(ptr @.str12289) call void @fn_emith(ptr @.str12290) call void @fn_emith(ptr @.str12291) call void @fn_emith(ptr @.str12292) call void @fn_emith(ptr @.str12293) call void @fn_emith(ptr @.str12294) call void @fn_emith(ptr @.str12295) call void @fn_emith(ptr @.str12296) call void @fn_emith(ptr @.str12297) call void @fn_emith(ptr @.str12298) call void @fn_emith(ptr @.str12299) call void @fn_emith(ptr @.str12300) call void @fn_emith(ptr @.str12301) call void @fn_emith(ptr @.str12302) call void @fn_emith(ptr @.str12303) call void @fn_emith(ptr @.str12304) call void @fn_emith(ptr @.str12305) call void @fn_emith(ptr @.str12306) call void @fn_emith(ptr @.str12307) call void @fn_emith(ptr @.str12308) call void @fn_emith(ptr @.str12309) call void @fn_emith(ptr @.str12310) call void @fn_emith(ptr @.str12311) call void @fn_emith(ptr @.str12312) call void @fn_emith(ptr @.str12313) call void @fn_emith(ptr @.str12314) call void @fn_emith(ptr @.str12315) call void @fn_emith(ptr @.str12316) call void @fn_emith(ptr @.str12317) call void @fn_emith(ptr @.str12318) call void @fn_emith(ptr @.str12319) call void @fn_emith(ptr @.str12320) call void @fn_emith(ptr @.str12321) call void @fn_emith(ptr @.str12322) 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 @.str12323) %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 @.str12324) %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 @.str12325) %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 @.str12326) %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 @.str12327) %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 @.str12328) %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 @.str12329) %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 @.str12330) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12331, 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 5064, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str12332, ptr %t20) store i32 0, ptr @lp_site store i32 5065, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str12334) 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 5066, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str12335, ptr %t25) store i32 0, ptr @lp_site store i32 5067, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12336) 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 @.str12337) 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 @.str12338) %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 @.str12339, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str12340, 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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str12341, 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12342, 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 5068, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str12343, ptr %t75) store i32 0, ptr @lp_site store i32 5069, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str12344) 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 5070, 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 5071, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str12345) 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 5072, 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 5073, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str12346) 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 @.str12347) store ptr %t89, ptr %retval br label %ret ifend7: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str12348) %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 @.str12349, 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: %t102 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str12350, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str12351, 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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str12352, 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 5074, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str12353, ptr %t135) store i32 0, ptr @lp_site store i32 5075, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str12354) 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 5076, 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 5077, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str12355) 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 5078, 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 5079, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str12356) 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 @.str12357) store ptr %t149, ptr %retval br label %ret ifend16: %t150 = load ptr, ptr %t0 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str12358) %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 @.str12359, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str12360, 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: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str12361, 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: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str12362, 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 5080, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str12363, ptr %t195) store i32 0, ptr @lp_site store i32 5081, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str12364) 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 5082, 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 5083, ptr @lp_site %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str12365) 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 5084, 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 5085, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str12366) 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 @.str12367) store ptr %t209, ptr %retval br label %ret ifend25: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str12368) %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 @.str12369, 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: %t222 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str12370, 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: %t235 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str12371, 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: %t248 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t248, ptr @.fmt_bounds, ptr @.str12372, 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: %t261 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t261, ptr @.fmt_bounds, ptr @.str12373, 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 5086, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr @.str12374, ptr %t268) store i32 0, ptr @lp_site store i32 5087, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str12375) 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 5088, 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 5089, ptr @lp_site %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str12376) 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 5090, 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 5091, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr %t279, ptr @.str12377) 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 5092, 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 5093, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str12378) 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 @.str12379) store ptr %t287, ptr %retval br label %ret ifend34: %t288 = load ptr, ptr %t0 %t289 = call i32 @lp_str_eq(ptr %t288, ptr @.str12380) %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 @.str12381, 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: %t300 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str12382, 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: %t313 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t313, ptr @.fmt_bounds, ptr @.str12383, 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: %t326 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t326, ptr @.fmt_bounds, ptr @.str12384, 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 5094, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr @.str12385, ptr %t333) store i32 0, ptr @lp_site store i32 5095, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str12386) 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 5096, 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 5097, ptr @lp_site %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str12387) 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 5098, 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 5099, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str12388) 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 @.str12389) 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: %t356 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t356, ptr @.fmt_bounds, ptr @.str12390, 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: %t369 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str12391, 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: %t382 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t382, ptr @.fmt_bounds, ptr @.str12392, 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 5100, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr @.str12393, ptr %t389) store i32 0, ptr @lp_site store i32 5101, ptr @lp_site %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str12394) 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 5102, 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 5103, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str12395) 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 5104, 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 5105, ptr @lp_site %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str12396) 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 @.str12397) 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 @.str12398) call void @fn_emith(ptr @.str12399) call void @fn_emith(ptr @.str12400) call void @fn_emith(ptr @.str12401) call void @fn_emith(ptr @.str12402) call void @fn_emith(ptr @.str12403) call void @fn_emith(ptr @.str12404) call void @fn_emith(ptr @.str12405) call void @fn_emith(ptr @.str12406) call void @fn_emith(ptr @.str12407) call void @fn_emith(ptr @.str12408) call void @fn_emith(ptr @.str12409) call void @fn_emith(ptr @.str12410) call void @fn_emith(ptr @.str12411) call void @fn_emith(ptr @.str12412) call void @fn_emith(ptr @.str12413) call void @fn_emith(ptr @.str12414) call void @fn_emith(ptr @.str12415) call void @fn_emith(ptr @.str12416) call void @fn_emith(ptr @.str12417) call void @fn_emith(ptr @.str12418) call void @fn_emith(ptr @.str12419) call void @fn_emith(ptr @.str12420) call void @fn_emith(ptr @.str12421) call void @fn_emith(ptr @.str12422) call void @fn_emith(ptr @.str12423) call void @fn_emith(ptr @.str12424) call void @fn_emith(ptr @.str12425) call void @fn_emith(ptr @.str12426) call void @fn_emith(ptr @.str12427) call void @fn_emith(ptr @.str12428) call void @fn_emith(ptr @.str12429) call void @fn_emith(ptr @.str12430) call void @fn_emith(ptr @.str12431) call void @fn_emith(ptr @.str12432) call void @fn_emith(ptr @.str12433) call void @fn_emith(ptr @.str12434) call void @fn_emith(ptr @.str12435) call void @fn_emith(ptr @.str12436) call void @fn_emith(ptr @.str12437) call void @fn_emith(ptr @.str12438) call void @fn_emith(ptr @.str12439) call void @fn_emith(ptr @.str12440) call void @fn_emith(ptr @.str12441) call void @fn_emith(ptr @.str12442) call void @fn_emith(ptr @.str12443) call void @fn_emith(ptr @.str12444) call void @fn_emith(ptr @.str12445) call void @fn_emith(ptr @.str12446) call void @fn_emith(ptr @.str12447) call void @fn_emith(ptr @.str12448) call void @fn_emith(ptr @.str12449) call void @fn_emith(ptr @.str12450) call void @fn_emith(ptr @.str12451) call void @fn_emith(ptr @.str12452) call void @fn_emith(ptr @.str12453) call void @fn_emith(ptr @.str12454) call void @fn_emith(ptr @.str12455) call void @fn_emith(ptr @.str12456) call void @fn_emith(ptr @.str12457) call void @fn_emith(ptr @.str12458) call void @fn_emith(ptr @.str12459) call void @fn_emith(ptr @.str12460) call void @fn_emith(ptr @.str12461) call void @fn_emith(ptr @.str12462) call void @fn_emith(ptr @.str12463) call void @fn_emith(ptr @.str12464) call void @fn_emith(ptr @.str12465) call void @fn_emith(ptr @.str12466) call void @fn_emith(ptr @.str12467) call void @fn_emith(ptr @.str12468) call void @fn_emith(ptr @.str12469) call void @fn_emith(ptr @.str12470) call void @fn_emith(ptr @.str12471) call void @fn_emith(ptr @.str12472) call void @fn_emith(ptr @.str12473) call void @fn_emith(ptr @.str12474) call void @fn_emith(ptr @.str12475) call void @fn_emith(ptr @.str12476) call void @fn_emith(ptr @.str12477) call void @fn_emith(ptr @.str12478) call void @fn_emith(ptr @.str12479) call void @fn_emith(ptr @.str12480) call void @fn_emith(ptr @.str12481) call void @fn_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str12482) call void @fn_emith(ptr @.str12483) call void @fn_emith(ptr @.str12484) call void @fn_emith(ptr @.str12485) call void @fn_emith(ptr @.str12486) call void @fn_emith(ptr @.str12487) call void @fn_emith(ptr @.str12488) call void @fn_emith(ptr @.str12489) call void @fn_emith(ptr @.str12490) call void @fn_emith(ptr @.str12491) call void @fn_emith(ptr @.str12492) call void @fn_emith(ptr @.str12493) call void @fn_emith(ptr @.str12494) call void @fn_emith(ptr @.str12495) call void @fn_emith(ptr @.str12496) call void @fn_emith(ptr @.str12497) call void @fn_emith(ptr @.str12498) call void @fn_emith(ptr @.str12499) call void @fn_emith(ptr @.str12500) call void @fn_emith(ptr @.str12501) call void @fn_emith(ptr @.str12502) call void @fn_emith(ptr @.str12503) call void @fn_emith(ptr @.str12504) call void @fn_emith(ptr @.str12505) 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 5106, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str12506, ptr %t12) store i32 0, ptr @lp_site store i32 5107, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str12508) 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 5108, 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 5109, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str12509) 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 5110, 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 5111, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str12510) 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 5112, 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 @.str12511, ptr %retval br label %ret ifend2: store ptr @.str12512, 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 @.str12513) %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 @.str12514) %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 @.str12515) %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 @.str12516) %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 @.str12517) %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 @.str12518) %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 @.str12519) %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 @.str12520) %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 @.str12521) 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 @.str12522) %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 5113, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str12523, ptr %t26) store i32 0, ptr @lp_site store i32 5114, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str12525) 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 @.str12526) 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 5115, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str12527, ptr %t33) store i32 0, ptr @lp_site store i32 5116, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str12528) 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 @.str12529) 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 @.str12530) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12531, 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 5117, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str12532, ptr %t20) store i32 0, ptr @lp_site store i32 5118, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str12534) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) call void @fn_emit(ptr %t22) %t23 = call ptr @fn_val(ptr @.str12535, ptr @.str12536) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str12537) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = call ptr @fn_emit_bind(ptr @.str12538) %t28 = call ptr @fn_val(ptr %t27, ptr @.str12539) store ptr %t28, ptr %retval br label %ret ifend7: store ptr @.str12540, ptr %t29 store ptr @.str12541, ptr %t30 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12542) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: store ptr @.str12543, ptr %t29 store ptr @.str12544, ptr %t30 br label %ifend10 ifend10: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12545) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: store ptr @.str12546, ptr %t29 store ptr @.str12547, ptr %t30 br label %ifend13 ifend13: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12548) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then14, label %ifend16 then14: store ptr @.str12549, ptr %t29 store ptr @.str12550, ptr %t30 br label %ifend16 ifend16: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12551) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then17, label %ifend19 then17: store ptr @.str12552, ptr %t29 store ptr @.str12553, ptr %t30 br label %ifend19 ifend19: store i32 1, ptr @g_g_uses_str %t43 = call ptr @fn_emit_bind(ptr @.str12554) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t29 store i32 5119, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str12555, ptr %t45) store i32 0, ptr @lp_site store i32 5120, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str12556) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t44 store i32 5121, 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 @.str12557) store ptr %t52, ptr %t53 %t54 = call ptr @fn_lbl(ptr @.str12558) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t51 store i32 5122, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str12559, ptr %t56) store i32 0, ptr @lp_site store i32 5123, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12560) store i32 0, ptr @lp_site call void @lp_free(ptr %t57) %t59 = load ptr, ptr %t53 store i32 5124, 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 5125, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str12561) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t55 store i32 5126, 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 5127, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str12562) 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 5128, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str12563) 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 @.str12564) 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str12565, 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 @.str12566, 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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str12567, 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str12568, 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 @.str12570) %t130 = call ptr @fn_val(ptr %t129, ptr @.str12571) %t131 = call ptr @fn_emit_str_op(ptr @.str12569, 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 @.str12572, ptr %t132, ptr %t134) store ptr %t135, ptr %t70 %t136 = load ptr, ptr %t70 %t137 = call ptr @fn_emit_str_const(ptr @.str12574) %t138 = call ptr @fn_val(ptr %t137, ptr @.str12575) %t139 = call ptr @fn_emit_str_op(ptr @.str12573, 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 @.str12576, 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 5129, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str12577, ptr %t146) store i32 0, ptr @lp_site store i32 5130, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str12578) 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 5131, 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 5132, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str12579) 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 5133, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str12580, ptr %t156) store i32 0, ptr @lp_site store i32 5134, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str12581) 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 5135, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str12582, ptr %t159) store i32 0, ptr @lp_site store i32 5136, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str12583) 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 5137, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str12584) store i32 0, ptr @lp_site call void @fn_emit(ptr %t163) %t164 = call ptr @fn_val(ptr @.str12585, ptr @.str12586) 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 @.str12587) call void @fn_emith(ptr @.str12588) call void @fn_emith(ptr @.str12589) call void @fn_emith(ptr @.str12590) %t0 = call ptr @fn_stdstream_rhs(i32 2) store i32 5138, ptr @lp_site %t1 = call ptr @lp_str_concat(ptr @.str12591, ptr %t0) store i32 0, ptr @lp_site store i32 5139, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str12593) store i32 0, ptr @lp_site call void @lp_free(ptr %t1) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str12594) call void @fn_emith(ptr @.str12595) 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 @.str12596) %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 @.str12597) %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 @.str12598) %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 @.str12599) %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 @.str12600) %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 @.str12601) %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 @.str12602) %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 @.str12603) %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 @.str12604) %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 @.str12605) %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 @.str12606) %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 @.str12607) %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 @.str12608) %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 @.str12609) %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 @.str12610) %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 @.str12611) %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 @.str12612) %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 @.str12613) %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 @.str12614) %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 @.str12615) %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 @.str12616) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str12617) %t6 = call ptr @fn_val(ptr %t5, ptr @.str12618) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str12619) %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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str12620, 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 @.str12621) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 5140, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str12622, ptr %t25) store i32 0, ptr @lp_site store i32 5141, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12624) 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 5142, 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 5143, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str12625, ptr %t34) store i32 0, ptr @lp_site %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str12626) store ptr %t37, ptr %retval br label %ret ifend5: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str12627) %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 @.str12628) %t42 = call ptr @fn_val(ptr %t41, ptr @.str12629) store ptr %t42, ptr %retval br label %ret ifend10: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str12630) %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 @.str12631, ptr @.str12632) store ptr %t48, ptr %retval br label %ret ifend16: store i32 1, ptr @g_g_uses_heap %t49 = call ptr @fn_emit_bind(ptr @.str12633) %t50 = call ptr @fn_val(ptr %t49, ptr @.str12634) store ptr %t50, ptr %retval br label %ret ifend13: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str12635) %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 @.str12636) %t55 = call ptr @fn_val(ptr %t54, ptr @.str12637) store ptr %t55, ptr %retval br label %ret ifend19: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str12638) %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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12639, 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 5144, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str12640, ptr %t74) store i32 0, ptr @lp_site store i32 5145, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str12641) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str12642) store i32 1, ptr @g_g_term %t77 = call ptr @fn_val(ptr @.str12643, ptr @.str12644) store ptr %t77, ptr %retval br label %ret ifend22: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str12645) %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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str12646, 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 5146, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str12647, ptr %t96) store i32 0, ptr @lp_site store i32 5147, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str12648) 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 @.str12649) store ptr %t100, ptr %retval br label %ret ifend27: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str12650) %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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str12651, 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 5148, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str12652, ptr %t119) store i32 0, ptr @lp_site store i32 5149, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str12653) 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 5150, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr @.str12654, ptr %t124) store i32 0, ptr @lp_site store i32 5151, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str12655) 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 5152, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str12656, ptr %t129) store i32 0, ptr @lp_site store i32 5153, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str12657) 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 @.str12658) store ptr %t133, ptr %retval br label %ret ifend32: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str12659) %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 @.str12660) %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 @.str12661) %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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str12662, 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 5154, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr @.str12663, ptr %t168) store i32 0, ptr @lp_site store i32 5155, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str12664) 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 5156, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr @.str12665, ptr %t175) store i32 0, ptr @lp_site store i32 5157, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str12666) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) %t178 = load ptr, ptr %t172 store i32 5158, 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 5159, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str12667) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) %t181 = load ptr, ptr %t165 store i32 5160, 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 5161, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str12668) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) call void @fn_emit(ptr %t183) %t184 = call ptr @fn_val(ptr @.str12669, ptr @.str12670) 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 @.str12671) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then45, label %ifend47 then45: %t188 = call ptr @fn_emit_bind(ptr @.str12672) %t189 = call ptr @fn_val(ptr %t188, ptr @.str12673) store ptr %t189, ptr %retval br label %ret ifend47: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str12674) %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: %t201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str12675, 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: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str12676, 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 5162, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr @.str12677, ptr %t221) store i32 0, ptr @lp_site store i32 5163, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str12678) 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 5164, 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 5165, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str12679) 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 @.str12680) store ptr %t230, ptr %retval br label %ret ifend50: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str12681) %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: %t242 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t242, ptr @.fmt_bounds, ptr @.str12682, 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: %t255 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str12683, 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 5166, ptr @lp_site %t263 = call ptr @lp_str_concat(ptr @.str12684, ptr %t262) store i32 0, ptr @lp_site store i32 5167, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str12685) 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 5168, 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 5169, ptr @lp_site %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str12686) 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 5170, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str12687, ptr %t272) store i32 0, ptr @lp_site store i32 5171, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str12688) 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 5172, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr @.str12689, ptr %t277) store i32 0, ptr @lp_site store i32 5173, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str12690) 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 @.str12691) store ptr %t281, ptr %retval br label %ret ifend57: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str12692) %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: %t293 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str12693, 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 5174, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str12694, ptr %t300) store i32 0, ptr @lp_site store i32 5175, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str12695) 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 5176, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr @.str12696, ptr %t305) store i32 0, ptr @lp_site store i32 5177, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str12697) 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 5178, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr @.str12698, ptr %t310) store i32 0, ptr @lp_site store i32 5179, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str12699) 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 @.str12700) store ptr %t314, ptr %retval br label %ret ifend64: %t315 = load ptr, ptr %t0 %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str12701) %t317 = icmp ne i32 %t316, 0 br i1 %t317, label %then67, label %ifend69 then67: %t318 = call ptr @fn_emit_bind(ptr @.str12702) %t319 = call ptr @fn_val(ptr %t318, ptr @.str12703) store ptr %t319, ptr %retval br label %ret ifend69: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str12704) %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then70, label %ifend72 then70: %t323 = call ptr @fn_emit_bind(ptr @.str12705) %t324 = call ptr @fn_val(ptr %t323, ptr @.str12706) store ptr %t324, ptr %retval br label %ret ifend72: %t325 = load ptr, ptr %t0 %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str12707) %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: %t336 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t336, ptr @.fmt_bounds, ptr @.str12708, 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 5180, ptr @lp_site %t344 = call ptr @lp_str_concat(ptr @.str12709, ptr %t343) store i32 0, ptr @lp_site store i32 5181, ptr @lp_site %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str12710) 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 @.str12711) store ptr %t347, ptr %retval br label %ret ifend75: %t348 = load ptr, ptr %t0 %t349 = call i32 @lp_str_eq(ptr %t348, ptr @.str12712) %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: %t359 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str12713, 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 5182, ptr @lp_site %t367 = call ptr @lp_str_concat(ptr @.str12714, ptr %t366) store i32 0, ptr @lp_site store i32 5183, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr %t367, ptr @.str12715) 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 @.str12716) store ptr %t370, ptr %retval br label %ret ifend80: %t371 = load ptr, ptr %t0 %t372 = call i32 @lp_str_eq(ptr %t371, ptr @.str12717) %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: %t382 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t382, ptr @.fmt_bounds, ptr @.str12718, 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 5184, ptr @lp_site %t390 = call ptr @lp_str_concat(ptr @.str12719, ptr %t389) store i32 0, ptr @lp_site store i32 5185, ptr @lp_site %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str12720) 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 @.str12721) 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 @.str12722) %t397 = call ptr @fn_fresh_val(ptr %t396, ptr @.str12723) store ptr %t397, ptr %retval br label %ret ifend90: %t398 = call ptr @fn_emit_bind(ptr @.str12724) %t399 = call ptr @fn_val(ptr %t398, ptr @.str12725) 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 @.str12726) call void @fn_emith(ptr @.str12727) call void @fn_emith(ptr @.str12728) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str12729) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str12730) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str12731) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str12732) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str12733) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str12734) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str12735) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str12736) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str12737) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str12738) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str12739) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str12740) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str12741) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str12742) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str12743) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str12744) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str12745) store ptr %t36, ptr %t37 call void @fn_emith(ptr @.str12746) call void @fn_emith(ptr @.str12747) call void @fn_emith(ptr @.str12748) call void @fn_emith(ptr @.str12749) call void @fn_emith(ptr @.str12750) call void @fn_emith(ptr @.str12751) call void @fn_emith(ptr @.str12752) call void @fn_emith(ptr @.str12753) call void @fn_emith(ptr @.str12754) call void @fn_emith(ptr @.str12755) call void @fn_emith(ptr @.str12756) call void @fn_emith(ptr @.str12757) %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 5186, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str12758, ptr %t42) store i32 0, ptr @lp_site store i32 5187, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str12760) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t7 store i32 5188, 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 5189, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str12761) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) call void @fn_emith(ptr %t47) call void @fn_emith(ptr @.str12762) call void @fn_emith(ptr @.str12763) call void @fn_emith(ptr @.str12764) call void @fn_emith(ptr @.str12765) call void @fn_emith(ptr @.str12766) %t48 = load ptr, ptr %t17 store i32 5190, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str12767, ptr %t48) store i32 0, ptr @lp_site store i32 5191, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str12768) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str12769) call void @fn_emith(ptr @.str12770) call void @fn_emith(ptr @.str12771) call void @fn_emith(ptr @.str12772) %t51 = load ptr, ptr %t31 store i32 5192, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str12773, ptr %t51) store i32 0, ptr @lp_site store i32 5193, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str12774) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) call void @fn_emith(ptr %t53) call void @fn_emith(ptr @.str12775) call void @fn_emith(ptr @.str12776) call void @fn_emith(ptr @.str12777) call void @fn_emith(ptr @.str12778) call void @fn_emith(ptr @.str12779) %t54 = load ptr, ptr %t9 store i32 5194, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str12780, ptr %t54) store i32 0, ptr @lp_site store i32 5195, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str12781) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t19 store i32 5196, 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 5197, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str12782) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t25 store i32 5198, 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 5199, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str12783) 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 5200, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str12784, ptr %t63) store i32 0, ptr @lp_site store i32 5201, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str12785) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t21 store i32 5202, 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 5203, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str12786) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t27 store i32 5204, 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 5205, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str12787) 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 5206, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str12788, ptr %t72) store i32 0, ptr @lp_site store i32 5207, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str12789) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t23 store i32 5208, 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 5209, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str12790) store i32 0, ptr @lp_site call void @lp_free(ptr %t76) %t78 = load ptr, ptr %t29 store i32 5210, 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 5211, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str12791) 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 5212, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str12792, ptr %t81) store i32 0, ptr @lp_site store i32 5213, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str12793) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t15 store i32 5214, 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 5215, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str12794) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) call void @fn_emith(ptr %t86) call void @fn_emith(ptr @.str12795) call void @fn_emith(ptr @.str12796) call void @fn_emith(ptr @.str12797) call void @fn_emith(ptr @.str12798) call void @fn_emith(ptr @.str12799) call void @fn_emith(ptr @.str12800) call void @fn_emith(ptr @.str12801) call void @fn_emith(ptr @.str12802) call void @fn_emith(ptr @.str12803) call void @fn_emith(ptr @.str12804) call void @fn_emith(ptr @.str12805) call void @fn_emith(ptr @.str12806) call void @fn_emith(ptr @.str12807) call void @fn_emith(ptr @.str12808) %t87 = load ptr, ptr %t17 store i32 5216, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str12809, ptr %t87) store i32 0, ptr @lp_site store i32 5217, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str12810) 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 5218, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str12811, ptr %t90) store i32 0, ptr @lp_site store i32 5219, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str12812) 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 5220, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str12813, ptr %t93) store i32 0, ptr @lp_site store i32 5221, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str12814) 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 5222, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str12815, ptr %t96) store i32 0, ptr @lp_site store i32 5223, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str12816) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str12817) call void @fn_emith(ptr @.str12818) call void @fn_emith(ptr @.str12819) call void @fn_emith(ptr @.str12820) br label %ret ret: ret void } define void @fn_emit_os_relief() { entry: call void @fn_emith(ptr @.str12821) %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 @.str12822) call void @fn_emith(ptr @.str12823) br label %ret ifend2: call void @fn_emith(ptr @.str12824) call void @fn_emith(ptr @.str12825) call void @fn_emith(ptr @.str12826) call void @fn_emith(ptr @.str12827) 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 @.str12828) store i32 1, ptr @g_g_mzs_declared br label %ifend2 ifend2: call void @fn_emith(ptr @.str12829) call void @fn_emith(ptr @.str12830) call void @fn_emith(ptr @.str12831) call void @fn_emith(ptr @.str12832) call void @fn_emith(ptr @.str12833) 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 @.str12834) %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 @.str12835) %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 @.str12836) %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 @.str12837) %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 @.str12838) %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 @.str12839) %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 @.str12840) %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 @.str12841) %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 @.str12842) %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 @.str12843) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12844, 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 5224, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str12845, ptr %t20) store i32 0, ptr @lp_site store i32 5225, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str12847) 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 5226, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str12848, ptr %t25) store i32 0, ptr @lp_site store i32 5227, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12849) 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 @.str12850) store ptr %t29, ptr %retval br label %ret ifend2: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str12851) %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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str12852, 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 5228, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str12853, ptr %t48) store i32 0, ptr @lp_site store i32 5229, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str12854) 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 @.str12855) store ptr %t52, ptr %retval br label %ret ifend7: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str12856) %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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str12857, 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 5230, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str12858, ptr %t71) store i32 0, ptr @lp_site store i32 5231, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str12859) 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 @.str12860) store ptr %t75, ptr %retval br label %ret ifend12: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str12861) %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: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str12862, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str12863, 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 5232, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str12864, ptr %t107) store i32 0, ptr @lp_site store i32 5233, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str12865) 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 5234, 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 5235, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str12866) 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 @.str12867) store ptr %t116, ptr %retval br label %ret ifend17: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str12868) %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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str12869, 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 5236, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str12870, ptr %t135) store i32 0, ptr @lp_site store i32 5237, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str12871) 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 @.str12872) store ptr %t139, ptr %retval br label %ret ifend24: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str12873) %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: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str12874, 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 5238, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr @.str12875, ptr %t158) store i32 0, ptr @lp_site store i32 5239, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str12876) 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 @.str12877) store ptr %t162, ptr %retval br label %ret ifend29: %t163 = load ptr, ptr %t0 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str12878) %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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str12879, 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 5240, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr @.str12880, ptr %t181) store i32 0, ptr @lp_site store i32 5241, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str12881) 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 @.str12882) store ptr %t185, ptr %retval br label %ret ifend34: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str12883) %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: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str12884, 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: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str12885, 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 5242, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr @.str12886, ptr %t217) store i32 0, ptr @lp_site store i32 5243, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str12887) 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 5244, 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 5245, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str12888) 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 @.str12889) 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: %t235 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str12890, 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 5246, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr @.str12891, ptr %t242) store i32 0, ptr @lp_site store i32 5247, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str12892) 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 @.str12893) 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 @.str12894) call void @fn_emith(ptr @.str12895) call void @fn_emith(ptr @.str12896) call void @fn_emith(ptr @.str12897) call void @fn_emith(ptr @.str12898) call void @fn_emith(ptr @.str12899) call void @fn_emith(ptr @.str12900) call void @fn_emith(ptr @.str12901) call void @fn_emith(ptr @.str12902) call void @fn_emith(ptr @.str12903) call void @fn_emith(ptr @.str12904) call void @fn_emith(ptr @.str12905) call void @fn_emith(ptr @.str12906) call void @fn_emith(ptr @.str12907) call void @fn_emith(ptr @.str12908) call void @fn_emith(ptr @.str12909) call void @fn_emith(ptr @.str12910) call void @fn_emith(ptr @.str12911) call void @fn_emith(ptr @.str12912) call void @fn_emith(ptr @.str12913) call void @fn_emith(ptr @.str12914) call void @fn_emith(ptr @.str12915) call void @fn_emith(ptr @.str12916) call void @fn_emith(ptr @.str12917) call void @fn_emith(ptr @.str12918) call void @fn_emith(ptr @.str12919) call void @fn_emith(ptr @.str12920) call void @fn_emith(ptr @.str12921) call void @fn_emith(ptr @.str12922) call void @fn_emith(ptr @.str12923) call void @fn_emith(ptr @.str12924) call void @fn_emith(ptr @.str12925) call void @fn_emith(ptr @.str12926) call void @fn_emith(ptr @.str12927) call void @fn_emith(ptr @.str12928) call void @fn_emith(ptr @.str12929) call void @fn_emith(ptr @.str12930) call void @fn_emith(ptr @.str12931) call void @fn_emith(ptr @.str12932) call void @fn_emith(ptr @.str12933) call void @fn_emith(ptr @.str12934) call void @fn_emith(ptr @.str12935) call void @fn_emith(ptr @.str12936) call void @fn_emith(ptr @.str12937) call void @fn_emith(ptr @.str12938) call void @fn_emith(ptr @.str12939) call void @fn_emith(ptr @.str12940) call void @fn_emith(ptr @.str12941) call void @fn_emith(ptr @.str12942) call void @fn_emith(ptr @.str12943) call void @fn_emith(ptr @.str12944) call void @fn_emith(ptr @.str12945) call void @fn_emith(ptr @.str12946) call void @fn_emith(ptr @.str12947) call void @fn_emith(ptr @.str12948) call void @fn_emith(ptr @.str12949) call void @fn_emith(ptr @.str12950) call void @fn_emith(ptr @.str12951) call void @fn_emith(ptr @.str12952) call void @fn_emith(ptr @.str12953) call void @fn_emith(ptr @.str12954) call void @fn_emith(ptr @.str12955) call void @fn_emith(ptr @.str12956) call void @fn_emith(ptr @.str12957) call void @fn_emith(ptr @.str12958) call void @fn_emith(ptr @.str12959) call void @fn_emith(ptr @.str12960) call void @fn_emith(ptr @.str12961) call void @fn_emith(ptr @.str12962) call void @fn_emith(ptr @.str12963) call void @fn_emith(ptr @.str12964) call void @fn_emith(ptr @.str12965) call void @fn_emith(ptr @.str12966) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: call void @fn_emith(ptr @.str12967) call void @fn_emith(ptr @.str12968) call void @fn_emith(ptr @.str12969) call void @fn_emith(ptr @.str12970) call void @fn_emith(ptr @.str12971) call void @fn_emith(ptr @.str12972) call void @fn_emith(ptr @.str12973) call void @fn_emith(ptr @.str12974) call void @fn_emith(ptr @.str12975) call void @fn_emith(ptr @.str12976) call void @fn_emith(ptr @.str12977) call void @fn_emith(ptr @.str12978) call void @fn_emith(ptr @.str12979) call void @fn_emith(ptr @.str12980) call void @fn_emith(ptr @.str12981) call void @fn_emith(ptr @.str12982) call void @fn_emith(ptr @.str12983) call void @fn_emith(ptr @.str12984) call void @fn_emith(ptr @.str12985) call void @fn_emith(ptr @.str12986) call void @fn_emith(ptr @.str12987) call void @fn_emith(ptr @.str12988) call void @fn_emith(ptr @.str12989) call void @fn_emith(ptr @.str12990) call void @fn_emith(ptr @.str12991) call void @fn_emith(ptr @.str12992) call void @fn_emith(ptr @.str12993) call void @fn_emith(ptr @.str12994) call void @fn_emith(ptr @.str12995) call void @fn_emith(ptr @.str12996) call void @fn_emith(ptr @.str12997) call void @fn_emith(ptr @.str12998) call void @fn_emith(ptr @.str12999) call void @fn_emith(ptr @.str13000) call void @fn_emith(ptr @.str13001) call void @fn_emith(ptr @.str13002) call void @fn_emith(ptr @.str13003) call void @fn_emith(ptr @.str13004) call void @fn_emith(ptr @.str13005) call void @fn_emith(ptr @.str13006) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: call void @fn_emith(ptr @.str13007) call void @fn_emith(ptr @.str13008) call void @fn_emith(ptr @.str13009) call void @fn_emith(ptr @.str13010) call void @fn_emith(ptr @.str13011) call void @fn_emith(ptr @.str13012) call void @fn_emith(ptr @.str13013) call void @fn_emith(ptr @.str13014) call void @fn_emith(ptr @.str13015) call void @fn_emith(ptr @.str13016) call void @fn_emith(ptr @.str13017) call void @fn_emith(ptr @.str13018) call void @fn_emith(ptr @.str13019) call void @fn_emith(ptr @.str13020) call void @fn_emith(ptr @.str13021) call void @fn_emith(ptr @.str13022) call void @fn_emith(ptr @.str13023) call void @fn_emith(ptr @.str13024) call void @fn_emith(ptr @.str13025) call void @fn_emith(ptr @.str13026) call void @fn_emith(ptr @.str13027) call void @fn_emith(ptr @.str13028) call void @fn_emith(ptr @.str13029) call void @fn_emith(ptr @.str13030) call void @fn_emith(ptr @.str13031) call void @fn_emith(ptr @.str13032) call void @fn_emith(ptr @.str13033) call void @fn_emith(ptr @.str13034) call void @fn_emith(ptr @.str13035) call void @fn_emith(ptr @.str13036) call void @fn_emith(ptr @.str13037) call void @fn_emith(ptr @.str13038) call void @fn_emith(ptr @.str13039) call void @fn_emith(ptr @.str13040) call void @fn_emith(ptr @.str13041) call void @fn_emith(ptr @.str13042) call void @fn_emith(ptr @.str13043) call void @fn_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: call void @fn_emith(ptr @.str13044) call void @fn_emith(ptr @.str13045) call void @fn_emith(ptr @.str13046) call void @fn_emith(ptr @.str13047) call void @fn_emith(ptr @.str13048) call void @fn_emith(ptr @.str13049) call void @fn_emith(ptr @.str13050) call void @fn_emith(ptr @.str13051) call void @fn_emith(ptr @.str13052) call void @fn_emith(ptr @.str13053) call void @fn_emith(ptr @.str13054) call void @fn_emith(ptr @.str13055) call void @fn_emith(ptr @.str13056) call void @fn_emith(ptr @.str13057) call void @fn_emith(ptr @.str13058) call void @fn_emith(ptr @.str13059) call void @fn_emith(ptr @.str13060) call void @fn_emith(ptr @.str13061) call void @fn_emith(ptr @.str13062) 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 @.str13063) %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 @.str13064) %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 @.str13065) %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 @.str13066) %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 @.str13067) %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 @.str13068) %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 @.str13069) %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 @.str13070) %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 @.str13071) %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 @.str13072) %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 @.str13073) %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 @.str13074) %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 @.str13075) %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 @.str13076) %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 @.str13077) %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 @.str13078) %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 @.str13079) %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 @.str13080) %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 @.str13081) %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 @.str13082) %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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str13083, 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 @.str13084) %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 5248, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str13085, ptr %t20) store i32 0, ptr @lp_site store i32 5249, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str13087) 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 @.str13088) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str13089) %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 5250, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str13090, ptr %t30) store i32 0, ptr @lp_site store i32 5251, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str13091) 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 @.str13092) store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str13093) %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 5252, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str13094, ptr %t40) store i32 0, ptr @lp_site store i32 5253, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str13095) 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 @.str13096) store ptr %t44, ptr %retval br label %ret ifend10: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str13097) %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 5254, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str13098, ptr %t50) store i32 0, ptr @lp_site store i32 5255, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str13099) 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 @.str13100) store ptr %t54, ptr %retval br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str13101) %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 5256, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str13102, ptr %t60) store i32 0, ptr @lp_site store i32 5257, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str13103) 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 @.str13104) store ptr %t64, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str13105) %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 5258, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str13106, ptr %t70) store i32 0, ptr @lp_site store i32 5259, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str13107) 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 @.str13108) store ptr %t74, ptr %retval br label %ret ifend19: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str13109) %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 5260, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str13110, ptr %t80) store i32 0, ptr @lp_site store i32 5261, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str13111) 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 @.str13112) store ptr %t84, ptr %retval br label %ret ifend22: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str13113) %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 5262, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str13114, ptr %t90) store i32 0, ptr @lp_site store i32 5263, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str13115) 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 @.str13116) store ptr %t94, ptr %retval br label %ret ifend25: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str13117) %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 5264, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str13118, ptr %t100) store i32 0, ptr @lp_site store i32 5265, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str13119) 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 @.str13120) 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: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str13121, 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 @.str13122) %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 5266, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str13123, ptr %t123) store i32 0, ptr @lp_site store i32 5267, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str13124) 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 5268, 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 5269, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str13125) 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 @.str13126) store ptr %t132, ptr %retval br label %ret ifend33: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str13127) %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 5270, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str13128, ptr %t138) store i32 0, ptr @lp_site store i32 5271, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str13129) 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 5272, 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 5273, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str13130) 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 @.str13131) 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 5274, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str13132, ptr %t150) store i32 0, ptr @lp_site store i32 5275, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str13133) 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 5276, 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 5277, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str13134) 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 @.str13135) 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str13136, 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 @.str13137) %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 5278, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str13138, ptr %t20) store i32 0, ptr @lp_site store i32 5279, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str13140) 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 @.str13141) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str13142) %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 5280, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str13143, ptr %t30) store i32 0, ptr @lp_site store i32 5281, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str13144) 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 @.str13145) store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str13146) %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 5282, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str13147, ptr %t40) store i32 0, ptr @lp_site store i32 5283, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str13148) 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 @.str13149) store ptr %t44, ptr %retval br label %ret ifend10: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str13150) %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 5284, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str13151, ptr %t50) store i32 0, ptr @lp_site store i32 5285, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str13152) 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 @.str13153) store ptr %t54, ptr %retval br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str13154) %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 5286, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str13155, ptr %t60) store i32 0, ptr @lp_site store i32 5287, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str13156) 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 @.str13157) 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str13158, 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 5288, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str13159, ptr %t80) store i32 0, ptr @lp_site store i32 5289, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str13160) 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 5290, 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 5291, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str13161) 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 @.str13162) 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str13163, 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 @.str13164) %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 5292, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str13165, ptr %t20) store i32 0, ptr @lp_site store i32 5293, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str13167) 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 @.str13168) 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 5294, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str13169, ptr %t27) store i32 0, ptr @lp_site store i32 5295, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str13170) 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 @.str13171) 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 @.str13172) call void @fn_emith(ptr @.str13173) call void @fn_emith(ptr @.str13174) call void @fn_emith(ptr @.str13175) call void @fn_emith(ptr @.str13176) call void @fn_emith(ptr @.str13177) call void @fn_emith(ptr @.str13178) 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 @.str13179) call void @fn_emith(ptr @.str13180) call void @fn_emith(ptr @.str13181) call void @fn_emith(ptr @.str13182) call void @fn_emith(ptr @.str13183) call void @fn_emith(ptr @.str13184) call void @fn_emith(ptr @.str13185) call void @fn_emith(ptr @.str13186) call void @fn_emith(ptr @.str13187) call void @fn_emith(ptr @.str13188) call void @fn_emith(ptr @.str13189) call void @fn_emith(ptr @.str13190) call void @fn_emith(ptr @.str13191) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: call void @fn_emith(ptr @.str13192) call void @fn_emith(ptr @.str13193) call void @fn_emith(ptr @.str13194) call void @fn_emith(ptr @.str13195) call void @fn_emith(ptr @.str13196) call void @fn_emith(ptr @.str13197) call void @fn_emith(ptr @.str13198) call void @fn_emith(ptr @.str13199) call void @fn_emith(ptr @.str13200) call void @fn_emith(ptr @.str13201) call void @fn_emith(ptr @.str13202) call void @fn_emith(ptr @.str13203) call void @fn_emith(ptr @.str13204) call void @fn_emith(ptr @.str13205) call void @fn_emith(ptr @.str13206) call void @fn_emith(ptr @.str13207) call void @fn_emith(ptr @.str13208) call void @fn_emith(ptr @.str13209) call void @fn_emith(ptr @.str13210) call void @fn_emith(ptr @.str13211) call void @fn_emith(ptr @.str13212) call void @fn_emith(ptr @.str13213) call void @fn_emith(ptr @.str13214) call void @fn_emith(ptr @.str13215) call void @fn_emith(ptr @.str13216) call void @fn_emith(ptr @.str13217) call void @fn_emith(ptr @.str13218) call void @fn_emith(ptr @.str13219) call void @fn_emith(ptr @.str13220) call void @fn_emith(ptr @.str13221) call void @fn_emith(ptr @.str13222) call void @fn_emith(ptr @.str13223) call void @fn_emith(ptr @.str13224) call void @fn_emith(ptr @.str13225) call void @fn_emith(ptr @.str13226) call void @fn_emith(ptr @.str13227) call void @fn_emith(ptr @.str13228) call void @fn_emith(ptr @.str13229) call void @fn_emith(ptr @.str13230) call void @fn_emith(ptr @.str13231) call void @fn_emith(ptr @.str13232) call void @fn_emith(ptr @.str13233) call void @fn_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: call void @fn_emith(ptr @.str13234) call void @fn_emith(ptr @.str13235) call void @fn_emith(ptr @.str13236) call void @fn_emith(ptr @.str13237) call void @fn_emith(ptr @.str13238) call void @fn_emith(ptr @.str13239) call void @fn_emith(ptr @.str13240) call void @fn_emith(ptr @.str13241) call void @fn_emith(ptr @.str13242) call void @fn_emith(ptr @.str13243) call void @fn_emith(ptr @.str13244) call void @fn_emith(ptr @.str13245) call void @fn_emith(ptr @.str13246) call void @fn_emith(ptr @.str13247) call void @fn_emith(ptr @.str13248) call void @fn_emith(ptr @.str13249) call void @fn_emith(ptr @.str13250) call void @fn_emith(ptr @.str13251) call void @fn_emith(ptr @.str13252) call void @fn_emith(ptr @.str13253) call void @fn_emith(ptr @.str13254) call void @fn_emith(ptr @.str13255) call void @fn_emith(ptr @.str13256) call void @fn_emith(ptr @.str13257) call void @fn_emith(ptr @.str13258) call void @fn_emith(ptr @.str13259) call void @fn_emith(ptr @.str13260) call void @fn_emith(ptr @.str13261) call void @fn_emith(ptr @.str13262) call void @fn_emith(ptr @.str13263) call void @fn_emith(ptr @.str13264) call void @fn_emith(ptr @.str13265) call void @fn_emith(ptr @.str13266) call void @fn_emith(ptr @.str13267) call void @fn_emith(ptr @.str13268) call void @fn_emith(ptr @.str13269) call void @fn_emith(ptr @.str13270) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: call void @fn_emith(ptr @.str13271) call void @fn_emith(ptr @.str13272) call void @fn_emith(ptr @.str13273) call void @fn_emith(ptr @.str13274) call void @fn_emith(ptr @.str13275) call void @fn_emith(ptr @.str13276) call void @fn_emith(ptr @.str13277) call void @fn_emith(ptr @.str13278) call void @fn_emith(ptr @.str13279) call void @fn_emith(ptr @.str13280) call void @fn_emith(ptr @.str13281) call void @fn_emith(ptr @.str13282) call void @fn_emith(ptr @.str13283) call void @fn_emith(ptr @.str13284) call void @fn_emith(ptr @.str13285) call void @fn_emith(ptr @.str13286) call void @fn_emith(ptr @.str13287) call void @fn_emith(ptr @.str13288) call void @fn_emith(ptr @.str13289) call void @fn_emith(ptr @.str13290) call void @fn_emith(ptr @.str13291) call void @fn_emith(ptr @.str13292) call void @fn_emith(ptr @.str13293) call void @fn_emith(ptr @.str13294) call void @fn_emith(ptr @.str13295) call void @fn_emith(ptr @.str13296) call void @fn_emith(ptr @.str13297) call void @fn_emith(ptr @.str13298) call void @fn_emith(ptr @.str13299) call void @fn_emith(ptr @.str13300) call void @fn_emith(ptr @.str13301) call void @fn_emith(ptr @.str13302) call void @fn_emith(ptr @.str13303) call void @fn_emith(ptr @.str13304) call void @fn_emith(ptr @.str13305) call void @fn_emith(ptr @.str13306) call void @fn_emith(ptr @.str13307) call void @fn_emith(ptr @.str13308) call void @fn_emith(ptr @.str13309) call void @fn_emith(ptr @.str13310) call void @fn_emith(ptr @.str13311) call void @fn_emith(ptr @.str13312) call void @fn_emith(ptr @.str13313) call void @fn_emith(ptr @.str13314) call void @fn_emith(ptr @.str13315) call void @fn_emith(ptr @.str13316) call void @fn_emith(ptr @.str13317) call void @fn_emith(ptr @.str13318) call void @fn_emith(ptr @.str13319) br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: call void @fn_emith(ptr @.str13320) call void @fn_emith(ptr @.str13321) call void @fn_emith(ptr @.str13322) call void @fn_emith(ptr @.str13323) call void @fn_emith(ptr @.str13324) call void @fn_emith(ptr @.str13325) call void @fn_emith(ptr @.str13326) call void @fn_emith(ptr @.str13327) call void @fn_emith(ptr @.str13328) call void @fn_emith(ptr @.str13329) call void @fn_emith(ptr @.str13330) call void @fn_emith(ptr @.str13331) call void @fn_emith(ptr @.str13332) call void @fn_emith(ptr @.str13333) call void @fn_emith(ptr @.str13334) call void @fn_emith(ptr @.str13335) call void @fn_emith(ptr @.str13336) call void @fn_emith(ptr @.str13337) call void @fn_emith(ptr @.str13338) call void @fn_emith(ptr @.str13339) call void @fn_emith(ptr @.str13340) call void @fn_emith(ptr @.str13341) call void @fn_emith(ptr @.str13342) call void @fn_emith(ptr @.str13343) 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 5296, 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 5297, 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 5298, 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 @.str13345, 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 5299, 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 @.str13346, 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 5300, 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 @.str13347, 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 5301, 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 @.str13348, 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 5302, 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 @.str13349, 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 5303, 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 @.str13350, 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 5304, 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 @.str13351, 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 5305, 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 @.str13352, 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 5306, 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 @.str13353, 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 5307, 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 @.str13354, 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 5308, 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 @.str13355, 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 5309, 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 @.str13356, 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 5310, 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 @.str13357, 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 5311, 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 @.str13358, 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 5312, 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 @.str13359, 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 5313, 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 @.str13360, 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 5314, 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 @.str13361, 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 5315, 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 @.str13362, 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 5316, 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 @.str13363, 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 5317, 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 @.str13364, 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 5318, 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 @.str13365, 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 5319, 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 @.str13366, 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 5320, 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 @.str13367, 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 5321, 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 @.str13368, 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 5322, 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 @.str13369, 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 5323, 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 @.str13370, 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 5324, 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 @.str13371, 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 5325, 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 @.str13372, 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 5326, 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 @.str13373, 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 5327, 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 @.str13374, 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 5328, 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 @.str13375, 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 5329, 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 @.str13376, 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 5330, 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 @.str13377, 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 5331, 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 @.str13378, 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 5332, 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 @.str13379, 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 5333, 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 @.str13380, 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 5334, 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 @.str13381, 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 5335, 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 @.str13382, 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 5336, 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 @.str13383, 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 5337, 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 @.str13384, 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 5338, 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 @.str13385, 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 5339, 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 @.str13386, 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 5340, 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 @.str13387, 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 5341, 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 @.str13388, 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 5342, 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 @.str13389, 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 5343, 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 @.str13390, 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 5344, 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 @.str13391, 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 5345, 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 @.str13392, 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 5346, 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 5347, 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: %t956 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t956, ptr @.fmt_bounds, ptr @.str13393, 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 5348, 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: %t986 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t986, ptr @.fmt_bounds, ptr @.str13394, 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 5349, 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 @.str13395) 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 5350, ptr @lp_site %t1018 = call ptr @lp_str_concat(ptr @.str13396, ptr %t1017) store i32 0, ptr @lp_site store i32 5351, ptr @lp_site %t1019 = call ptr @lp_str_concat(ptr %t1018, ptr @.str13397) 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 @.str13398) 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: %t1038 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1038, ptr @.fmt_bounds, ptr @.str13400, 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 5352, ptr @lp_site %t1041 = call ptr @lp_str_concat(ptr @.str13399, ptr %t1040) store i32 0, ptr @lp_site store i32 5353, ptr @lp_site %t1042 = call ptr @lp_str_concat(ptr %t1041, ptr @.str13401) 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: %t1050 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1050, ptr @.fmt_bounds, ptr @.str13402, 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 5354, 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 5355, ptr @lp_site %t1054 = call ptr @lp_str_concat(ptr %t1053, ptr @.str13403) 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 @.str13404) call void @fn_emith(ptr @.str13405) call void @fn_emith(ptr @.str13406) %t1057 = load i32, ptr %t1015 %t1058 = call ptr @fn_itoa(i32 %t1057) store i32 5356, ptr @lp_site %t1059 = call ptr @lp_str_concat(ptr @.str13407, ptr %t1058) store i32 0, ptr @lp_site store i32 5357, ptr @lp_site %t1060 = call ptr @lp_str_concat(ptr %t1059, ptr @.str13408) 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 5358, ptr @lp_site %t1063 = call ptr @lp_str_concat(ptr @.str13409, ptr %t1062) store i32 0, ptr @lp_site store i32 5359, ptr @lp_site %t1064 = call ptr @lp_str_concat(ptr %t1063, ptr @.str13410) 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 5360, ptr @lp_site %t1067 = call ptr @lp_str_concat(ptr @.str13411, ptr %t1066) store i32 0, ptr @lp_site store i32 5361, ptr @lp_site %t1068 = call ptr @lp_str_concat(ptr %t1067, ptr @.str13412) store i32 0, ptr @lp_site call void @lp_free(ptr %t1067) call void @fn_emith(ptr %t1068) call void @fn_emith(ptr @.str13413) %t1069 = load ptr, ptr %t1011 store i32 5362, ptr @lp_site %t1070 = call ptr @lp_str_concat(ptr @.str13414, ptr %t1069) store i32 0, ptr @lp_site store i32 5363, ptr @lp_site %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str13415) store i32 0, ptr @lp_site call void @lp_free(ptr %t1070) call void @fn_emith(ptr %t1071) call void @fn_emith(ptr @.str13416) call void @fn_emith(ptr @.str13417) call void @fn_emith(ptr @.str13418) call void @fn_emith(ptr @.str13419) call void @fn_emith(ptr @.str13420) call void @fn_emith(ptr @.str13421) call void @fn_emith(ptr @.str13422) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: call void @fn_emith(ptr @.str13423) call void @fn_emith(ptr @.str13424) call void @fn_emith(ptr @.str13425) call void @fn_emith(ptr @.str13426) call void @fn_emith(ptr @.str13427) call void @fn_emith(ptr @.str13428) call void @fn_emith(ptr @.str13429) call void @fn_emith(ptr @.str13430) call void @fn_emith(ptr @.str13431) call void @fn_emith(ptr @.str13432) call void @fn_emith(ptr @.str13433) call void @fn_emith(ptr @.str13434) call void @fn_emith(ptr @.str13435) call void @fn_emith(ptr @.str13436) call void @fn_emith(ptr @.str13437) call void @fn_emith(ptr @.str13438) call void @fn_emith(ptr @.str13439) call void @fn_emith(ptr @.str13440) call void @fn_emith(ptr @.str13441) call void @fn_emith(ptr @.str13442) call void @fn_emith(ptr @.str13443) call void @fn_emith(ptr @.str13444) call void @fn_emith(ptr @.str13445) call void @fn_emith(ptr @.str13446) call void @fn_emith(ptr @.str13447) 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 @.str13448) call void @fn_emith(ptr @.str13449) call void @fn_emith(ptr @.str13450) %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 @.str13451) store i32 1, ptr @g_g_mmap_declared br label %ifend5 ifend5: call void @fn_emith(ptr @.str13452) call void @fn_emith(ptr @.str13453) call void @fn_emith(ptr @.str13454) call void @fn_emith(ptr @.str13455) br label %ifend2 ifend2: call void @fn_emith(ptr @.str13456) call void @fn_emith(ptr @.str13457) call void @fn_emith(ptr @.str13458) call void @fn_emith(ptr @.str13459) call void @fn_emith(ptr @.str13460) call void @fn_emith(ptr @.str13461) call void @fn_emith(ptr @.str13462) call void @fn_emith(ptr @.str13463) call void @fn_emith(ptr @.str13464) call void @fn_emith(ptr @.str13465) call void @fn_emith(ptr @.str13466) %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 @.str13467) call void @fn_emith(ptr @.str13468) call void @fn_emith(ptr @.str13469) call void @fn_emith(ptr @.str13470) call void @fn_emith(ptr @.str13471) call void @fn_emith(ptr @.str13472) call void @fn_emith(ptr @.str13473) call void @fn_emith(ptr @.str13474) 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 @.str13475) call void @fn_emith(ptr @.str13476) br label %ret ret: ret void } define void @fn_emit_pak_mount() { entry: call void @fn_emith(ptr @.str13477) call void @fn_emith(ptr @.str13478) call void @fn_emith(ptr @.str13479) call void @fn_emith(ptr @.str13480) call void @fn_emith(ptr @.str13481) call void @fn_emith(ptr @.str13482) call void @fn_emith(ptr @.str13483) call void @fn_emith(ptr @.str13484) call void @fn_emith(ptr @.str13485) call void @fn_emith(ptr @.str13486) call void @fn_emith(ptr @.str13487) call void @fn_emith(ptr @.str13488) call void @fn_emith(ptr @.str13489) br label %ret ret: ret void } define void @fn_emit_pak_unmount() { entry: call void @fn_emith(ptr @.str13490) call void @fn_emith(ptr @.str13491) call void @fn_emith(ptr @.str13492) call void @fn_emith(ptr @.str13493) call void @fn_emith(ptr @.str13494) call void @fn_emith(ptr @.str13495) call void @fn_emith(ptr @.str13496) %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 @.str13497) br label %ifend2 else1: call void @fn_emith(ptr @.str13498) br label %ifend2 ifend2: call void @fn_emith(ptr @.str13499) call void @fn_emith(ptr @.str13500) call void @fn_emith(ptr @.str13501) call void @fn_emith(ptr @.str13502) call void @fn_emith(ptr @.str13503) call void @fn_emith(ptr @.str13504) call void @fn_emith(ptr @.str13505) call void @fn_emith(ptr @.str13506) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: call void @fn_emith(ptr @.str13507) call void @fn_emith(ptr @.str13508) call void @fn_emith(ptr @.str13509) call void @fn_emith(ptr @.str13510) call void @fn_emith(ptr @.str13511) call void @fn_emith(ptr @.str13512) call void @fn_emith(ptr @.str13513) call void @fn_emith(ptr @.str13514) call void @fn_emith(ptr @.str13515) call void @fn_emith(ptr @.str13516) call void @fn_emith(ptr @.str13517) call void @fn_emith(ptr @.str13518) call void @fn_emith(ptr @.str13519) call void @fn_emith(ptr @.str13520) call void @fn_emith(ptr @.str13521) call void @fn_emith(ptr @.str13522) call void @fn_emith(ptr @.str13523) call void @fn_emith(ptr @.str13524) call void @fn_emith(ptr @.str13525) call void @fn_emith(ptr @.str13526) call void @fn_emith(ptr @.str13527) call void @fn_emith(ptr @.str13528) call void @fn_emith(ptr @.str13529) call void @fn_emith(ptr @.str13530) call void @fn_emith(ptr @.str13531) call void @fn_emith(ptr @.str13532) call void @fn_emith(ptr @.str13533) call void @fn_emith(ptr @.str13534) call void @fn_emith(ptr @.str13535) call void @fn_emith(ptr @.str13536) call void @fn_emith(ptr @.str13537) call void @fn_emith(ptr @.str13538) call void @fn_emith(ptr @.str13539) call void @fn_emith(ptr @.str13540) call void @fn_emith(ptr @.str13541) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: call void @fn_emith(ptr @.str13542) call void @fn_emith(ptr @.str13543) call void @fn_emith(ptr @.str13544) call void @fn_emith(ptr @.str13545) call void @fn_emith(ptr @.str13546) call void @fn_emith(ptr @.str13547) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: call void @fn_emith(ptr @.str13548) call void @fn_emith(ptr @.str13549) call void @fn_emith(ptr @.str13550) call void @fn_emith(ptr @.str13551) call void @fn_emith(ptr @.str13552) call void @fn_emith(ptr @.str13553) call void @fn_emith(ptr @.str13554) call void @fn_emith(ptr @.str13555) call void @fn_emith(ptr @.str13556) call void @fn_emith(ptr @.str13557) call void @fn_emith(ptr @.str13558) call void @fn_emith(ptr @.str13559) call void @fn_emith(ptr @.str13560) call void @fn_emith(ptr @.str13561) call void @fn_emith(ptr @.str13562) call void @fn_emith(ptr @.str13563) call void @fn_emith(ptr @.str13564) call void @fn_emith(ptr @.str13565) call void @fn_emith(ptr @.str13566) call void @fn_emith(ptr @.str13567) call void @fn_emith(ptr @.str13568) call void @fn_emith(ptr @.str13569) call void @fn_emith(ptr @.str13570) call void @fn_emith(ptr @.str13571) call void @fn_emith(ptr @.str13572) call void @fn_emith(ptr @.str13573) call void @fn_emith(ptr @.str13574) call void @fn_emith(ptr @.str13575) call void @fn_emith(ptr @.str13576) call void @fn_emith(ptr @.str13577) call void @fn_emith(ptr @.str13578) call void @fn_emith(ptr @.str13579) call void @fn_emith(ptr @.str13580) %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 @.str13581) call void @fn_emith(ptr @.str13582) br label %ifend2 else1: call void @fn_emith(ptr @.str13583) call void @fn_emith(ptr @.str13584) br label %ifend2 ifend2: call void @fn_emith(ptr @.str13585) call void @fn_emith(ptr @.str13586) call void @fn_emith(ptr @.str13587) call void @fn_emith(ptr @.str13588) call void @fn_emith(ptr @.str13589) call void @fn_emith(ptr @.str13590) call void @fn_emith(ptr @.str13591) call void @fn_emith(ptr @.str13592) call void @fn_emith(ptr @.str13593) call void @fn_emith(ptr @.str13594) %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 @.str13595) br label %ifend5 ifend5: call void @fn_emith(ptr @.str13596) call void @fn_emith(ptr @.str13597) %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 @.str13598) call void @fn_emith(ptr @.str13599) call void @fn_emith(ptr @.str13600) call void @fn_emith(ptr @.str13601) call void @fn_emith(ptr @.str13602) call void @fn_emith(ptr @.str13603) call void @fn_emith(ptr @.str13604) call void @fn_emith(ptr @.str13605) call void @fn_emith(ptr @.str13606) call void @fn_emith(ptr @.str13607) call void @fn_emith(ptr @.str13608) call void @fn_emith(ptr @.str13609) call void @fn_emith(ptr @.str13610) call void @fn_emith(ptr @.str13611) call void @fn_emith(ptr @.str13612) call void @fn_emith(ptr @.str13613) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: call void @fn_emith(ptr @.str13614) call void @fn_emith(ptr @.str13615) call void @fn_emith(ptr @.str13616) call void @fn_emith(ptr @.str13617) call void @fn_emith(ptr @.str13618) call void @fn_emith(ptr @.str13619) call void @fn_emith(ptr @.str13620) call void @fn_emith(ptr @.str13621) call void @fn_emith(ptr @.str13622) call void @fn_emith(ptr @.str13623) call void @fn_emith(ptr @.str13624) call void @fn_emith(ptr @.str13625) call void @fn_emith(ptr @.str13626) call void @fn_emith(ptr @.str13627) call void @fn_emith(ptr @.str13628) call void @fn_emith(ptr @.str13629) call void @fn_emith(ptr @.str13630) call void @fn_emith(ptr @.str13631) call void @fn_emith(ptr @.str13632) call void @fn_emith(ptr @.str13633) call void @fn_emith(ptr @.str13634) call void @fn_emith(ptr @.str13635) call void @fn_emith(ptr @.str13636) call void @fn_emith(ptr @.str13637) call void @fn_emith(ptr @.str13638) call void @fn_emith(ptr @.str13639) call void @fn_emith(ptr @.str13640) call void @fn_emith(ptr @.str13641) call void @fn_emith(ptr @.str13642) call void @fn_emith(ptr @.str13643) call void @fn_emith(ptr @.str13644) call void @fn_emith(ptr @.str13645) call void @fn_emith(ptr @.str13646) call void @fn_emith(ptr @.str13647) call void @fn_emith(ptr @.str13648) call void @fn_emith(ptr @.str13649) call void @fn_emith(ptr @.str13650) call void @fn_emith(ptr @.str13651) 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 @.str13652) call void @fn_emith(ptr @.str13653) call void @fn_emith(ptr @.str13654) call void @fn_emith(ptr @.str13655) call void @fn_emith(ptr @.str13656) call void @fn_emith(ptr @.str13657) call void @fn_emith(ptr @.str13658) call void @fn_emith(ptr @.str13659) call void @fn_emith(ptr @.str13660) call void @fn_emith(ptr @.str13661) call void @fn_emith(ptr @.str13662) call void @fn_emith(ptr @.str13663) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: call void @fn_emith(ptr @.str13664) call void @fn_emith(ptr @.str13665) call void @fn_emith(ptr @.str13666) call void @fn_emith(ptr @.str13667) call void @fn_emith(ptr @.str13668) call void @fn_emith(ptr @.str13669) call void @fn_emith(ptr @.str13670) call void @fn_emith(ptr @.str13671) call void @fn_emith(ptr @.str13672) call void @fn_emith(ptr @.str13673) call void @fn_emith(ptr @.str13674) call void @fn_emith(ptr @.str13675) call void @fn_emith(ptr @.str13676) call void @fn_emith(ptr @.str13677) call void @fn_emith(ptr @.str13678) call void @fn_emith(ptr @.str13679) call void @fn_emith(ptr @.str13680) call void @fn_emith(ptr @.str13681) call void @fn_emith(ptr @.str13682) call void @fn_emith(ptr @.str13683) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: call void @fn_emith(ptr @.str13684) call void @fn_emith(ptr @.str13685) call void @fn_emith(ptr @.str13686) call void @fn_emith(ptr @.str13687) call void @fn_emith(ptr @.str13688) call void @fn_emith(ptr @.str13689) call void @fn_emith(ptr @.str13690) call void @fn_emith(ptr @.str13691) call void @fn_emith(ptr @.str13692) call void @fn_emith(ptr @.str13693) call void @fn_emith(ptr @.str13694) call void @fn_emith(ptr @.str13695) call void @fn_emith(ptr @.str13696) call void @fn_emith(ptr @.str13697) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: call void @fn_emith(ptr @.str13698) call void @fn_emith(ptr @.str13699) call void @fn_emith(ptr @.str13700) call void @fn_emith(ptr @.str13701) call void @fn_emith(ptr @.str13702) call void @fn_emith(ptr @.str13703) call void @fn_emith(ptr @.str13704) call void @fn_emith(ptr @.str13705) call void @fn_emith(ptr @.str13706) call void @fn_emith(ptr @.str13707) call void @fn_emith(ptr @.str13708) call void @fn_emith(ptr @.str13709) call void @fn_emith(ptr @.str13710) call void @fn_emith(ptr @.str13711) call void @fn_emith(ptr @.str13712) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: call void @fn_emith(ptr @.str13713) call void @fn_emith(ptr @.str13714) call void @fn_emith(ptr @.str13715) call void @fn_emith(ptr @.str13716) call void @fn_emith(ptr @.str13717) call void @fn_emith(ptr @.str13718) call void @fn_emith(ptr @.str13719) call void @fn_emith(ptr @.str13720) call void @fn_emith(ptr @.str13721) call void @fn_emith(ptr @.str13722) call void @fn_emith(ptr @.str13723) 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 @.str13724) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str13725) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str13726) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str13727) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str13728) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str13729) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str13730) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 store i32 5364, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str13731, ptr %t16) store i32 0, ptr @lp_site store i32 5365, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str13733) store i32 0, ptr @lp_site call void @lp_free(ptr %t17) %t19 = load ptr, ptr %t0 store i32 5366, 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 5367, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str13734) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str13735) call void @fn_emith(ptr @.str13736) call void @fn_emith(ptr @.str13737) call void @fn_emith(ptr @.str13738) %t22 = load ptr, ptr %t1 store i32 5368, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str13739, ptr %t22) store i32 0, ptr @lp_site store i32 5369, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str13740) 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 5370, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str13741, ptr %t25) store i32 0, ptr @lp_site store i32 5371, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str13742) 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 5372, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str13743, ptr %t28) store i32 0, ptr @lp_site store i32 5373, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str13744) 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 5374, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str13745, ptr %t31) store i32 0, ptr @lp_site store i32 5375, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str13746) 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 5376, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str13747, ptr %t34) store i32 0, ptr @lp_site store i32 5377, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str13748) store i32 0, ptr @lp_site call void @lp_free(ptr %t35) %t37 = load ptr, ptr %t0 store i32 5378, 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 5379, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str13749) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = load ptr, ptr %t11 store i32 5380, 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 5381, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str13750) 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 5382, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str13751, ptr %t43) store i32 0, ptr @lp_site store i32 5383, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str13752) 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 5384, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str13753, ptr %t46) store i32 0, ptr @lp_site store i32 5385, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str13754) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) call void @fn_emith(ptr %t48) call void @fn_emith(ptr @.str13755) call void @fn_emith(ptr @.str13756) call void @fn_emith(ptr @.str13757) call void @fn_emith(ptr @.str13758) call void @fn_emith(ptr @.str13759) call void @fn_emith(ptr @.str13760) call void @fn_emith(ptr @.str13761) 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 5386, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str13762, 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 5387, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str13764, ptr %t10) store i32 0, ptr @lp_site store i32 5388, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str13765) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t9 store i32 5389, 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 5390, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str13766) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t2 store i32 5391, 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 @.str13767) %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 @.str13768) %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 @.str13769) %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 @.str13770) %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 @.str13771) %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 @.str13772) %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 @.str13773) %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 @.str13774) %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 @.str13775) %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 @.str13776) %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 @.str13777) %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 @.str13778) %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 @.str13779) %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 @.str13780) %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 @.str13781) %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 @.str13782) %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 @.str13783) %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 @.str13784) %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 5392, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str13785, 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 5393, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str13787, 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 5394, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str13788, ptr %t19) store i32 0, ptr @lp_site store i32 5395, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str13789) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t18 store i32 5396, 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 @.str13790) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str13791) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str13792) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str13793) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str13794) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str13795) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str13796) %t34 = load ptr, ptr %t18 store i32 5397, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str13797, ptr %t34) store i32 0, ptr @lp_site store i32 5398, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str13798) 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 5399, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str13799, ptr %t39) store i32 0, ptr @lp_site store i32 5400, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str13800) 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 5401, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str13801, ptr %t44) store i32 0, ptr @lp_site store i32 5402, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str13802) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t38 store i32 5403, 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 5404, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str13803, ptr %t54) store i32 0, ptr @lp_site store i32 5405, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str13804) 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 5406, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str13805, ptr %t59) store i32 0, ptr @lp_site store i32 5407, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str13806) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t53 store i32 5408, 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 5409, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str13807, 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 5410, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str13808, ptr %t70) store i32 0, ptr @lp_site store i32 5411, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str13809) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t73 = load ptr, ptr %t65 store i32 5412, 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 5413, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str13810) 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 @.str13811) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str13812) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str13813) call void @fn_emit(ptr @.str13814) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str13815) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str13816) call void @fn_emit(ptr @.str13817) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str13818) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str13819) 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 5414, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str13820, ptr %t3) store i32 0, ptr @lp_site store i32 5415, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str13822) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 5416, 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 5417, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str13823) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 5418, 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 5419, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str13824, ptr %t10) store i32 0, ptr @lp_site store i32 5420, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str13826) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t5 store i32 5421, 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 5422, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str13827) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t4 store i32 5423, 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 5424, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str13828, ptr %t24) store i32 0, ptr @lp_site store i32 5425, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str13829) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t0 store i32 5426, 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 5427, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str13830) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t4 store i32 5428, 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 5429, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str13831) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t0 store i32 5430, 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 5431, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str13832) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t5 store i32 5432, 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 5433, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str13833) 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 5434, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str13834, ptr %t41) store i32 0, ptr @lp_site store i32 5435, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str13835) 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 5436, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str13836, ptr %t45) store i32 0, ptr @lp_site store i32 5437, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str13837) 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 5438, 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 5439, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str13838) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t0 store i32 5440, 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 5441, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str13839) store i32 0, ptr @lp_site call void @lp_free(ptr %t53) %t55 = load ptr, ptr %t4 store i32 5442, 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 5443, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str13840) 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 5444, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str13841, ptr %t60) store i32 0, ptr @lp_site store i32 5445, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str13842) 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 5446, 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 5447, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str13843) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t0 store i32 5448, 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 5449, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str13844) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t5 store i32 5450, 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 5451, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str13845) 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 5452, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str13846, ptr %t79) store i32 0, ptr @lp_site store i32 5453, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str13847) store i32 0, ptr @lp_site call void @lp_free(ptr %t80) %t82 = load ptr, ptr %t59 store i32 5454, 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 5455, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str13848) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) %t85 = load ptr, ptr %t74 store i32 5456, 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 5457, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str13849, ptr %t88) store i32 0, ptr @lp_site store i32 5458, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str13850) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t59 store i32 5459, 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 5460, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str13851) store i32 0, ptr @lp_site call void @lp_free(ptr %t92) %t94 = load ptr, ptr %t74 store i32 5461, 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 5462, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str13852, 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 5463, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str13854, 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 5464, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str13855, ptr %t22) store i32 0, ptr @lp_site store i32 5465, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str13856) 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 5466, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str13857, ptr %t27) store i32 0, ptr @lp_site store i32 5467, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str13858) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t21 store i32 5468, 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 5469, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str13859, ptr %t34) store i32 0, ptr @lp_site store i32 5470, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str13860) 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 @.str13861) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str13862, ptr @.str13863, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str13864) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str13865) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str13866) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str13867) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str13868) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str13869) %t50 = load ptr, ptr %t40 store i32 5471, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str13870, 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 5472, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str13871, ptr %t54) store i32 0, ptr @lp_site store i32 5473, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str13872) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t18 store i32 5474, 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 @.str13873) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str13874) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str13875) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str13876) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str13877) %t65 = load ptr, ptr %t53 store i32 5475, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str13878, ptr %t65) store i32 0, ptr @lp_site store i32 5476, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str13879) 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 @.str13880) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str13881, ptr @.str13882, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str13883) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str13884) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str13885) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str13886) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str13887) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str13888) %t81 = load ptr, ptr %t71 store i32 5477, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str13889, 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 5478, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str13890, ptr %t85) store i32 0, ptr @lp_site store i32 5479, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str13891) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t18 store i32 5480, 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 @.str13892) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str13893) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str13894) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str13895) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str13896) %t96 = load ptr, ptr %t84 store i32 5481, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str13897, ptr %t96) store i32 0, ptr @lp_site store i32 5482, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str13898) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t53 store i32 5483, 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 5484, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str13899, ptr %t103) store i32 0, ptr @lp_site store i32 5485, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str13900) store i32 0, ptr @lp_site call void @lp_free(ptr %t104) %t106 = load ptr, ptr %t18 store i32 5486, 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 5487, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str13901, ptr %t110) store i32 0, ptr @lp_site store i32 5488, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str13902) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t102 store i32 5489, 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 5490, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str13903) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t18 store i32 5491, 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 5492, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr @.str13904, ptr %t120) store i32 0, ptr @lp_site store i32 5493, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str13905) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) %t123 = load ptr, ptr %t69 store i32 5494, 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 5495, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str13906, ptr %t127) store i32 0, ptr @lp_site store i32 5496, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str13907) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load ptr, ptr %t18 store i32 5497, 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 5498, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr @.str13908, ptr %t134) store i32 0, ptr @lp_site store i32 5499, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str13909) store i32 0, ptr @lp_site call void @lp_free(ptr %t135) %t137 = load ptr, ptr %t126 store i32 5500, 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 5501, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str13910) store i32 0, ptr @lp_site call void @lp_free(ptr %t138) %t140 = load ptr, ptr %t18 store i32 5502, 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 @.str13911) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str13912, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str13913) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str13914, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str13915) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str13916, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str13917) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str13918) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str13919) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str13920) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str13921) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str13922) %t164 = load ptr, ptr %t145 store i32 5503, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str13923, 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 5504, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr @.str13924, 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 5505, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr @.str13925, ptr %t172) store i32 0, ptr @lp_site store i32 5506, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str13926) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) %t175 = load ptr, ptr %t119 store i32 5507, 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 5508, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str13927, ptr %t179) store i32 0, ptr @lp_site store i32 5509, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str13928) store i32 0, ptr @lp_site call void @lp_free(ptr %t180) %t182 = load ptr, ptr %t143 store i32 5510, 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 5511, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str13929, ptr %t186) store i32 0, ptr @lp_site store i32 5512, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str13930) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = load ptr, ptr %t185 store i32 5513, 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 @.str13931) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str13932) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str13933) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str13934) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str13935) %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 5514, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr @.str13936, ptr %t202) store i32 0, ptr @lp_site store i32 5515, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str13937) store i32 0, ptr @lp_site call void @lp_free(ptr %t203) %t205 = load ptr, ptr %t201 store i32 5516, 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 5517, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str13938, ptr %t214) store i32 0, ptr @lp_site store i32 5518, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str13939) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t217 = load ptr, ptr %t213 store i32 5519, 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 5520, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str13940, 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 @.str13941) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str13942) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str13943) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str13944) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str13945) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str13946) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str13947) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str13948) call void @fn_emit(ptr @.str13949) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str13950) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str13951) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str13952) %t251 = load ptr, ptr %t171 store i32 5521, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr @.str13953, ptr %t251) store i32 0, ptr @lp_site store i32 5522, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str13954) 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 @.str13955, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str13956) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str13957) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str13958) call void @fn_emit(ptr @.str13959) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str13960) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str13961) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str13962) %t263 = load ptr, ptr %t167 store i32 5523, ptr @lp_site %t264 = call ptr @lp_str_concat(ptr @.str13963, ptr %t263) store i32 0, ptr @lp_site store i32 5524, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str13964) 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 @.str13965, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str13966) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str13967) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str13968) %t272 = load ptr, ptr %t232 store i32 5525, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str13969, ptr %t272) store i32 0, ptr @lp_site store i32 5526, ptr @lp_site %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str13970) 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 @.str13971, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str13972) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str13973) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str13974) %t281 = call ptr @fn_lbl(ptr @.str13975) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str13976) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str13977) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str13978) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str13979) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str13980) %t289 = load ptr, ptr %t145 store i32 5527, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr @.str13981, 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 5528, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr @.str13982, ptr %t293) store i32 0, ptr @lp_site store i32 5529, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str13983) store i32 0, ptr @lp_site call void @lp_free(ptr %t294) %t296 = load ptr, ptr %t119 store i32 5530, 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 @.str13984) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str13985) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str13986) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str13987) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str13988) %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 5531, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str13989, ptr %t309) store i32 0, ptr @lp_site store i32 5532, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str13990) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t308 store i32 5533, 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 5534, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr @.str13991, 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 @.str13992) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str13993) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str13994) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str13995) %t328 = load ptr, ptr %t292 store i32 5535, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str13996, ptr %t328) store i32 0, ptr @lp_site store i32 5536, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str13997) 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 @.str13998, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 store i32 5537, ptr @lp_site %t336 = call ptr @lp_str_concat(ptr @.str13999, ptr %t335) store i32 0, ptr @lp_site store i32 5538, ptr @lp_site %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str14000) 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 @.str14001, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str14002) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str14003) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str14004) %t344 = call ptr @fn_lbl(ptr @.str14005) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str14006) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str14007) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str14008) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str14009) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str14010) %t352 = load ptr, ptr %t149 store i32 5539, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr @.str14011, 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 5540, ptr @lp_site %t357 = call ptr @lp_str_concat(ptr @.str14012, ptr %t356) store i32 0, ptr @lp_site store i32 5541, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str14013) store i32 0, ptr @lp_site call void @lp_free(ptr %t357) %t359 = load ptr, ptr %t143 store i32 5542, 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 @.str14014) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str14015) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str14016) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str14017) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str14018) %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 5543, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str14019, ptr %t372) store i32 0, ptr @lp_site store i32 5544, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str14020) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = load ptr, ptr %t371 store i32 5545, 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 5546, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr @.str14021, 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 @.str14022) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str14023) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str14024) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str14025) %t391 = load ptr, ptr %t355 store i32 5547, ptr @lp_site %t392 = call ptr @lp_str_concat(ptr @.str14026, ptr %t391) store i32 0, ptr @lp_site store i32 5548, ptr @lp_site %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str14027) 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 @.str14028, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 store i32 5549, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr @.str14029, ptr %t398) store i32 0, ptr @lp_site store i32 5550, ptr @lp_site %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str14030) 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 @.str14031, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str14032) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str14033) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str14034) %t407 = call ptr @fn_emit_alloca(ptr @.str14035) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str14036, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str14037) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str14038) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str14039) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str14040) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str14041) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str14042) %t419 = load ptr, ptr %t408 store i32 5551, ptr @lp_site %t420 = call ptr @lp_str_concat(ptr @.str14043, 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 5552, ptr @lp_site %t424 = call ptr @lp_str_concat(ptr @.str14044, ptr %t423) store i32 0, ptr @lp_site store i32 5553, ptr @lp_site %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str14045) store i32 0, ptr @lp_site call void @lp_free(ptr %t424) %t426 = load ptr, ptr %t143 store i32 5554, 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 @.str14046) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str14047) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str14048) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str14049) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str14050) %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 5555, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr @.str14051, ptr %t439) store i32 0, ptr @lp_site store i32 5556, ptr @lp_site %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str14052) store i32 0, ptr @lp_site call void @lp_free(ptr %t440) %t442 = load ptr, ptr %t438 store i32 5557, 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 @.str14053) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str14054) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str14055) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str14056) %t454 = load ptr, ptr %t422 store i32 5558, ptr @lp_site %t455 = call ptr @lp_str_concat(ptr @.str14057, ptr %t454) store i32 0, ptr @lp_site store i32 5559, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str14058) 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 @.str14059, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str14060) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str14061) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str14062) %t463 = load ptr, ptr %t84 store i32 5560, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr @.str14063, ptr %t463) store i32 0, ptr @lp_site store i32 5561, ptr @lp_site %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str14064) store i32 0, ptr @lp_site call void @lp_free(ptr %t464) %t466 = load ptr, ptr %t69 store i32 5562, 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 @.str14065, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str14066) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str14067) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str14068) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str14069, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str14070) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str14071) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str14072) call void @fn_emit(ptr @.str14073) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str14074) 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 5563, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str14075, ptr %t10) store i32 0, ptr @lp_site store i32 5564, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str14077) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str14078, 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 5565, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str14079, ptr %t29) store i32 0, ptr @lp_site store i32 5566, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str14080) 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str14081, 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 5567, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str14082, ptr %t51) store i32 0, ptr @lp_site store i32 5568, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str14083) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t45 store i32 5569, 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 5570, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str14084) 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 @.str14085) %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 @.str14086) %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 @.str14087) %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str14088, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str14089, 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 @.str14090) %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 @.str14091) br label %ifend15 ifend15: %t45 = call ptr @fn_fn_sym(ptr @.str14093) store i32 5571, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str14092, ptr %t45) store i32 0, ptr @lp_site store i32 5572, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str14095) 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 5573, 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 5574, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str14096) 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 5575, 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 5576, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str14097) 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 @.str14098) 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str14099, 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 5577, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str14100, ptr %t80) store i32 0, ptr @lp_site store i32 5578, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str14101) 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 @.str14102) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str14103) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str14104) %t102 = call ptr @fn_val(ptr @.str14105, ptr @.str14106) store ptr %t102, ptr %retval br label %ret ifend23: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str14107) %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 @.str14108) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t90 store i32 5579, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str14109, ptr %t110) store i32 0, ptr @lp_site store i32 5580, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str14110) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr %t109 store i32 5581, 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 @.str14111) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then27, label %ifend29 then27: %t121 = load ptr, ptr %t97 store i32 5582, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr @.str14112, 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 5583, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str14113, ptr %t125) store i32 0, ptr @lp_site store i32 5584, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str14114) 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 5585, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr @.str14115, ptr %t135) store i32 0, ptr @lp_site store i32 5586, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str14116) store i32 0, ptr @lp_site call void @lp_free(ptr %t136) %t138 = load ptr, ptr %t134 store i32 5587, 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 @.str14117) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then30, label %ifend32 then30: %t146 = load ptr, ptr %t97 store i32 5588, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str14118, 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 5589, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str14119, ptr %t150) store i32 0, ptr @lp_site store i32 5590, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str14120) 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 5591, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str14121, ptr %t160) store i32 0, ptr @lp_site store i32 5592, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str14122) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = load ptr, ptr %t159 store i32 5593, 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 @.str14123) %t167 = load ptr, ptr %t154 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str14124) %t168 = load ptr, ptr %t97 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str14125) %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 @.str14126) %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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str14127, 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: %t196 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str14128, 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 5594, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr @.str14129, ptr %t215) store i32 0, ptr @lp_site store i32 5595, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str14130) store i32 0, ptr @lp_site call void @lp_free(ptr %t216) %t218 = load ptr, ptr %t207 store i32 5596, 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 5597, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr @.str14131, ptr %t222) store i32 0, ptr @lp_site store i32 5598, ptr @lp_site %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str14132) store i32 0, ptr @lp_site call void @lp_free(ptr %t223) %t225 = load ptr, ptr %t214 store i32 5599, 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 @.str14133) %t229 = load ptr, ptr %t90 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str14134) %t230 = load ptr, ptr %t228 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str14135) %t231 = load ptr, ptr %t207 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str14136) call void @fn_emit(ptr @.str14137) %t232 = load ptr, ptr %t90 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str14138) %t233 = load ptr, ptr %t221 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str14139) %t234 = load ptr, ptr %t214 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str14140) %t235 = call ptr @fn_val(ptr @.str14141, ptr @.str14142) store ptr %t235, ptr %retval br label %ret ifend35: %t237 = load ptr, ptr %t0 %t238 = call i32 @lp_str_eq(ptr %t237, ptr @.str14143) %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 @.str14144) %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: %t255 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str14145, 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 5600, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr @.str14146, 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 @.str14147) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t265 call void @fn_store_at(ptr @.str14148, ptr @.str14149, ptr %t266) %t267 = call ptr @fn_emit_alloca(ptr @.str14150) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t268 call void @fn_store_at(ptr @.str14151, ptr @.str14152, ptr %t269) %t270 = call ptr @fn_lbl(ptr @.str14153) store ptr %t270, ptr %t271 %t272 = call ptr @fn_lbl(ptr @.str14154) store ptr %t272, ptr %t273 %t274 = call ptr @fn_lbl(ptr @.str14155) store ptr %t274, ptr %t275 %t276 = call ptr @fn_lbl(ptr @.str14156) store ptr %t276, ptr %t277 %t278 = call ptr @fn_lbl(ptr @.str14157) store ptr %t278, ptr %t279 call void @fn_emit(ptr @.str14158) %t280 = load ptr, ptr %t271 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str14159) %t281 = load ptr, ptr %t271 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str14160) %t282 = load ptr, ptr %t268 store i32 5601, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr @.str14161, 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 5602, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr @.str14162, ptr %t286) store i32 0, ptr @lp_site store i32 5603, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str14163) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t263 store i32 5604, 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 @.str14164) %t293 = load ptr, ptr %t292 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str14165) %t294 = load ptr, ptr %t273 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str14166) %t295 = load ptr, ptr %t279 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str14167) %t296 = load ptr, ptr %t273 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str14168) %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 5605, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str14169, ptr %t302) store i32 0, ptr @lp_site store i32 5606, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str14170) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) %t305 = load ptr, ptr %t301 store i32 5607, 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 5608, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str14171, ptr %t309) store i32 0, ptr @lp_site store i32 5609, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str14172) store i32 0, ptr @lp_site call void @lp_free(ptr %t310) %t312 = load ptr, ptr %t308 store i32 5610, 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 5611, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str14173) 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 5612, 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 @.str14174) %t321 = load ptr, ptr %t320 call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str14175) %t322 = load ptr, ptr %t275 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str14176) %t323 = load ptr, ptr %t277 call void @fn_emit(ptr %t323) call void @fn_emit(ptr @.str14177) %t324 = load ptr, ptr %t275 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str14178) %t325 = load ptr, ptr %t285 %t326 = load ptr, ptr %t265 call void @fn_store_at(ptr @.str14179, ptr %t325, ptr %t326) call void @fn_emit(ptr @.str14180) %t327 = load ptr, ptr %t279 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str14181) %t328 = load ptr, ptr %t277 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str14182) %t329 = load ptr, ptr %t285 store i32 5613, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr @.str14183, ptr %t329) store i32 0, ptr @lp_site store i32 5614, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str14184) 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 @.str14185, ptr %t334, ptr %t335) call void @fn_emit(ptr @.str14186) %t336 = load ptr, ptr %t271 call void @fn_emit(ptr %t336) call void @fn_emit(ptr @.str14187) %t337 = load ptr, ptr %t279 call void @fn_emit(ptr %t337) call void @fn_emit(ptr @.str14188) %t338 = load ptr, ptr %t265 store i32 5615, ptr @lp_site %t339 = call ptr @lp_str_concat(ptr @.str14189, 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 @.str14190) %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 @.str14191) store ptr %t346, ptr %retval br label %ret ifend49: %t347 = load ptr, ptr %t341 store i32 5616, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr @.str14192, ptr %t347) store i32 0, ptr @lp_site store i32 5617, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str14193) 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 5618, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr @.str14194, ptr %t352) store i32 0, ptr @lp_site store i32 5619, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str14195) 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 @.str14196) store ptr %t356, ptr %retval br label %ret ifend44: %t357 = load ptr, ptr %t0 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str14197) %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: %t368 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t368, ptr @.fmt_bounds, ptr @.str14198, 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: %t381 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t381, ptr @.fmt_bounds, ptr @.str14199, 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 5620, ptr @lp_site %t389 = call ptr @lp_str_concat(ptr @.str14200, 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 @.str14201) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t391 %t395 = load ptr, ptr %t393 call void @fn_store_at(ptr @.str14202, ptr %t394, ptr %t395) %t396 = call ptr @fn_lbl(ptr @.str14203) store ptr %t396, ptr %t397 %t398 = call ptr @fn_lbl(ptr @.str14204) store ptr %t398, ptr %t399 %t400 = call ptr @fn_lbl(ptr @.str14205) store ptr %t400, ptr %t401 call void @fn_emit(ptr @.str14206) %t402 = load ptr, ptr %t397 call void @fn_emit(ptr %t402) call void @fn_emit(ptr @.str14207) %t403 = load ptr, ptr %t397 call void @fn_emit(ptr %t403) call void @fn_emit(ptr @.str14208) %t404 = load ptr, ptr %t393 store i32 5621, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr @.str14209, 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 5622, ptr @lp_site %t409 = call ptr @lp_str_concat(ptr @.str14210, ptr %t408) store i32 0, ptr @lp_site store i32 5623, ptr @lp_site %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str14211) 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 5624, 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 @.str14212) %t417 = load ptr, ptr %t416 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str14213) %t418 = load ptr, ptr %t399 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str14214) %t419 = load ptr, ptr %t401 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str14215) %t420 = load ptr, ptr %t399 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str14216) %t421 = load ptr, ptr %t407 store i32 5625, ptr @lp_site %t422 = call ptr @lp_str_concat(ptr @.str14217, ptr %t421) store i32 0, ptr @lp_site store i32 5626, ptr @lp_site %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str14218) 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 5627, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str14219, ptr %t431) store i32 0, ptr @lp_site store i32 5628, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr %t432, ptr @.str14220) store i32 0, ptr @lp_site call void @lp_free(ptr %t432) %t434 = load ptr, ptr %t430 store i32 5629, 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 @.str14221) %t443 = load ptr, ptr %t90 call void @fn_emit(ptr %t443) call void @fn_emit(ptr @.str14222) %t444 = load ptr, ptr %t437 call void @fn_emit(ptr %t444) call void @fn_emit(ptr @.str14223) %t445 = load ptr, ptr %t442 call void @fn_emit(ptr %t445) call void @fn_emit(ptr @.str14224) %t446 = load ptr, ptr %t425 %t447 = load ptr, ptr %t393 call void @fn_store_at(ptr @.str14225, ptr %t446, ptr %t447) call void @fn_emit(ptr @.str14226) %t448 = load ptr, ptr %t397 call void @fn_emit(ptr %t448) call void @fn_emit(ptr @.str14227) %t449 = load ptr, ptr %t401 call void @fn_emit(ptr %t449) call void @fn_emit(ptr @.str14228) %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 @.str14229) %t457 = load ptr, ptr %t90 call void @fn_emit(ptr %t457) call void @fn_emit(ptr @.str14230) %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 @.str14231) %t461 = load ptr, ptr %t456 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str14232) %t462 = load ptr, ptr %t391 store i32 5630, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr @.str14233, ptr %t462) store i32 0, ptr @lp_site store i32 5631, ptr @lp_site %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str14234) 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 @.str14235) %t467 = load ptr, ptr %t466 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str14236) %t468 = load ptr, ptr %t97 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str14237) %t469 = call ptr @fn_val(ptr @.str14238, ptr @.str14239) store ptr %t469, ptr %retval br label %ret ifend52: %t470 = load ptr, ptr %t0 %t471 = call i32 @lp_str_eq(ptr %t470, ptr @.str14240) %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: %t481 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t481, ptr @.fmt_bounds, ptr @.str14241, 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 5632, ptr @lp_site %t487 = call ptr @lp_str_concat(ptr @.str14242, 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 5633, ptr @lp_site %t491 = call ptr @lp_str_concat(ptr @.str14243, ptr %t490) store i32 0, ptr @lp_site store i32 5634, ptr @lp_site %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str14244) 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 @.str14245) 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 @.str14246, ptr %t499, ptr %t500) %t501 = call ptr @fn_lbl(ptr @.str14247) store ptr %t501, ptr %t502 %t503 = call ptr @fn_lbl(ptr @.str14248) store ptr %t503, ptr %t504 %t505 = call ptr @fn_lbl(ptr @.str14249) store ptr %t505, ptr %t506 call void @fn_emit(ptr @.str14250) %t507 = load ptr, ptr %t502 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str14251) %t508 = load ptr, ptr %t502 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str14252) %t509 = load ptr, ptr %t496 store i32 5635, ptr @lp_site %t510 = call ptr @lp_str_concat(ptr @.str14253, 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 5636, ptr @lp_site %t514 = call ptr @lp_str_concat(ptr @.str14254, ptr %t513) store i32 0, ptr @lp_site store i32 5637, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str14255) store i32 0, ptr @lp_site call void @lp_free(ptr %t514) %t516 = load ptr, ptr %t494 store i32 5638, 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 @.str14256) %t520 = load ptr, ptr %t519 call void @fn_emit(ptr %t520) call void @fn_emit(ptr @.str14257) %t521 = load ptr, ptr %t504 call void @fn_emit(ptr %t521) call void @fn_emit(ptr @.str14258) %t522 = load ptr, ptr %t506 call void @fn_emit(ptr %t522) call void @fn_emit(ptr @.str14259) %t523 = load ptr, ptr %t504 call void @fn_emit(ptr %t523) call void @fn_emit(ptr @.str14260) %t524 = load ptr, ptr %t512 store i32 5639, ptr @lp_site %t525 = call ptr @lp_str_concat(ptr @.str14261, ptr %t524) store i32 0, ptr @lp_site store i32 5640, ptr @lp_site %t526 = call ptr @lp_str_concat(ptr %t525, ptr @.str14262) 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 5641, ptr @lp_site %t535 = call ptr @lp_str_concat(ptr @.str14263, ptr %t534) store i32 0, ptr @lp_site store i32 5642, ptr @lp_site %t536 = call ptr @lp_str_concat(ptr %t535, ptr @.str14264) store i32 0, ptr @lp_site call void @lp_free(ptr %t535) %t537 = load ptr, ptr %t533 store i32 5643, 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 @.str14265) %t546 = load ptr, ptr %t90 call void @fn_emit(ptr %t546) call void @fn_emit(ptr @.str14266) %t547 = load ptr, ptr %t540 call void @fn_emit(ptr %t547) call void @fn_emit(ptr @.str14267) %t548 = load ptr, ptr %t545 call void @fn_emit(ptr %t548) call void @fn_emit(ptr @.str14268) %t549 = load ptr, ptr %t528 %t550 = load ptr, ptr %t496 call void @fn_store_at(ptr @.str14269, ptr %t549, ptr %t550) call void @fn_emit(ptr @.str14270) %t551 = load ptr, ptr %t502 call void @fn_emit(ptr %t551) call void @fn_emit(ptr @.str14271) %t552 = load ptr, ptr %t506 call void @fn_emit(ptr %t552) call void @fn_emit(ptr @.str14272) call void @fn_emit(ptr @.str14273) %t553 = load ptr, ptr %t494 call void @fn_emit(ptr %t553) call void @fn_emit(ptr @.str14274) %t554 = load ptr, ptr %t97 call void @fn_emit(ptr %t554) call void @fn_emit(ptr @.str14275) %t555 = call ptr @fn_val(ptr @.str14276, ptr @.str14277) store ptr %t555, ptr %retval br label %ret ifend59: %t556 = load ptr, ptr %t0 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str14278) %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: %t567 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t567, ptr @.fmt_bounds, ptr @.str14279, 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 5644, ptr @lp_site %t573 = call ptr @lp_str_concat(ptr @.str14280, 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 @.str14281) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t577 call void @fn_store_at(ptr @.str14282, ptr @.str14283, ptr %t578) %t579 = call ptr @fn_emit_alloca(ptr @.str14284) store ptr %t579, ptr %t580 %t581 = load ptr, ptr %t580 call void @fn_store_at(ptr @.str14285, ptr @.str14286, ptr %t581) %t582 = call ptr @fn_lbl(ptr @.str14287) store ptr %t582, ptr %t583 %t584 = call ptr @fn_lbl(ptr @.str14288) store ptr %t584, ptr %t585 %t586 = call ptr @fn_lbl(ptr @.str14289) store ptr %t586, ptr %t587 %t588 = call ptr @fn_lbl(ptr @.str14290) store ptr %t588, ptr %t589 %t590 = call ptr @fn_lbl(ptr @.str14291) store ptr %t590, ptr %t591 call void @fn_emit(ptr @.str14292) %t592 = load ptr, ptr %t583 call void @fn_emit(ptr %t592) call void @fn_emit(ptr @.str14293) %t593 = load ptr, ptr %t583 call void @fn_emit(ptr %t593) call void @fn_emit(ptr @.str14294) %t594 = load ptr, ptr %t580 store i32 5645, ptr @lp_site %t595 = call ptr @lp_str_concat(ptr @.str14295, 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 5646, ptr @lp_site %t599 = call ptr @lp_str_concat(ptr @.str14296, ptr %t598) store i32 0, ptr @lp_site store i32 5647, ptr @lp_site %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str14297) store i32 0, ptr @lp_site call void @lp_free(ptr %t599) %t601 = load ptr, ptr %t575 store i32 5648, 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 5649, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr @.str14298, 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 5650, ptr @lp_site %t610 = call ptr @lp_str_concat(ptr @.str14299, ptr %t609) store i32 0, ptr @lp_site store i32 5651, ptr @lp_site %t611 = call ptr @lp_str_concat(ptr %t610, ptr @.str14300) 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 5652, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str14301, ptr %t614) store i32 0, ptr @lp_site store i32 5653, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str14302) store i32 0, ptr @lp_site call void @lp_free(ptr %t615) %t617 = load ptr, ptr %t613 store i32 5654, 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 @.str14303) %t621 = load ptr, ptr %t620 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str14304) %t622 = load ptr, ptr %t585 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str14305) %t623 = load ptr, ptr %t591 call void @fn_emit(ptr %t623) call void @fn_emit(ptr @.str14306) %t624 = load ptr, ptr %t585 call void @fn_emit(ptr %t624) call void @fn_emit(ptr @.str14307) %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 5655, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr @.str14308, ptr %t630) store i32 0, ptr @lp_site store i32 5656, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str14309) store i32 0, ptr @lp_site call void @lp_free(ptr %t631) %t633 = load ptr, ptr %t629 store i32 5657, 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 5658, ptr @lp_site %t638 = call ptr @lp_str_concat(ptr @.str14310, ptr %t637) store i32 0, ptr @lp_site store i32 5659, ptr @lp_site %t639 = call ptr @lp_str_concat(ptr %t638, ptr @.str14311) store i32 0, ptr @lp_site call void @lp_free(ptr %t638) %t640 = load ptr, ptr %t636 store i32 5660, 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 5661, ptr @lp_site %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str14312) 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 5662, 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 @.str14313) %t649 = load ptr, ptr %t648 call void @fn_emit(ptr %t649) call void @fn_emit(ptr @.str14314) %t650 = load ptr, ptr %t587 call void @fn_emit(ptr %t650) call void @fn_emit(ptr @.str14315) %t651 = load ptr, ptr %t589 call void @fn_emit(ptr %t651) call void @fn_emit(ptr @.str14316) %t652 = load ptr, ptr %t587 call void @fn_emit(ptr %t652) call void @fn_emit(ptr @.str14317) %t653 = load ptr, ptr %t597 %t654 = load ptr, ptr %t577 call void @fn_store_at(ptr @.str14318, ptr %t653, ptr %t654) call void @fn_emit(ptr @.str14319) %t655 = load ptr, ptr %t583 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str14320) %t656 = load ptr, ptr %t589 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str14321) %t657 = load ptr, ptr %t597 store i32 5663, ptr @lp_site %t658 = call ptr @lp_str_concat(ptr @.str14322, ptr %t657) store i32 0, ptr @lp_site store i32 5664, ptr @lp_site %t659 = call ptr @lp_str_concat(ptr %t658, ptr @.str14323) 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 @.str14324, ptr %t662, ptr %t663) call void @fn_emit(ptr @.str14325) %t664 = load ptr, ptr %t583 call void @fn_emit(ptr %t664) call void @fn_emit(ptr @.str14326) %t665 = load ptr, ptr %t591 call void @fn_emit(ptr %t665) call void @fn_emit(ptr @.str14327) %t666 = load ptr, ptr %t577 store i32 5665, ptr @lp_site %t667 = call ptr @lp_str_concat(ptr @.str14328, 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 5666, ptr @lp_site %t671 = call ptr @lp_str_concat(ptr @.str14329, ptr %t670) store i32 0, ptr @lp_site store i32 5667, ptr @lp_site %t672 = call ptr @lp_str_concat(ptr %t671, ptr @.str14330) 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 @.str14331) store ptr %t675, ptr %t676 %t677 = call ptr @fn_lbl(ptr @.str14332) store ptr %t677, ptr %t678 call void @fn_emit(ptr @.str14333) %t679 = load ptr, ptr %t674 call void @fn_emit(ptr %t679) call void @fn_emit(ptr @.str14334) %t680 = load ptr, ptr %t676 call void @fn_emit(ptr %t680) call void @fn_emit(ptr @.str14335) %t681 = load ptr, ptr %t678 call void @fn_emit(ptr %t681) call void @fn_emit(ptr @.str14336) %t682 = load ptr, ptr %t676 call void @fn_emit(ptr %t682) call void @fn_emit(ptr @.str14337) %t683 = load ptr, ptr %t575 store i32 5668, ptr @lp_site %t684 = call ptr @lp_str_concat(ptr @.str14338, ptr %t683) store i32 0, ptr @lp_site store i32 5669, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr %t684, ptr @.str14339) 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 @.str14340) store ptr %t688, ptr %t689 %t690 = load ptr, ptr %t669 %t691 = load ptr, ptr %t689 call void @fn_store_at(ptr @.str14341, ptr %t690, ptr %t691) %t692 = call ptr @fn_lbl(ptr @.str14342) store ptr %t692, ptr %t693 %t694 = call ptr @fn_lbl(ptr @.str14343) store ptr %t694, ptr %t695 %t696 = call ptr @fn_lbl(ptr @.str14344) store ptr %t696, ptr %t697 call void @fn_emit(ptr @.str14345) %t698 = load ptr, ptr %t693 call void @fn_emit(ptr %t698) call void @fn_emit(ptr @.str14346) %t699 = load ptr, ptr %t693 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str14347) %t700 = load ptr, ptr %t689 store i32 5670, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr @.str14348, 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 5671, ptr @lp_site %t705 = call ptr @lp_str_concat(ptr @.str14349, ptr %t704) store i32 0, ptr @lp_site store i32 5672, ptr @lp_site %t706 = call ptr @lp_str_concat(ptr %t705, ptr @.str14350) store i32 0, ptr @lp_site call void @lp_free(ptr %t705) %t707 = load ptr, ptr %t687 store i32 5673, 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 @.str14351) %t711 = load ptr, ptr %t710 call void @fn_emit(ptr %t711) call void @fn_emit(ptr @.str14352) %t712 = load ptr, ptr %t695 call void @fn_emit(ptr %t712) call void @fn_emit(ptr @.str14353) %t713 = load ptr, ptr %t697 call void @fn_emit(ptr %t713) call void @fn_emit(ptr @.str14354) %t714 = load ptr, ptr %t695 call void @fn_emit(ptr %t714) call void @fn_emit(ptr @.str14355) %t715 = load ptr, ptr %t703 store i32 5674, ptr @lp_site %t716 = call ptr @lp_str_concat(ptr @.str14356, ptr %t715) store i32 0, ptr @lp_site store i32 5675, ptr @lp_site %t717 = call ptr @lp_str_concat(ptr %t716, ptr @.str14357) 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 5676, ptr @lp_site %t726 = call ptr @lp_str_concat(ptr @.str14358, ptr %t725) store i32 0, ptr @lp_site store i32 5677, ptr @lp_site %t727 = call ptr @lp_str_concat(ptr %t726, ptr @.str14359) store i32 0, ptr @lp_site call void @lp_free(ptr %t726) %t728 = load ptr, ptr %t724 store i32 5678, 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 @.str14360) %t737 = load ptr, ptr %t90 call void @fn_emit(ptr %t737) call void @fn_emit(ptr @.str14361) %t738 = load ptr, ptr %t731 call void @fn_emit(ptr %t738) call void @fn_emit(ptr @.str14362) %t739 = load ptr, ptr %t736 call void @fn_emit(ptr %t739) call void @fn_emit(ptr @.str14363) %t740 = load ptr, ptr %t719 %t741 = load ptr, ptr %t689 call void @fn_store_at(ptr @.str14364, ptr %t740, ptr %t741) call void @fn_emit(ptr @.str14365) %t742 = load ptr, ptr %t693 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str14366) %t743 = load ptr, ptr %t697 call void @fn_emit(ptr %t743) call void @fn_emit(ptr @.str14367) call void @fn_emit(ptr @.str14368) %t744 = load ptr, ptr %t687 call void @fn_emit(ptr %t744) call void @fn_emit(ptr @.str14369) %t745 = load ptr, ptr %t97 call void @fn_emit(ptr %t745) call void @fn_emit(ptr @.str14370) call void @fn_emit(ptr @.str14371) %t746 = load ptr, ptr %t678 call void @fn_emit(ptr %t746) call void @fn_emit(ptr @.str14372) %t747 = load ptr, ptr %t678 call void @fn_emit(ptr %t747) call void @fn_emit(ptr @.str14373) %t748 = call ptr @fn_val(ptr @.str14374, ptr @.str14375) store ptr %t748, ptr %retval br label %ret ifend64: %t749 = load ptr, ptr %t0 %t750 = call i32 @lp_str_eq(ptr %t749, ptr @.str14376) %t751 = icmp ne i32 %t750, 0 br i1 %t751, label %then67, label %ifend69 then67: %t752 = load ptr, ptr %t97 store i32 5679, ptr @lp_site %t753 = call ptr @lp_str_concat(ptr @.str14377, 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 5680, ptr @lp_site %t757 = call ptr @lp_str_concat(ptr @.str14378, ptr %t756) store i32 0, ptr @lp_site store i32 5681, ptr @lp_site %t758 = call ptr @lp_str_concat(ptr %t757, ptr @.str14379) 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 @.str14380) store ptr %t761, ptr %t762 %t763 = call ptr @fn_lbl(ptr @.str14381) store ptr %t763, ptr %t764 %t765 = call ptr @fn_lbl(ptr @.str14382) store ptr %t765, ptr %t766 call void @fn_emit(ptr @.str14383) %t767 = load ptr, ptr %t760 call void @fn_emit(ptr %t767) call void @fn_emit(ptr @.str14384) %t768 = load ptr, ptr %t762 call void @fn_emit(ptr %t768) call void @fn_emit(ptr @.str14385) %t769 = load ptr, ptr %t764 call void @fn_emit(ptr %t769) call void @fn_emit(ptr @.str14386) %t770 = load ptr, ptr %t762 call void @fn_emit(ptr %t770) call void @fn_emit(ptr @.str14387) %t771 = load ptr, ptr %t97 store i32 5682, ptr @lp_site %t772 = call ptr @lp_str_concat(ptr @.str14388, 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 @.str14389) store ptr %t775, ptr %t776 %t777 = load ptr, ptr %t776 call void @fn_store_at(ptr @.str14390, ptr @.str14391, ptr %t777) %t778 = call ptr @fn_lbl(ptr @.str14392) store ptr %t778, ptr %t779 %t780 = call ptr @fn_lbl(ptr @.str14393) store ptr %t780, ptr %t781 %t782 = call ptr @fn_lbl(ptr @.str14394) store ptr %t782, ptr %t783 call void @fn_emit(ptr @.str14395) %t784 = load ptr, ptr %t779 call void @fn_emit(ptr %t784) call void @fn_emit(ptr @.str14396) %t785 = load ptr, ptr %t779 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str14397) %t786 = load ptr, ptr %t776 store i32 5683, ptr @lp_site %t787 = call ptr @lp_str_concat(ptr @.str14398, 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 5684, ptr @lp_site %t791 = call ptr @lp_str_concat(ptr @.str14399, ptr %t790) store i32 0, ptr @lp_site store i32 5685, ptr @lp_site %t792 = call ptr @lp_str_concat(ptr %t791, ptr @.str14400) store i32 0, ptr @lp_site call void @lp_free(ptr %t791) %t793 = load ptr, ptr %t774 store i32 5686, 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 @.str14401) %t797 = load ptr, ptr %t796 call void @fn_emit(ptr %t797) call void @fn_emit(ptr @.str14402) %t798 = load ptr, ptr %t781 call void @fn_emit(ptr %t798) call void @fn_emit(ptr @.str14403) %t799 = load ptr, ptr %t783 call void @fn_emit(ptr %t799) call void @fn_emit(ptr @.str14404) %t800 = load ptr, ptr %t781 call void @fn_emit(ptr %t800) call void @fn_emit(ptr @.str14405) %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 5687, ptr @lp_site %t807 = call ptr @lp_str_concat(ptr @.str14406, ptr %t806) store i32 0, ptr @lp_site store i32 5688, ptr @lp_site %t808 = call ptr @lp_str_concat(ptr %t807, ptr @.str14407) store i32 0, ptr @lp_site call void @lp_free(ptr %t807) %t809 = load ptr, ptr %t805 store i32 5689, 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 @.str14408) store ptr %t813, ptr %t814 %t815 = load ptr, ptr %t789 store i32 5690, ptr @lp_site %t816 = call ptr @lp_str_concat(ptr @.str14409, ptr %t815) store i32 0, ptr @lp_site store i32 5691, ptr @lp_site %t817 = call ptr @lp_str_concat(ptr %t816, ptr @.str14410) 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 @.str14411, ptr %t820, ptr %t821) %t822 = call ptr @fn_lbl(ptr @.str14412) store ptr %t822, ptr %t823 %t824 = call ptr @fn_lbl(ptr @.str14413) store ptr %t824, ptr %t825 %t826 = call ptr @fn_lbl(ptr @.str14414) store ptr %t826, ptr %t827 call void @fn_emit(ptr @.str14415) %t828 = load ptr, ptr %t823 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str14416) %t829 = load ptr, ptr %t823 call void @fn_emit(ptr %t829) call void @fn_emit(ptr @.str14417) %t830 = load ptr, ptr %t814 store i32 5692, ptr @lp_site %t831 = call ptr @lp_str_concat(ptr @.str14418, 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 5693, ptr @lp_site %t835 = call ptr @lp_str_concat(ptr @.str14419, ptr %t834) store i32 0, ptr @lp_site store i32 5694, ptr @lp_site %t836 = call ptr @lp_str_concat(ptr %t835, ptr @.str14420) 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 5695, ptr @lp_site %t845 = call ptr @lp_str_concat(ptr @.str14421, ptr %t844) store i32 0, ptr @lp_site store i32 5696, ptr @lp_site %t846 = call ptr @lp_str_concat(ptr %t845, ptr @.str14422) store i32 0, ptr @lp_site call void @lp_free(ptr %t845) %t847 = load ptr, ptr %t843 store i32 5697, 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 5698, ptr @lp_site %t852 = call ptr @lp_str_concat(ptr @.str14423, ptr %t851) store i32 0, ptr @lp_site store i32 5699, ptr @lp_site %t853 = call ptr @lp_str_concat(ptr %t852, ptr @.str14424) store i32 0, ptr @lp_site call void @lp_free(ptr %t852) %t854 = load ptr, ptr %t850 store i32 5700, 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 5701, ptr @lp_site %t856 = call ptr @lp_str_concat(ptr %t855, ptr @.str14425) store i32 0, ptr @lp_site call void @lp_free(ptr %t855) %t857 = load ptr, ptr %t812 store i32 5702, 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 5703, ptr @lp_site %t862 = call ptr @lp_str_concat(ptr @.str14426, ptr %t861) store i32 0, ptr @lp_site store i32 5704, ptr @lp_site %t863 = call ptr @lp_str_concat(ptr %t862, ptr @.str14427) store i32 0, ptr @lp_site call void @lp_free(ptr %t862) %t864 = load ptr, ptr %t860 store i32 5705, 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 @.str14428) %t868 = load ptr, ptr %t867 call void @fn_emit(ptr %t868) call void @fn_emit(ptr @.str14429) %t869 = load ptr, ptr %t825 call void @fn_emit(ptr %t869) call void @fn_emit(ptr @.str14430) %t870 = load ptr, ptr %t827 call void @fn_emit(ptr %t870) call void @fn_emit(ptr @.str14431) %t871 = load ptr, ptr %t825 call void @fn_emit(ptr %t871) call void @fn_emit(ptr @.str14432) %t872 = load ptr, ptr %t833 store i32 5706, ptr @lp_site %t873 = call ptr @lp_str_concat(ptr @.str14433, ptr %t872) store i32 0, ptr @lp_site store i32 5707, ptr @lp_site %t874 = call ptr @lp_str_concat(ptr %t873, ptr @.str14434) 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 @.str14435) %t882 = load ptr, ptr %t90 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str14436) %t883 = load ptr, ptr %t850 call void @fn_emit(ptr %t883) call void @fn_emit(ptr @.str14437) %t884 = load ptr, ptr %t881 call void @fn_emit(ptr %t884) call void @fn_emit(ptr @.str14438) %t885 = load ptr, ptr %t833 store i32 5708, ptr @lp_site %t886 = call ptr @lp_str_concat(ptr @.str14439, ptr %t885) store i32 0, ptr @lp_site store i32 5709, ptr @lp_site %t887 = call ptr @lp_str_concat(ptr %t886, ptr @.str14440) 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 @.str14441, ptr %t890, ptr %t891) call void @fn_emit(ptr @.str14442) %t892 = load ptr, ptr %t823 call void @fn_emit(ptr %t892) call void @fn_emit(ptr @.str14443) %t893 = load ptr, ptr %t827 call void @fn_emit(ptr %t893) call void @fn_emit(ptr @.str14444) %t894 = load ptr, ptr %t814 store i32 5710, ptr @lp_site %t895 = call ptr @lp_str_concat(ptr @.str14445, 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 5711, ptr @lp_site %t899 = call ptr @lp_str_concat(ptr @.str14446, ptr %t898) store i32 0, ptr @lp_site store i32 5712, ptr @lp_site %t900 = call ptr @lp_str_concat(ptr %t899, ptr @.str14447) 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 @.str14448) %t908 = load ptr, ptr %t90 call void @fn_emit(ptr %t908) call void @fn_emit(ptr @.str14449) %t909 = load ptr, ptr %t812 call void @fn_emit(ptr %t909) call void @fn_emit(ptr @.str14450) %t910 = load ptr, ptr %t907 call void @fn_emit(ptr %t910) call void @fn_emit(ptr @.str14451) %t911 = load ptr, ptr %t789 store i32 5713, ptr @lp_site %t912 = call ptr @lp_str_concat(ptr @.str14452, ptr %t911) store i32 0, ptr @lp_site store i32 5714, ptr @lp_site %t913 = call ptr @lp_str_concat(ptr %t912, ptr @.str14453) 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 @.str14454, ptr %t916, ptr %t917) call void @fn_emit(ptr @.str14455) %t918 = load ptr, ptr %t779 call void @fn_emit(ptr %t918) call void @fn_emit(ptr @.str14456) %t919 = load ptr, ptr %t783 call void @fn_emit(ptr %t919) call void @fn_emit(ptr @.str14457) call void @fn_emit(ptr @.str14458) %t920 = load ptr, ptr %t766 call void @fn_emit(ptr %t920) call void @fn_emit(ptr @.str14459) %t921 = load ptr, ptr %t764 call void @fn_emit(ptr %t921) call void @fn_emit(ptr @.str14460) %t922 = load ptr, ptr %t94 %t923 = load ptr, ptr %t90 call void @fn_emit_merge_sort(ptr %t922, ptr %t923, i32 3, ptr @.str14461, ptr @.str14462) call void @fn_emit(ptr @.str14463) %t924 = load ptr, ptr %t766 call void @fn_emit(ptr %t924) call void @fn_emit(ptr @.str14464) %t925 = load ptr, ptr %t766 call void @fn_emit(ptr %t925) call void @fn_emit(ptr @.str14465) %t926 = call ptr @fn_val(ptr @.str14466, ptr @.str14467) store ptr %t926, ptr %retval br label %ret ifend69: %t927 = load ptr, ptr %t0 %t928 = call i32 @lp_str_eq(ptr %t927, ptr @.str14468) %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 5715, ptr @lp_site %t943 = call ptr @lp_str_concat(ptr @.str14469, ptr %t942) store i32 0, ptr @lp_site store i32 5716, ptr @lp_site %t944 = call ptr @lp_str_concat(ptr %t943, ptr @.str14470) 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 @.str14471) %t948 = call ptr @fn_val(ptr @.str14472, ptr @.str14473) store ptr %t948, ptr %retval br label %ret ifend72: %t950 = load ptr, ptr %t0 %t951 = call i32 @lp_str_eq(ptr %t950, ptr @.str14474) %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 @.str14475) %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 5717, ptr @lp_site %t975 = call ptr @lp_str_concat(ptr @.str14476, ptr %t974) store i32 0, ptr @lp_site store i32 5718, ptr @lp_site %t976 = call ptr @lp_str_concat(ptr %t975, ptr @.str14477) store i32 0, ptr @lp_site call void @lp_free(ptr %t975) %t977 = load ptr, ptr %t963 store i32 5719, 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 5720, ptr @lp_site %t979 = call ptr @lp_str_concat(ptr %t978, ptr @.str14478) 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 @.str14479) %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 @.str14480) %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 5721, ptr @lp_site %t997 = call ptr @lp_str_concat(ptr @.str14481, ptr %t996) store i32 0, ptr @lp_site store i32 5722, ptr @lp_site %t998 = call ptr @lp_str_concat(ptr %t997, ptr @.str14482) store i32 0, ptr @lp_site call void @lp_free(ptr %t997) %t999 = load ptr, ptr %t963 store i32 5723, 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 5724, ptr @lp_site %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str14483) 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 @.str14484) %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 @.str14485, ptr @.str14486) store ptr %t1011, ptr %retval br label %ret ifend80: %t1012 = load ptr, ptr %t97 store i32 5725, ptr @lp_site %t1013 = call ptr @lp_str_concat(ptr @.str14487, 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 @.str14488) store ptr %t1016, ptr %t1017 %t1018 = load ptr, ptr %t1017 call void @fn_store_at(ptr @.str14489, ptr @.str14490, ptr %t1018) %t1019 = call ptr @fn_emit_alloca(ptr @.str14491) store ptr %t1019, ptr %t1020 %t1021 = load ptr, ptr %t1015 store i32 5726, ptr @lp_site %t1022 = call ptr @lp_str_concat(ptr @.str14492, ptr %t1021) store i32 0, ptr @lp_site store i32 5727, ptr @lp_site %t1023 = call ptr @lp_str_concat(ptr %t1022, ptr @.str14493) 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 @.str14494, ptr %t1026, ptr %t1027) %t1028 = call ptr @fn_lbl(ptr @.str14495) store ptr %t1028, ptr %t1029 %t1030 = call ptr @fn_lbl(ptr @.str14496) store ptr %t1030, ptr %t1031 %t1032 = call ptr @fn_lbl(ptr @.str14497) store ptr %t1032, ptr %t1033 call void @fn_emit(ptr @.str14498) %t1034 = load ptr, ptr %t1029 call void @fn_emit(ptr %t1034) call void @fn_emit(ptr @.str14499) %t1035 = load ptr, ptr %t1029 call void @fn_emit(ptr %t1035) call void @fn_emit(ptr @.str14500) %t1036 = load ptr, ptr %t1017 store i32 5728, ptr @lp_site %t1037 = call ptr @lp_str_concat(ptr @.str14501, 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 5729, ptr @lp_site %t1041 = call ptr @lp_str_concat(ptr @.str14502, 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 5730, ptr @lp_site %t1045 = call ptr @lp_str_concat(ptr @.str14503, ptr %t1044) store i32 0, ptr @lp_site store i32 5731, ptr @lp_site %t1046 = call ptr @lp_str_concat(ptr %t1045, ptr @.str14504) store i32 0, ptr @lp_site call void @lp_free(ptr %t1045) %t1047 = load ptr, ptr %t1043 store i32 5732, 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 @.str14505) %t1051 = load ptr, ptr %t1050 call void @fn_emit(ptr %t1051) call void @fn_emit(ptr @.str14506) %t1052 = load ptr, ptr %t1031 call void @fn_emit(ptr %t1052) call void @fn_emit(ptr @.str14507) %t1053 = load ptr, ptr %t1033 call void @fn_emit(ptr %t1053) call void @fn_emit(ptr @.str14508) %t1054 = load ptr, ptr %t1031 call void @fn_emit(ptr %t1054) call void @fn_emit(ptr @.str14509) %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 5733, ptr @lp_site %t1066 = call ptr @lp_str_concat(ptr @.str14510, ptr %t1065) store i32 0, ptr @lp_site store i32 5734, ptr @lp_site %t1067 = call ptr @lp_str_concat(ptr %t1066, ptr @.str14511) store i32 0, ptr @lp_site call void @lp_free(ptr %t1066) %t1068 = load ptr, ptr %t1059 store i32 5735, 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 5736, ptr @lp_site %t1073 = call ptr @lp_str_concat(ptr @.str14512, ptr %t1072) store i32 0, ptr @lp_site store i32 5737, ptr @lp_site %t1074 = call ptr @lp_str_concat(ptr %t1073, ptr @.str14513) store i32 0, ptr @lp_site call void @lp_free(ptr %t1073) %t1075 = load ptr, ptr %t1064 store i32 5738, 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 @.str14514) %t1079 = load ptr, ptr %t90 call void @fn_emit(ptr %t1079) call void @fn_emit(ptr @.str14515) %t1080 = load ptr, ptr %t1078 call void @fn_emit(ptr %t1080) call void @fn_emit(ptr @.str14516) %t1081 = load ptr, ptr %t1059 call void @fn_emit(ptr %t1081) call void @fn_emit(ptr @.str14517) call void @fn_emit(ptr @.str14518) %t1082 = load ptr, ptr %t90 call void @fn_emit(ptr %t1082) call void @fn_emit(ptr @.str14519) %t1083 = load ptr, ptr %t1071 call void @fn_emit(ptr %t1083) call void @fn_emit(ptr @.str14520) %t1084 = load ptr, ptr %t1064 call void @fn_emit(ptr %t1084) call void @fn_emit(ptr @.str14521) %t1085 = load ptr, ptr %t1039 store i32 5739, ptr @lp_site %t1086 = call ptr @lp_str_concat(ptr @.str14522, ptr %t1085) store i32 0, ptr @lp_site store i32 5740, ptr @lp_site %t1087 = call ptr @lp_str_concat(ptr %t1086, ptr @.str14523) 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 @.str14524, ptr %t1090, ptr %t1091) %t1092 = load ptr, ptr %t1043 store i32 5741, ptr @lp_site %t1093 = call ptr @lp_str_concat(ptr @.str14525, ptr %t1092) store i32 0, ptr @lp_site store i32 5742, ptr @lp_site %t1094 = call ptr @lp_str_concat(ptr %t1093, ptr @.str14526) 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 @.str14527, ptr %t1097, ptr %t1098) call void @fn_emit(ptr @.str14528) %t1099 = load ptr, ptr %t1029 call void @fn_emit(ptr %t1099) call void @fn_emit(ptr @.str14529) %t1100 = load ptr, ptr %t1033 call void @fn_emit(ptr %t1100) call void @fn_emit(ptr @.str14530) %t1101 = call ptr @fn_val(ptr @.str14531, ptr @.str14532) 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 @.str14533) %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 @.str14534) %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 @.str14535) %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 @.str14536) %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 @.str14537) %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 @.str14538) %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 @.str14539) 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 5743, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str14540, ptr %t4) store i32 0, ptr @lp_site store i32 5744, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str14542) 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 5745, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14543, ptr %t12) store i32 0, ptr @lp_site store i32 5746, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str14544) 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 5747, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str14545, ptr %t17) store i32 0, ptr @lp_site store i32 5748, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str14546) 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 5749, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str14547, ptr %t25) store i32 0, ptr @lp_site store i32 5750, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str14548) 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 5751, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str14549, ptr %t30) store i32 0, ptr @lp_site store i32 5752, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str14550) 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 5753, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str14551, ptr %t38) store i32 0, ptr @lp_site store i32 5754, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str14552) 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 5755, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str14553, ptr %t43) store i32 0, ptr @lp_site store i32 5756, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str14554) 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 5757, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str14555, ptr %t48) store i32 0, ptr @lp_site store i32 5758, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str14556) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t29 store i32 5759, 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 5760, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str14557) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t42 store i32 5761, 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 5762, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str14558, ptr %t58) store i32 0, ptr @lp_site store i32 5763, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str14559) 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 5764, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str14560, ptr %t63) store i32 0, ptr @lp_site store i32 5765, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str14561) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t16 store i32 5766, 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 5767, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str14562) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t57 store i32 5768, 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 5769, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str14563, ptr %t73) store i32 0, ptr @lp_site store i32 5770, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str14564) 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 5771, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str14565, ptr %t78) store i32 0, ptr @lp_site store i32 5772, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str14566) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t3 store i32 5773, 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 5774, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str14567) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr %t72 store i32 5775, 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 5776, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str14568, 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 5777, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str14570, ptr %t37) store i32 0, ptr @lp_site store i32 5778, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str14571) 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 5779, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr @.str14572, ptr %t42) store i32 0, ptr @lp_site store i32 5780, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str14573) 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 5781, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str14574, ptr %t47) store i32 0, ptr @lp_site store i32 5782, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str14575) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t46 store i32 5783, 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 @.str14576) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str14577) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 store i32 5784, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str14578, ptr %t71) store i32 0, ptr @lp_site store i32 5785, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str14579) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t70 store i32 5786, 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 5787, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str14580, ptr %t81) store i32 0, ptr @lp_site store i32 5788, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str14581) 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 5789, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str14582, 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 5790, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str14583, ptr %t90) store i32 0, ptr @lp_site store i32 5791, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str14584) 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 5792, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str14585, ptr %t95) store i32 0, ptr @lp_site store i32 5793, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str14586) 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 @.str14587) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 store i32 5794, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str14588, ptr %t103) store i32 0, ptr @lp_site store i32 5795, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str14589) 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 5796, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str14590, ptr %t112) store i32 0, ptr @lp_site store i32 5797, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str14591) 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str14592, 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 @.str14593) %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 @.str14594) store ptr %t22, ptr %retval br label %ret ifend4: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str14595) %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 @.str14596) store ptr %t30, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str14597) %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 @.str14598) store ptr %t38, ptr %retval br label %ret ifend10: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str14599) %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 @.str14600) store ptr %t46, ptr %retval br label %ret ifend13: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str14601) %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 @.str14602) 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 @.str14603) 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 @.str14604) %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 @.str14605) %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 @.str14606) %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 @.str14607) %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 @.str14608) %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 @.str14609) %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 @.str14610) %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 5798, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str14611, ptr %t2) store i32 0, ptr @lp_site store i32 5799, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str14613) 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 5800, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str14614, ptr %t7) store i32 0, ptr @lp_site store i32 5801, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str14615) 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 5802, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14616, ptr %t12) store i32 0, ptr @lp_site store i32 5803, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str14617) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t11 store i32 5804, 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 5805, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str14618, ptr %t19) store i32 0, ptr @lp_site store i32 5806, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str14619) 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 5807, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str14620, ptr %t24) store i32 0, ptr @lp_site store i32 5808, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str14621) 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 5809, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str14622, ptr %t1) store i32 0, ptr @lp_site store i32 5810, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str14624) 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 5811, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str14625, ptr %t6) store i32 0, ptr @lp_site store i32 5812, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str14626) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 5813, 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 @.str14627) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str14628, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str14629, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str14630, 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 5814, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str14631, ptr %t57) store i32 0, ptr @lp_site store i32 5815, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str14633) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t56 store i32 5816, 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 @.str14634) store ptr %t63, ptr %retval br label %ret ifend2: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str14635) %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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str14636, 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: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str14637, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str14638, 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 5817, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str14639, ptr %t116) store i32 0, ptr @lp_site store i32 5818, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str14640) 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 5819, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr @.str14641, ptr %t121) store i32 0, ptr @lp_site store i32 5820, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str14642) store i32 0, ptr @lp_site call void @lp_free(ptr %t122) %t124 = load ptr, ptr %t120 store i32 5821, 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 5822, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str14643, ptr %t128) store i32 0, ptr @lp_site store i32 5823, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str14644) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t113 store i32 5824, 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 5825, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str14645) store i32 0, ptr @lp_site call void @lp_free(ptr %t132) %t134 = load ptr, ptr %t120 store i32 5826, 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 @.str14646) store ptr %t137, ptr %retval br label %ret ifend11: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str14647) %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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str14648, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str14649, 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: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str14650, 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 5827, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr @.str14651, ptr %t190) store i32 0, ptr @lp_site store i32 5828, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str14652) 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 5829, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str14653, ptr %t195) store i32 0, ptr @lp_site store i32 5830, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str14654) 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 5831, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str14655, ptr %t203) store i32 0, ptr @lp_site store i32 5832, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str14656) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = load ptr, ptr %t202 store i32 5833, 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 5834, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str14657, ptr %t210) store i32 0, ptr @lp_site store i32 5835, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str14658) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) %t213 = load ptr, ptr %t209 store i32 5836, 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 5837, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr @.str14659, ptr %t217) store i32 0, ptr @lp_site store i32 5838, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str14660) 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 5839, 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 5840, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr @.str14661, ptr %t226) store i32 0, ptr @lp_site store i32 5841, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str14662) store i32 0, ptr @lp_site call void @lp_free(ptr %t227) %t229 = load ptr, ptr %t209 store i32 5842, 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 5843, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str14663) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t216 store i32 5844, 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 @.str14664) store ptr %t235, ptr %retval br label %ret ifend20: %t236 = load ptr, ptr %t0 %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str14665) %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: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str14666, 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: %t260 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str14667, 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: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str14668, 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 5845, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr @.str14669, ptr %t286) store i32 0, ptr @lp_site store i32 5846, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str14670) 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 5847, 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 5848, ptr @lp_site %t296 = call ptr @lp_str_concat(ptr @.str14671, ptr %t295) store i32 0, ptr @lp_site store i32 5849, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str14672) 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 @.str14673) store ptr %t299, ptr %retval br label %ret ifend29: %t300 = load ptr, ptr %t0 %t301 = call i32 @lp_str_eq(ptr %t300, ptr @.str14674) %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: %t311 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t311, ptr @.fmt_bounds, ptr @.str14675, 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: %t324 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str14676, 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 5850, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str14677, ptr %t331) store i32 0, ptr @lp_site store i32 5851, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str14678) 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 5852, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str14679, ptr %t341) store i32 0, ptr @lp_site store i32 5853, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str14680) store i32 0, ptr @lp_site call void @lp_free(ptr %t342) %t344 = load ptr, ptr %t340 store i32 5854, 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 @.str14681) store ptr %t347, ptr %retval br label %ret ifend38: %t348 = load ptr, ptr %t0 %t349 = call i32 @lp_str_eq(ptr %t348, ptr @.str14682) %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: %t359 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str14683, 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: %t372 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t372, ptr @.fmt_bounds, ptr @.str14684, 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: %t385 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str14685, 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 5855, ptr @lp_site %t398 = call ptr @lp_str_concat(ptr @.str14686, ptr %t397) store i32 0, ptr @lp_site store i32 5856, ptr @lp_site %t399 = call ptr @lp_str_concat(ptr %t398, ptr @.str14687) store i32 0, ptr @lp_site call void @lp_free(ptr %t398) %t400 = load ptr, ptr %t394 store i32 5857, 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 5858, ptr @lp_site %t405 = call ptr @lp_str_concat(ptr @.str14688, ptr %t404) store i32 0, ptr @lp_site store i32 5859, ptr @lp_site %t406 = call ptr @lp_str_concat(ptr %t405, ptr @.str14689) 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 5860, 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 @.str14690) 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: %t421 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t421, ptr @.fmt_bounds, ptr @.str14691, 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: %t434 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str14692, 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: %t447 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t447, ptr @.fmt_bounds, ptr @.str14693, 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 5861, ptr @lp_site %t460 = call ptr @lp_str_concat(ptr @.str14694, ptr %t459) store i32 0, ptr @lp_site store i32 5862, ptr @lp_site %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str14695) store i32 0, ptr @lp_site call void @lp_free(ptr %t460) %t462 = load ptr, ptr %t456 store i32 5863, 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 5864, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr @.str14696, ptr %t466) store i32 0, ptr @lp_site store i32 5865, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str14697) 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 5866, 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 @.str14698) 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 @.str14699) %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 @.str14700) %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 @.str14701) %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 @.str14702) %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 @.str14703) %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 @.str14704) %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 @.str14705) %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 @.str14706) %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 @.str14707) %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 5867, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str14708, ptr %t1) store i32 0, ptr @lp_site store i32 5868, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str14710) 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 5869, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str14711, ptr %t6) store i32 0, ptr @lp_site store i32 5870, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str14712) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 5871, 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 5872, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str14713) 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 @.str14714) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str14715, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str14716, 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 5873, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str14717, ptr %t33) store i32 0, ptr @lp_site store i32 5874, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str14719) 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 5875, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str14720, ptr %t38) store i32 0, ptr @lp_site store i32 5876, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str14721) 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 5877, 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 5878, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str14722) 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 5879, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str14723, ptr %t54) store i32 0, ptr @lp_site store i32 5880, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str14724) 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 5881, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str14725, ptr %t59) store i32 0, ptr @lp_site store i32 5882, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str14726) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t53 store i32 5883, 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 5884, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str14727, ptr %t66) store i32 0, ptr @lp_site store i32 5885, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str14728) 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 5886, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str14729, ptr %t71) store i32 0, ptr @lp_site store i32 5887, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str14730) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t65 store i32 5888, 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 5889, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str14731, ptr %t78) store i32 0, ptr @lp_site store i32 5890, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str14732) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t77 store i32 5891, 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 5892, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str14733) 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 @.str14734) store ptr %t85, ptr %retval br label %ret ifend2: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str14735) %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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str14736, 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: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str14737, 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 5893, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str14738, ptr %t126) store i32 0, ptr @lp_site store i32 5894, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str14739) 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 @.str14740) store ptr %t130, ptr %retval br label %ret ifend9: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str14741) %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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str14742, 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: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str14743, 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 5895, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr @.str14744, ptr %t171) store i32 0, ptr @lp_site store i32 5896, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str14745) 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 5897, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr @.str14746, 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 5898, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr @.str14747, ptr %t180) store i32 0, ptr @lp_site store i32 5899, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str14748) 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 5900, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str14749, ptr %t185) store i32 0, ptr @lp_site store i32 5901, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str14750) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) %t188 = load ptr, ptr %t175 store i32 5902, 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 5903, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str14751) store i32 0, ptr @lp_site call void @lp_free(ptr %t189) %t191 = load ptr, ptr %t179 store i32 5904, 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 @.str14752) store ptr %t194, ptr %retval br label %ret ifend16: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str14753) %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: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str14754, 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 @.str14756) store i32 5905, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr @.str14755, ptr %t219) store i32 0, ptr @lp_site store i32 5906, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str14757) 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 5907, 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 5908, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str14758) 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 @.str14759) 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: %t237 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str14760, 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: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str14761, 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 5909, ptr @lp_site %t258 = call ptr @lp_str_concat(ptr @.str14762, ptr %t257) store i32 0, ptr @lp_site store i32 5910, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str14763) 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 5911, 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 5912, ptr @lp_site %t267 = call ptr @lp_str_concat(ptr @.str14764, ptr %t266) store i32 0, ptr @lp_site store i32 5913, ptr @lp_site %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str14765) 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 @.str14766) store ptr %t270, ptr %retval br label %ret ifend23: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str14767) %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: %t282 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str14768, 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: %t295 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str14769, 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 @.str14770) 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 @.str14771) store ptr %t312, ptr %retval br label %ret ifend35: %t313 = load ptr, ptr %t0 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str14772) %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: %t324 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str14773, 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: %t337 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str14774, 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: %t350 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t350, ptr @.fmt_bounds, ptr @.str14775, 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 @.str14776) store ptr %t365, ptr %retval br label %ret ifend45: %t366 = load ptr, ptr %t0 %t367 = call i32 @lp_str_eq(ptr %t366, ptr @.str14777) %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: %t377 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t377, ptr @.fmt_bounds, ptr @.str14778, 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: %t390 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t390, ptr @.fmt_bounds, ptr @.str14779, 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: %t403 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t403, ptr @.fmt_bounds, ptr @.str14780, 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 5914, ptr @lp_site %t411 = call ptr @lp_str_concat(ptr @.str14781, ptr %t410) store i32 0, ptr @lp_site store i32 5915, ptr @lp_site %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str14782) 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 5916, 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 5917, ptr @lp_site %t420 = call ptr @lp_str_concat(ptr @.str14783, ptr %t419) store i32 0, ptr @lp_site store i32 5918, ptr @lp_site %t421 = call ptr @lp_str_concat(ptr %t420, ptr @.str14784) 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 5919, ptr @lp_site %t427 = call ptr @lp_str_concat(ptr @.str14785, ptr %t426) store i32 0, ptr @lp_site store i32 5920, ptr @lp_site %t428 = call ptr @lp_str_concat(ptr %t427, ptr @.str14786) 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 5921, ptr @lp_site %t432 = call ptr @lp_str_concat(ptr @.str14787, ptr %t431) store i32 0, ptr @lp_site store i32 5922, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr %t432, ptr @.str14788) store i32 0, ptr @lp_site call void @lp_free(ptr %t432) %t434 = load ptr, ptr %t430 store i32 5923, 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 5924, ptr @lp_site %t439 = call ptr @lp_str_concat(ptr @.str14789, ptr %t438) store i32 0, ptr @lp_site store i32 5925, ptr @lp_site %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str14790) 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 5926, ptr @lp_site %t444 = call ptr @lp_str_concat(ptr @.str14791, ptr %t443) store i32 0, ptr @lp_site store i32 5927, ptr @lp_site %t445 = call ptr @lp_str_concat(ptr %t444, ptr @.str14792) 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 5928, ptr @lp_site %t449 = call ptr @lp_str_concat(ptr @.str14793, ptr %t448) store i32 0, ptr @lp_site store i32 5929, ptr @lp_site %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str14794) 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 5930, ptr @lp_site %t456 = call ptr @lp_str_concat(ptr @.str14795, ptr %t455) store i32 0, ptr @lp_site store i32 5931, ptr @lp_site %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str14796) store i32 0, ptr @lp_site call void @lp_free(ptr %t456) %t458 = load ptr, ptr %t452 store i32 5932, 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 @.str14797) store ptr %t461, ptr %retval br label %ret ifend54: %t462 = load ptr, ptr %t0 %t463 = call i32 @lp_str_eq(ptr %t462, ptr @.str14798) %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: %t473 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t473, ptr @.fmt_bounds, ptr @.str14799, 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: %t486 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t486, ptr @.fmt_bounds, ptr @.str14800, 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: %t499 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t499, ptr @.fmt_bounds, ptr @.str14801, 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 @.str14802) 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: %t550 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t550, ptr @.fmt_bounds, ptr @.str14803, 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: %t563 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t563, ptr @.fmt_bounds, ptr @.str14804, 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: %t576 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t576, ptr @.fmt_bounds, ptr @.str14805, 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 @.str14806) %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 @.str14807) %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 @.str14808) %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 @.str14809) %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 @.str14810) %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 @.str14811) %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 @.str14812) 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 @.str14813) %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 @.str14814) %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 @.str14815) %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 @.str14816) %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 5933, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str14817, ptr %t2) store i32 0, ptr @lp_site store i32 5934, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str14819) 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 5935, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str14820, ptr %t7) store i32 0, ptr @lp_site store i32 5936, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str14821) 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 5937, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str14822, ptr %t12) store i32 0, ptr @lp_site store i32 5938, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str14823) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t6 store i32 5939, 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 5940, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str14824, ptr %t19) store i32 0, ptr @lp_site store i32 5941, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str14825) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load ptr, ptr %t11 store i32 5942, 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 5943, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str14826, ptr %t26) store i32 0, ptr @lp_site store i32 5944, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str14827) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t25 store i32 5945, 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 5946, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str14828, ptr %t3) store i32 0, ptr @lp_site store i32 5947, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str14830) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t2 store i32 5948, 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 5949, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str14831, ptr %t10) store i32 0, ptr @lp_site store i32 5950, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str14832) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t0 store i32 5951, 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 5952, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str14833) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t2 store i32 5953, 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 5954, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str14834, ptr %t20) store i32 0, ptr @lp_site store i32 5955, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str14835) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t19 store i32 5956, 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 5957, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str14836, ptr %t27) store i32 0, ptr @lp_site store i32 5958, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str14837) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t1 store i32 5959, 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 5960, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str14838) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t19 store i32 5961, 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 @.str14839) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str14840, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str14841, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str14842, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str14843, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str14844, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str14845, 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: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str14846, 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: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str14847, 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 5962, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr @.str14848, ptr %t111) store i32 0, ptr @lp_site store i32 5963, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str14850) 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 5964, 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 5965, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str14851, ptr %t122) store i32 0, ptr @lp_site store i32 5966, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str14852) 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 5967, 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 5968, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr @.str14853, ptr %t133) store i32 0, ptr @lp_site store i32 5969, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str14854) 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 5970, 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 5971, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr @.str14855, ptr %t144) store i32 0, ptr @lp_site store i32 5972, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str14856) 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 5973, 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 5974, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str14857, ptr %t155) store i32 0, ptr @lp_site store i32 5975, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str14858) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t130 store i32 5976, 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 5977, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str14859, ptr %t164) store i32 0, ptr @lp_site store i32 5978, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str14860) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t167 = load ptr, ptr %t119 store i32 5979, 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 5980, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str14861, ptr %t173) store i32 0, ptr @lp_site store i32 5981, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str14862) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t152 store i32 5982, 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 5983, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str14863, ptr %t182) store i32 0, ptr @lp_site store i32 5984, ptr @lp_site %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str14864) store i32 0, ptr @lp_site call void @lp_free(ptr %t183) %t185 = load ptr, ptr %t141 store i32 5985, 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 5986, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str14865, ptr %t189) store i32 0, ptr @lp_site store i32 5987, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str14866) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t170 store i32 5988, 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 5989, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr @.str14867, ptr %t196) store i32 0, ptr @lp_site store i32 5990, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str14868) store i32 0, ptr @lp_site call void @lp_free(ptr %t197) %t199 = load ptr, ptr %t188 store i32 5991, 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 5992, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str14869, ptr %t203) store i32 0, ptr @lp_site store i32 5993, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str14870) store i32 0, ptr @lp_site call void @lp_free(ptr %t204) %t206 = load ptr, ptr %t202 store i32 5994, 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 5995, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str14871, ptr %t210) store i32 0, ptr @lp_site store i32 5996, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str14872) 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 @.str14873) store ptr %t214, ptr %retval br label %ret ifend2: %t215 = load ptr, ptr %t0 %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str14874) %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: %t226 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str14875, 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: %t239 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str14876, 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: %t252 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str14877, 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: %t265 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str14878, 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: %t278 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t278, ptr @.fmt_bounds, ptr @.str14879, 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: %t291 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str14880, 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 5997, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr @.str14881, ptr %t298) store i32 0, ptr @lp_site store i32 5998, ptr @lp_site %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str14882) 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 5999, 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 6000, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr @.str14883, ptr %t309) store i32 0, ptr @lp_site store i32 6001, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str14884) 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 6002, 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 6003, ptr @lp_site %t321 = call ptr @lp_str_concat(ptr @.str14885, ptr %t320) store i32 0, ptr @lp_site store i32 6004, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str14886) 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 6005, 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 6006, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr @.str14887, ptr %t331) store i32 0, ptr @lp_site store i32 6007, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str14888) store i32 0, ptr @lp_site call void @lp_free(ptr %t332) %t334 = load ptr, ptr %t306 store i32 6008, 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 6009, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr @.str14889, ptr %t340) store i32 0, ptr @lp_site store i32 6010, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str14890) 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 6011, 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 6012, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr @.str14891, ptr %t351) store i32 0, ptr @lp_site store i32 6013, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str14892) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) %t354 = load ptr, ptr %t317 store i32 6014, 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 6015, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr @.str14893, ptr %t358) store i32 0, ptr @lp_site store i32 6016, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str14894) store i32 0, ptr @lp_site call void @lp_free(ptr %t359) %t361 = load ptr, ptr %t337 store i32 6017, 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 6018, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr @.str14895, ptr %t365) store i32 0, ptr @lp_site store i32 6019, ptr @lp_site %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str14896) store i32 0, ptr @lp_site call void @lp_free(ptr %t366) %t368 = load ptr, ptr %t357 store i32 6020, 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 6021, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str14897, ptr %t372) store i32 0, ptr @lp_site store i32 6022, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str14898) store i32 0, ptr @lp_site call void @lp_free(ptr %t373) %t375 = load ptr, ptr %t371 store i32 6023, 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 6024, ptr @lp_site %t380 = call ptr @lp_str_concat(ptr @.str14899, ptr %t379) store i32 0, ptr @lp_site store i32 6025, ptr @lp_site %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str14900) 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 @.str14901) store ptr %t383, ptr %retval br label %ret ifend21: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str14902) %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: %t395 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str14903, 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: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str14904, 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: %t421 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t421, ptr @.fmt_bounds, ptr @.str14905, 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: %t434 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str14906, 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: %t447 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t447, ptr @.fmt_bounds, ptr @.str14907, 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: %t460 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t460, ptr @.fmt_bounds, ptr @.str14908, 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 6026, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr @.str14909, ptr %t467) store i32 0, ptr @lp_site store i32 6027, ptr @lp_site %t469 = call ptr @lp_str_concat(ptr %t468, ptr @.str14910) 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 6028, 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 6029, ptr @lp_site %t479 = call ptr @lp_str_concat(ptr @.str14911, ptr %t478) store i32 0, ptr @lp_site store i32 6030, ptr @lp_site %t480 = call ptr @lp_str_concat(ptr %t479, ptr @.str14912) 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 6031, 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 6032, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr @.str14913, ptr %t493) store i32 0, ptr @lp_site store i32 6033, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str14914) 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 6034, 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 6035, ptr @lp_site %t503 = call ptr @lp_str_concat(ptr @.str14915, ptr %t502) store i32 0, ptr @lp_site store i32 6036, ptr @lp_site %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str14916) 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 6037, ptr @lp_site %t508 = call ptr @lp_str_concat(ptr @.str14917, ptr %t507) store i32 0, ptr @lp_site store i32 6038, ptr @lp_site %t509 = call ptr @lp_str_concat(ptr %t508, ptr @.str14918) store i32 0, ptr @lp_site call void @lp_free(ptr %t508) %t510 = load ptr, ptr %t506 store i32 6039, 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 6040, ptr @lp_site %t515 = call ptr @lp_str_concat(ptr @.str14919, ptr %t514) store i32 0, ptr @lp_site store i32 6041, ptr @lp_site %t516 = call ptr @lp_str_concat(ptr %t515, ptr @.str14920) store i32 0, ptr @lp_site call void @lp_free(ptr %t515) %t517 = load ptr, ptr %t513 store i32 6042, 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 6043, ptr @lp_site %t522 = call ptr @lp_str_concat(ptr @.str14921, ptr %t521) store i32 0, ptr @lp_site store i32 6044, ptr @lp_site %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str14922) 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 @.str14923) 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: %t534 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t534, ptr @.fmt_bounds, ptr @.str14924, 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: %t547 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t547, ptr @.fmt_bounds, ptr @.str14925, 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: %t560 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str14926, 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: %t573 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str14927, 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: %t586 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t586, ptr @.fmt_bounds, ptr @.str14928, 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: %t599 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t599, ptr @.fmt_bounds, ptr @.str14929, 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: %t612 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t612, ptr @.fmt_bounds, ptr @.str14930, 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 6045, ptr @lp_site %t620 = call ptr @lp_str_concat(ptr @.str14931, ptr %t619) store i32 0, ptr @lp_site store i32 6046, ptr @lp_site %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str14932) 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 6047, 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 6048, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr @.str14933, ptr %t630) store i32 0, ptr @lp_site store i32 6049, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str14934) 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 6050, 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 6051, ptr @lp_site %t660 = call ptr @lp_str_concat(ptr @.str14935, ptr %t659) store i32 0, ptr @lp_site store i32 6052, ptr @lp_site %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str14936) store i32 0, ptr @lp_site call void @lp_free(ptr %t660) %t662 = load ptr, ptr %t647 store i32 6053, 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 6054, ptr @lp_site %t669 = call ptr @lp_str_concat(ptr @.str14937, ptr %t668) store i32 0, ptr @lp_site store i32 6055, ptr @lp_site %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str14938) store i32 0, ptr @lp_site call void @lp_free(ptr %t669) %t671 = load ptr, ptr %t656 store i32 6056, 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 6057, ptr @lp_site %t682 = call ptr @lp_str_concat(ptr @.str14939, ptr %t681) store i32 0, ptr @lp_site store i32 6058, ptr @lp_site %t683 = call ptr @lp_str_concat(ptr %t682, ptr @.str14940) 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 6059, ptr @lp_site %t687 = call ptr @lp_str_concat(ptr @.str14941, ptr %t686) store i32 0, ptr @lp_site store i32 6060, ptr @lp_site %t688 = call ptr @lp_str_concat(ptr %t687, ptr @.str14942) store i32 0, ptr @lp_site call void @lp_free(ptr %t687) %t689 = load ptr, ptr %t685 store i32 6061, 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 6062, ptr @lp_site %t694 = call ptr @lp_str_concat(ptr @.str14943, ptr %t693) store i32 0, ptr @lp_site store i32 6063, ptr @lp_site %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str14944) store i32 0, ptr @lp_site call void @lp_free(ptr %t694) %t696 = load ptr, ptr %t692 store i32 6064, 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 6065, ptr @lp_site %t701 = call ptr @lp_str_concat(ptr @.str14945, ptr %t700) store i32 0, ptr @lp_site store i32 6066, ptr @lp_site %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str14946) 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 @.str14947) 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 @.str14948) %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 @.str14949) %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 @.str14950) %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 @.str14951) %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 @.str14952) %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 @.str14953) %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 @.str14954) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str14955, 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 6067, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str14956, ptr %t20) store i32 0, ptr @lp_site store i32 6068, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str14958) 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 6069, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str14959, ptr %t25) store i32 0, ptr @lp_site store i32 6070, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str14960) 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 @.str14961) store ptr %t29, ptr %retval br label %ret ifend2: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str14962) %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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str14963, 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 6071, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str14964, ptr %t48) store i32 0, ptr @lp_site store i32 6072, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str14965) 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 6073, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str14966, ptr %t53) store i32 0, ptr @lp_site store i32 6074, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str14967) 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 @.str14968, 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 @.str14969) %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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str14970, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str14971, 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: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str14972, 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 6075, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr @.str14973, ptr %t104) store i32 0, ptr @lp_site store i32 6076, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str14974) 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 @.str14975) %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 @.str14976) %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 @.str14977) %t115 = load ptr, ptr %t108 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str14978) %t116 = call ptr @fn_val(ptr @.str14979, ptr @.str14980) store ptr %t116, ptr %retval br label %ret ifend12: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str14981) %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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str14982, 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: %t141 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str14983, 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: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str14984, 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 6077, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str14985, ptr %t161) store i32 0, ptr @lp_site store i32 6078, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str14986) 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 @.str14987) %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 @.str14988) %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 @.str14989) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str14990) %t173 = call ptr @fn_val(ptr @.str14991, ptr @.str14992) store ptr %t173, ptr %retval br label %ret ifend21: %t174 = load ptr, ptr %t0 %t175 = call i32 @lp_str_eq(ptr %t174, ptr @.str14993) %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: %t185 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str14994, 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: %t198 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t198, ptr @.fmt_bounds, ptr @.str14995, 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 6079, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str14996, ptr %t205) store i32 0, ptr @lp_site store i32 6080, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str14997) 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 6081, 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 6082, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str14998, 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 6083, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr @.str14999, ptr %t218) store i32 0, ptr @lp_site store i32 6084, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str15000) 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 @.str15001) 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: %t231 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str15002, 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: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str15003, 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: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str15004, 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 6085, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr @.str15005, ptr %t264) store i32 0, ptr @lp_site store i32 6086, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str15006) 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 6087, 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 6088, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr @.str15007, ptr %t275) store i32 0, ptr @lp_site store i32 6089, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str15008) 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 @.str15009) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str15010) %t281 = load ptr, ptr %t272 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str15011) %t282 = call ptr @fn_val(ptr @.str15012, ptr @.str15013) 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 @.str15014) %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 @.str15015) %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 @.str15016) %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 @.str15017) %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 @.str15018) %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 @.str15019) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str15020) %t6 = call ptr @fn_val(ptr %t5, ptr @.str15021) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str15022) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str15023, ptr @.str15024) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str15025) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str15026) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 store i32 6090, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str15027, ptr %t16) store i32 0, ptr @lp_site store i32 6091, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str15029) 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 @.str15030) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str15031) %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str15032, 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 @.str15033) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 store i32 6092, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str15034, ptr %t39) store i32 0, ptr @lp_site store i32 6093, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str15035) 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 6094, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str15036, ptr %t44) store i32 0, ptr @lp_site store i32 6095, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str15037) 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 6096, 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 @.str15038) store ptr %t52, ptr %retval br label %ret ifend11: %t53 = call ptr @fn_emit_bind(ptr @.str15039) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 store i32 6097, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str15040, ptr %t55) store i32 0, ptr @lp_site store i32 6098, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str15041) 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 @.str15042) 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 @.str15043) %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 @.str15044) %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 @.str15045) %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 @.str15046) %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 @.str15047) %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 @.str15048) %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 @.str15049) %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 @.str15050) %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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str15051, 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 @.str15052) %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 @.str15053) store ptr %t21, ptr %retval br label %ret ifend4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str15054) %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 6099, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str15055, ptr %t27) store i32 0, ptr @lp_site store i32 6100, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str15057) 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 @.str15058) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str15059) %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 6101, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str15060, ptr %t37) store i32 0, ptr @lp_site store i32 6102, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str15061) 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 @.str15062) store ptr %t41, ptr %retval br label %ret ifend10: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str15063) %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 6103, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str15064, ptr %t47) store i32 0, ptr @lp_site store i32 6104, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str15065) 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 @.str15066) store ptr %t51, ptr %retval br label %ret ifend13: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str15067) %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 @.str15068) store ptr %t58, ptr %retval br label %ret ifend16: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str15069) %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 6105, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str15070, ptr %t64) store i32 0, ptr @lp_site store i32 6106, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str15071) 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 @.str15072) store ptr %t68, ptr %retval br label %ret ifend19: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str15073) %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 6107, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str15074, ptr %t74) store i32 0, ptr @lp_site store i32 6108, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str15075) 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 @.str15076) 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 6109, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str15077, ptr %t81) store i32 0, ptr @lp_site store i32 6110, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str15078) 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 @.str15079) 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 @.str15080) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str15081) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str15082) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 store i32 6111, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str15083, ptr %t8) store i32 0, ptr @lp_site store i32 6112, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str15085) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t3 store i32 6113, 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 6114, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str15086) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t5 store i32 6115, 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 6116, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str15087) store i32 0, ptr @lp_site call void @lp_free(ptr %t15) %t17 = load ptr, ptr %t7 store i32 6117, 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 6118, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str15088) 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 6119, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str15089, 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 @.str15090) %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 @.str15091) %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 @.str15092) %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 @.str15093) %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 @.str15094) %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 @.str15095) %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 @.str15096) %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 @.str15097) %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 @.str15098) %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 @.str15099) %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 @.str15100) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str15101, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str15102, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str15103, 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 6120, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str15104, ptr %t46) store i32 0, ptr @lp_site store i32 6121, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str15106) 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 6122, 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 6123, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str15107) 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 6124, 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 6125, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str15108) 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 @.str15109) store ptr %t60, ptr %retval br label %ret ifend2: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str15110) %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: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str15111, 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 @.str15112) store ptr %t81, ptr %retval br label %ret ifend11: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str15113) %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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str15114, 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 @.str15115) store ptr %t102, ptr %retval br label %ret ifend16: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str15116) %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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str15117, 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 @.str15118) store ptr %t123, ptr %retval br label %ret ifend21: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str15119) %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: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str15120, 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 6126, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str15121, ptr %t142) store i32 0, ptr @lp_site store i32 6127, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str15122) 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 6128, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str15123, ptr %t147) store i32 0, ptr @lp_site store i32 6129, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str15124) 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 6130, ptr @lp_site %t153 = call ptr @lp_str_concat(ptr @.str15125, ptr %t152) store i32 0, ptr @lp_site store i32 6131, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str15126) 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 6132, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr @.str15127, ptr %t157) store i32 0, ptr @lp_site store i32 6133, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str15128) 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 @.str15129) store ptr %t161, ptr %retval br label %ret ifend26: %t162 = load ptr, ptr %t0 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str15130) %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: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str15131, 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 6134, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr @.str15132, ptr %t180) store i32 0, ptr @lp_site store i32 6135, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str15133) 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 6136, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr @.str15134, ptr %t185) store i32 0, ptr @lp_site store i32 6137, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str15135) 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 6138, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr @.str15136, ptr %t192) store i32 0, ptr @lp_site store i32 6139, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str15137) 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 6140, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr @.str15138, ptr %t197) store i32 0, ptr @lp_site store i32 6141, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str15139) 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 6142, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr @.str15140, ptr %t204) store i32 0, ptr @lp_site store i32 6143, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str15141) 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 6144, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr @.str15142, ptr %t209) store i32 0, ptr @lp_site store i32 6145, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str15143) 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 6146, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr @.str15144, ptr %t214) store i32 0, ptr @lp_site store i32 6147, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str15145) store i32 0, ptr @lp_site call void @lp_free(ptr %t215) %t217 = load ptr, ptr %t201 store i32 6148, 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 6149, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr @.str15146, ptr %t221) store i32 0, ptr @lp_site store i32 6150, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str15147) store i32 0, ptr @lp_site call void @lp_free(ptr %t222) %t224 = load ptr, ptr %t213 store i32 6151, 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 6152, ptr @lp_site %t229 = call ptr @lp_str_concat(ptr @.str15148, ptr %t228) store i32 0, ptr @lp_site store i32 6153, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str15149) 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 @.str15150) store ptr %t232, ptr %retval br label %ret ifend31: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str15151) %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: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str15152, 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: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str15153, 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 6154, ptr @lp_site %t265 = call ptr @lp_str_concat(ptr @.str15154, ptr %t264) store i32 0, ptr @lp_site store i32 6155, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str15155) 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 6156, 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 6157, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str15156) 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 6158, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str15157, ptr %t276) store i32 0, ptr @lp_site store i32 6159, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str15158) 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 6160, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr @.str15159, ptr %t283) store i32 0, ptr @lp_site store i32 6161, ptr @lp_site %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str15160) 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 6162, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr @.str15161, ptr %t288) store i32 0, ptr @lp_site store i32 6163, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str15162) store i32 0, ptr @lp_site call void @lp_free(ptr %t289) %t291 = load ptr, ptr %t287 store i32 6164, 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 6165, ptr @lp_site %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str15163) 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 6166, 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 6167, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str15164, ptr %t302) store i32 0, ptr @lp_site store i32 6168, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str15165) 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 6169, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr @.str15166, ptr %t307) store i32 0, ptr @lp_site store i32 6170, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str15167) store i32 0, ptr @lp_site call void @lp_free(ptr %t308) %t310 = load ptr, ptr %t306 store i32 6171, 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 6172, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr @.str15168, ptr %t314) store i32 0, ptr @lp_site store i32 6173, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str15169) store i32 0, ptr @lp_site call void @lp_free(ptr %t315) %t317 = load ptr, ptr %t313 store i32 6174, 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 6175, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str15170) 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 6176, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr @.str15171, ptr %t322) store i32 0, ptr @lp_site store i32 6177, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr %t323, ptr @.str15172) store i32 0, ptr @lp_site call void @lp_free(ptr %t323) %t325 = load ptr, ptr %t273 store i32 6178, 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 @.str15173) store ptr %t328, ptr %retval br label %ret ifend36: %t329 = load ptr, ptr %t0 %t330 = call i32 @lp_str_eq(ptr %t329, ptr @.str15174) %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: %t340 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t340, ptr @.fmt_bounds, ptr @.str15175, 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 6179, ptr @lp_site %t348 = call ptr @lp_str_concat(ptr @.str15176, ptr %t347) store i32 0, ptr @lp_site store i32 6180, ptr @lp_site %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str15177) 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 @.str15178) store ptr %t351, ptr %retval br label %ret ifend43: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str15179) %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: %t363 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t363, ptr @.fmt_bounds, ptr @.str15180, 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: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str15181, 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 6181, ptr @lp_site %t384 = call ptr @lp_str_concat(ptr @.str15182, ptr %t383) store i32 0, ptr @lp_site store i32 6182, ptr @lp_site %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str15183) 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 6183, 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 @.str15184) 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: %t400 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str15185, 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: %t413 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t413, ptr @.fmt_bounds, ptr @.str15186, 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 6184, ptr @lp_site %t421 = call ptr @lp_str_concat(ptr @.str15187, ptr %t420) store i32 0, ptr @lp_site store i32 6185, ptr @lp_site %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str15188) 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 6186, 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 @.str15189) 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 6187, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str15190, ptr %t1) store i32 0, ptr @lp_site store i32 6188, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str15192) 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 6189, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str15193, ptr %t6) store i32 0, ptr @lp_site store i32 6190, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str15194) 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 6191, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str15195, ptr %t11) store i32 0, ptr @lp_site store i32 6192, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str15196) 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 6193, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str15197, ptr %t4) store i32 0, ptr @lp_site store i32 6194, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str15199) store i32 0, ptr @lp_site call void @lp_free(ptr %t5) %t7 = load ptr, ptr %t3 store i32 6195, 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 6196, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str15200, ptr %t11) store i32 0, ptr @lp_site store i32 6197, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str15201) 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 @.str15202) %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 @.str15203) %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 @.str15204) %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 @.str15205) %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 @.str15206) %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 @.str15207) %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 @.str15208) %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 @.str15209) %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 @.str15210) %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 @.str15211) %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 @.str15212) %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 @.str15213) %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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str15214, 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 @.str15215) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str15216, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str15217, 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 @.str15218) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_alloca(ptr @.str15219) store ptr %t55, ptr %t56 %t57 = call ptr @fn_emit_alloca(ptr @.str15220) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t52 store i32 6198, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str15221, ptr %t59) store i32 0, ptr @lp_site store i32 6199, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str15223) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t54 store i32 6200, 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 6201, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str15224) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t56 store i32 6202, 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 6203, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str15225) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = load ptr, ptr %t58 store i32 6204, 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 6205, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str15226) 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 6206, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str15227, 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 6207, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str15228, 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 6208, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr @.str15229, 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 6209, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str15230, ptr %t88) store i32 0, ptr @lp_site store i32 6210, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str15231) 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 6211, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr @.str15232, ptr %t93) store i32 0, ptr @lp_site store i32 6212, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str15233) 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 6213, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr @.str15234, ptr %t98) store i32 0, ptr @lp_site store i32 6214, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str15235) 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 6215, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr @.str15236, ptr %t103) store i32 0, ptr @lp_site store i32 6216, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str15237) 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 6217, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str15238, ptr %t108) store i32 0, ptr @lp_site store i32 6218, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str15239) 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 @.str15240) %t114 = call ptr @fn_val(ptr %t113, ptr @.str15241) 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 @.str15242, 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 @.str15243, 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 @.str15244, 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 @.str15245, 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 @.str15246, 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 @.str15247, 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 @.str15248, 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 @.str15250) %t194 = call ptr @fn_emit_str_op(ptr @.str15249, ptr %t190, ptr %t193) store ptr %t194, ptr %t115 br label %ifend38 ifend38: %t195 = load ptr, ptr %t124 store i32 6219, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr @.str15251, ptr %t195) store i32 0, ptr @lp_site store i32 6220, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str15252) store i32 0, ptr @lp_site call void @lp_free(ptr %t196) %t198 = load i32, ptr %t125 store i32 6221, ptr @lp_site %t199 = call ptr @lp_int_str(i32 %t198) store i32 0, ptr @lp_site store i32 6222, 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 6223, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str15253) 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 @.str15254) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t115 %t206 = load ptr, ptr %t204 %t207 = call ptr @fn_emit_str_op(ptr @.str15255, 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 @.str15257) %t226 = call ptr @fn_emit_str_op(ptr @.str15256, 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str15258, 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 @.str15259) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str15260, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str15261, 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 @.str15262) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str15263, ptr @.str15264, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str15265) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str15266, ptr @.str15267, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str15268) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str15269, ptr @.str15270, ptr %t56) %t57 = call ptr @fn_emit_alloca(ptr @.str15271) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 call void @fn_store_at(ptr @.str15272, ptr @.str15273, ptr %t59) %t60 = call ptr @fn_emit_alloca(ptr @.str15274) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 call void @fn_store_at(ptr @.str15275, ptr @.str15276, ptr %t62) %t63 = call ptr @fn_emit_alloca(ptr @.str15277) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 call void @fn_store_at(ptr @.str15278, ptr @.str15279, ptr %t65) %t66 = call ptr @fn_emit_alloca(ptr @.str15280) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 call void @fn_store_at(ptr @.str15281, ptr @.str15282, 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 @.str15283, 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 @.str15284, 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 @.str15285, 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 @.str15286, 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 @.str15287, 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 @.str15288, 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 6224, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr @.str15289, ptr %t125) store i32 0, ptr @lp_site store i32 6225, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str15291) 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 6226, 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 6227, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str15292) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load i32, ptr %t77 store i32 6228, ptr @lp_site %t133 = call ptr @lp_int_str(i32 %t132) store i32 0, ptr @lp_site store i32 6229, 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 6230, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str15293) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t49 store i32 6231, 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 6232, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str15294) 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 @.str15295, 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 6233, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr @.str15296, 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 6234, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str15297, 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 6235, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr @.str15298, 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 6236, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr @.str15299, 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 6237, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str15300, 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 6238, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr @.str15301, 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 6239, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str15302, ptr %t173) store i32 0, ptr @lp_site store i32 6240, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str15303) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t156 store i32 6241, 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 6242, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str15304) store i32 0, ptr @lp_site call void @lp_free(ptr %t177) %t179 = load ptr, ptr %t160 store i32 6243, 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 6244, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str15305) 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 6245, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str15306, ptr %t184) store i32 0, ptr @lp_site store i32 6246, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str15307) 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 6247, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str15308, ptr %t189) store i32 0, ptr @lp_site store i32 6248, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str15309) 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 6249, ptr @lp_site %t195 = call ptr @lp_str_concat(ptr @.str15310, ptr %t194) store i32 0, ptr @lp_site store i32 6250, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str15311) 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 6251, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str15312, ptr %t199) store i32 0, ptr @lp_site store i32 6252, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str15313) store i32 0, ptr @lp_site call void @lp_free(ptr %t200) %t202 = load ptr, ptr %t193 store i32 6253, 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 6254, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr @.str15314, ptr %t206) store i32 0, ptr @lp_site store i32 6255, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str15315) store i32 0, ptr @lp_site call void @lp_free(ptr %t207) %t209 = load ptr, ptr %t198 store i32 6256, 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 6257, ptr @lp_site %t214 = call ptr @lp_str_concat(ptr @.str15316, ptr %t213) store i32 0, ptr @lp_site store i32 6258, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str15317) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) %t216 = load ptr, ptr %t172 store i32 6259, 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 6260, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr @.str15318, 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 6261, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr @.str15319, ptr %t224) store i32 0, ptr @lp_site store i32 6262, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str15320) 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 6263, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str15321, ptr %t229) store i32 0, ptr @lp_site store i32 6264, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str15322) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t219 store i32 6265, 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 @.str15323) 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 @.str15324) %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 @.str15325) %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 @.str15326) %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str15327, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str15328, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str15329, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str15330, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str15331, 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: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str15332, 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 6266, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str15333, ptr %t95) store i32 0, ptr @lp_site store i32 6267, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str15335) 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 6268, 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 6269, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str15336) 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 6270, 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 6271, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str15337) 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 6272, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str15338, ptr %t110) store i32 0, ptr @lp_site store i32 6273, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str15339) 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 6274, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str15340, ptr %t117) store i32 0, ptr @lp_site store i32 6275, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str15341) 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 6276, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr @.str15342, ptr %t124) store i32 0, ptr @lp_site store i32 6277, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str15343) 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 6278, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str15344, ptr %t129) store i32 0, ptr @lp_site store i32 6279, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str15345) store i32 0, ptr @lp_site call void @lp_free(ptr %t130) %t132 = load ptr, ptr %t121 store i32 6280, 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 6281, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr @.str15346, ptr %t136) store i32 0, ptr @lp_site store i32 6282, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str15347) store i32 0, ptr @lp_site call void @lp_free(ptr %t137) %t139 = load ptr, ptr %t128 store i32 6283, 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 6284, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr @.str15348, ptr %t143) store i32 0, ptr @lp_site store i32 6285, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str15349) 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 6286, 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 @.str15350) store ptr %t151, ptr %retval br label %ret ifend8: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str15351) %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: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str15352, 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 @.str15353) store ptr %t172, ptr %retval br label %ret ifend23: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str15354) %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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str15355, 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: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str15356, 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 6287, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr @.str15357, ptr %t204) store i32 0, ptr @lp_site store i32 6288, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str15358) 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 6289, 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 @.str15359) store ptr %t212, ptr %retval br label %ret ifend28: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str15360) %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: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str15361, 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 @.str15362) store ptr %t234, ptr %retval br label %ret ifend35: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str15363) %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: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str15364, 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 @.str15365) store ptr %t256, ptr %retval br label %ret ifend40: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str15366) %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: %t268 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str15367, 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 @.str15368) store ptr %t278, ptr %retval br label %ret ifend45: %t279 = load ptr, ptr %t0 %t280 = call i32 @lp_str_eq(ptr %t279, ptr @.str15369) %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: %t290 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t290, ptr @.fmt_bounds, ptr @.str15370, 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 6290, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str15371, ptr %t300) store i32 0, ptr @lp_site store i32 6291, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str15372) 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 6292, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr @.str15373, ptr %t305) store i32 0, ptr @lp_site store i32 6293, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str15374) 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 6294, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr @.str15375, ptr %t310) store i32 0, ptr @lp_site store i32 6295, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str15376) 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 6296, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr @.str15377, ptr %t315) store i32 0, ptr @lp_site store i32 6297, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str15378) 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 @.str15379) store ptr %t319, ptr %retval br label %ret ifend50: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str15380) %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: %t331 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t331, ptr @.fmt_bounds, ptr @.str15381, 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 6298, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str15382, ptr %t341) store i32 0, ptr @lp_site store i32 6299, ptr @lp_site %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str15383) 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 @.str15384) store ptr %t345, ptr %retval br label %ret ifend55: %t346 = load ptr, ptr %t0 %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str15385) %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: %t357 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t357, ptr @.fmt_bounds, ptr @.str15386, 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 6300, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr @.str15387, ptr %t367) store i32 0, ptr @lp_site store i32 6301, ptr @lp_site %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str15388) 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 6302, ptr @lp_site %t373 = call ptr @lp_str_concat(ptr @.str15389, ptr %t372) store i32 0, ptr @lp_site store i32 6303, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str15390) 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 @.str15391) 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: %t385 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str15392, 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 6304, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr @.str15393, ptr %t395) store i32 0, ptr @lp_site store i32 6305, ptr @lp_site %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str15394) 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 @.str15395) 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 @.str15396) call void @fn_emith(ptr @.str15397) call void @fn_emith(ptr @.str15398) call void @fn_emith(ptr @.str15399) call void @fn_emith(ptr @.str15400) call void @fn_emith(ptr @.str15401) call void @fn_emith(ptr @.str15402) call void @fn_emith(ptr @.str15403) call void @fn_emith(ptr @.str15404) call void @fn_emith(ptr @.str15405) call void @fn_emith(ptr @.str15406) call void @fn_emith(ptr @.str15407) call void @fn_emith(ptr @.str15408) call void @fn_emith(ptr @.str15409) call void @fn_emith(ptr @.str15410) call void @fn_emith(ptr @.str15411) call void @fn_emith(ptr @.str15412) call void @fn_emith(ptr @.str15413) call void @fn_emith(ptr @.str15414) call void @fn_emith(ptr @.str15415) call void @fn_emith(ptr @.str15416) call void @fn_emith(ptr @.str15417) call void @fn_emith(ptr @.str15418) call void @fn_emith(ptr @.str15419) call void @fn_emith(ptr @.str15420) call void @fn_emith(ptr @.str15421) call void @fn_emith(ptr @.str15422) call void @fn_emith(ptr @.str15423) call void @fn_emith(ptr @.str15424) call void @fn_emith(ptr @.str15425) call void @fn_emith(ptr @.str15426) call void @fn_emith(ptr @.str15427) call void @fn_emith(ptr @.str15428) call void @fn_emith(ptr @.str15429) call void @fn_emith(ptr @.str15430) call void @fn_emith(ptr @.str15431) call void @fn_emith(ptr @.str15432) call void @fn_emith(ptr @.str15433) call void @fn_emith(ptr @.str15434) call void @fn_emith(ptr @.str15435) call void @fn_emith(ptr @.str15436) call void @fn_emith(ptr @.str15437) call void @fn_emith(ptr @.str15438) call void @fn_emith(ptr @.str15439) call void @fn_emith(ptr @.str15440) call void @fn_emith(ptr @.str15441) call void @fn_emith(ptr @.str15442) call void @fn_emith(ptr @.str15443) call void @fn_emith(ptr @.str15444) call void @fn_emith(ptr @.str15445) call void @fn_emith(ptr @.str15446) call void @fn_emith(ptr @.str15447) call void @fn_emith(ptr @.str15448) call void @fn_emith(ptr @.str15449) call void @fn_emith(ptr @.str15450) call void @fn_emith(ptr @.str15451) call void @fn_emith(ptr @.str15452) call void @fn_emith(ptr @.str15453) call void @fn_emith(ptr @.str15454) call void @fn_emith(ptr @.str15455) call void @fn_emith(ptr @.str15456) call void @fn_emith(ptr @.str15457) call void @fn_emith(ptr @.str15458) call void @fn_emith(ptr @.str15459) call void @fn_emith(ptr @.str15460) call void @fn_emith(ptr @.str15461) call void @fn_emith(ptr @.str15462) call void @fn_emith(ptr @.str15463) call void @fn_emith(ptr @.str15464) call void @fn_emith(ptr @.str15465) call void @fn_emith(ptr @.str15466) call void @fn_emith(ptr @.str15467) call void @fn_emith(ptr @.str15468) call void @fn_emith(ptr @.str15469) call void @fn_emith(ptr @.str15470) call void @fn_emith(ptr @.str15471) call void @fn_emith(ptr @.str15472) call void @fn_emith(ptr @.str15473) call void @fn_emith(ptr @.str15474) call void @fn_emith(ptr @.str15475) call void @fn_emith(ptr @.str15476) call void @fn_emith(ptr @.str15477) call void @fn_emith(ptr @.str15478) call void @fn_emith(ptr @.str15479) call void @fn_emith(ptr @.str15480) call void @fn_emith(ptr @.str15481) call void @fn_emith(ptr @.str15482) call void @fn_emith(ptr @.str15483) call void @fn_emith(ptr @.str15484) call void @fn_emith(ptr @.str15485) call void @fn_emith(ptr @.str15486) call void @fn_emith(ptr @.str15487) call void @fn_emith(ptr @.str15488) call void @fn_emith(ptr @.str15489) call void @fn_emith(ptr @.str15490) call void @fn_emith(ptr @.str15491) call void @fn_emith(ptr @.str15492) call void @fn_emith(ptr @.str15493) 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 @.str15494) %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 @.str15495) %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 @.str15496) %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 @.str15497) %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 @.str15498) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str15499) %t6 = call ptr @fn_val(ptr %t5, ptr @.str15500) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str15501) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str15502) %t10 = call ptr @fn_val(ptr @.str15503, ptr @.str15504) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str15505) %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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str15506, 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 6306, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str15507, ptr %t29) store i32 0, ptr @lp_site store i32 6307, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str15509) store i32 0, ptr @lp_site call void @lp_free(ptr %t30) call void @fn_emit(ptr %t31) %t32 = call ptr @fn_val(ptr @.str15510, ptr @.str15511) 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str15512, 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 @.str15513) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 store i32 6308, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str15514, ptr %t48) store i32 0, ptr @lp_site store i32 6309, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str15515) 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 6310, 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 6311, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str15516, ptr %t57) store i32 0, ptr @lp_site store i32 6312, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str15517) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) call void @fn_emit(ptr %t59) %t60 = call ptr @fn_val(ptr @.str15518, ptr @.str15519) 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 @.str15520) %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 @.str15521) %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 @.str15522) %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 @.str15523) %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 @.str15524) %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 @.str15525) %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 6313, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str15526, ptr %t2) store i32 0, ptr @lp_site store i32 6314, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str15528) store i32 0, ptr @lp_site call void @lp_free(ptr %t3) %t5 = load ptr, ptr %t1 store i32 6315, 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 6316, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str15529, ptr %t9) store i32 0, ptr @lp_site store i32 6317, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str15530) 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 6318, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str15531, ptr %t3) store i32 0, ptr @lp_site store i32 6319, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str15533) 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 6320, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str15534, ptr %t8) store i32 0, ptr @lp_site store i32 6321, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str15535) 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 6322, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str15536, ptr %t13) store i32 0, ptr @lp_site store i32 6323, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str15537) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t12 store i32 6324, 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 6325, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str15538, ptr %t20) store i32 0, ptr @lp_site store i32 6326, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str15539) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t2 store i32 6327, 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 6328, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str15540, ptr %t3) store i32 0, ptr @lp_site store i32 6329, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str15542) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 6330, 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 6331, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str15543, ptr %t10) store i32 0, ptr @lp_site store i32 6332, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str15544) store i32 0, ptr @lp_site call void @lp_free(ptr %t11) %t13 = load ptr, ptr %t2 store i32 6333, 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 6334, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str15545, ptr %t17) store i32 0, ptr @lp_site store i32 6335, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str15546) 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 6336, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str15547, ptr %t22) store i32 0, ptr @lp_site store i32 6337, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str15548) store i32 0, ptr @lp_site call void @lp_free(ptr %t23) %t25 = load ptr, ptr %t21 store i32 6338, 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 @.str15549) %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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str15550, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str15551, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str15552, 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 @.str15553) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str15554) %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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str15555, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str15556, 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str15557, 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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str15558, 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 6339, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr @.str15559, ptr %t123) store i32 0, ptr @lp_site store i32 6340, ptr @lp_site %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str15561) 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 6341, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str15562, ptr %t128) store i32 0, ptr @lp_site store i32 6342, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str15563) store i32 0, ptr @lp_site call void @lp_free(ptr %t129) %t131 = load ptr, ptr %t127 store i32 6343, 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 @.str15564) store ptr %t134, ptr %retval br label %ret ifend11: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str15565) %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: %t146 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str15566, 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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str15567, 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 6344, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr @.str15568, ptr %t166) store i32 0, ptr @lp_site store i32 6345, ptr @lp_site %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str15569) 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 6346, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str15570, ptr %t173) store i32 0, ptr @lp_site store i32 6347, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str15571) 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 6348, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr @.str15572, ptr %t178) store i32 0, ptr @lp_site store i32 6349, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str15573) store i32 0, ptr @lp_site call void @lp_free(ptr %t179) %t181 = load ptr, ptr %t177 store i32 6350, 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 @.str15574) store ptr %t184, ptr %retval br label %ret ifend22: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str15575) %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: %t196 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str15576, 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: %t209 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str15577, 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: %t222 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str15578, 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 @.str15579) %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 @.str15580) %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 @.str15581) %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 @.str15582) %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 @.str15583) %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 @.str15584) %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 @.str15585) store ptr %t270, ptr %retval br label %ret ifend29: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str15586) %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: %t282 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str15587, 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: %t295 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str15588, 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 6351, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str15589, 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 @.str15590) 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 @.str15591) 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 @.str15592) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t310 store i32 6352, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr @.str15593, ptr %t321) store i32 0, ptr @lp_site store i32 6353, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str15594) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) %t324 = load ptr, ptr %t305 store i32 6354, 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 6355, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str15595, ptr %t328) store i32 0, ptr @lp_site store i32 6356, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str15596) 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 6357, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr @.str15597, ptr %t333) store i32 0, ptr @lp_site store i32 6358, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str15598) store i32 0, ptr @lp_site call void @lp_free(ptr %t334) %t336 = load ptr, ptr %t305 store i32 6359, 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 6360, ptr @lp_site %t341 = call ptr @lp_str_concat(ptr @.str15599, ptr %t340) store i32 0, ptr @lp_site store i32 6361, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str15600) 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 6362, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr @.str15601, ptr %t345) store i32 0, ptr @lp_site store i32 6363, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str15602) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) %t348 = load ptr, ptr %t305 store i32 6364, 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 6365, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr @.str15603, ptr %t352) store i32 0, ptr @lp_site store i32 6366, ptr @lp_site %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str15604) 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 @.str15605) 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: %t370 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t370, ptr @.fmt_bounds, ptr @.str15606, 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: %t383 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str15607, 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 @.str15608) 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 @.str15609) 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 @.str15610) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t392 store i32 6367, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr @.str15611, 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 6368, ptr @lp_site %t408 = call ptr @lp_str_concat(ptr @.str15612, ptr %t407) store i32 0, ptr @lp_site store i32 6369, ptr @lp_site %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str15613) 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 6370, 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 6371, ptr @lp_site %t417 = call ptr @lp_str_concat(ptr @.str15614, ptr %t416) store i32 0, ptr @lp_site store i32 6372, ptr @lp_site %t418 = call ptr @lp_str_concat(ptr %t417, ptr @.str15615) 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 6373, ptr @lp_site %t422 = call ptr @lp_str_concat(ptr @.str15616, ptr %t421) store i32 0, ptr @lp_site store i32 6374, ptr @lp_site %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str15617) store i32 0, ptr @lp_site call void @lp_free(ptr %t422) %t424 = load ptr, ptr %t420 store i32 6375, 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 6376, ptr @lp_site %t429 = call ptr @lp_str_concat(ptr @.str15618, 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 6377, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr @.str15619, ptr %t432) store i32 0, ptr @lp_site store i32 6378, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr %t433, ptr @.str15620) 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 6379, 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 6380, ptr @lp_site %t442 = call ptr @lp_str_concat(ptr @.str15621, ptr %t441) store i32 0, ptr @lp_site store i32 6381, ptr @lp_site %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str15622) 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 6382, ptr @lp_site %t447 = call ptr @lp_str_concat(ptr @.str15623, ptr %t446) store i32 0, ptr @lp_site store i32 6383, ptr @lp_site %t448 = call ptr @lp_str_concat(ptr %t447, ptr @.str15624) store i32 0, ptr @lp_site call void @lp_free(ptr %t447) %t449 = load ptr, ptr %t445 store i32 6384, 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 6385, ptr @lp_site %t454 = call ptr @lp_str_concat(ptr @.str15625, 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 6386, ptr @lp_site %t458 = call ptr @lp_str_concat(ptr @.str15626, ptr %t457) store i32 0, ptr @lp_site store i32 6387, ptr @lp_site %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str15627) 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 6388, 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 6389, ptr @lp_site %t467 = call ptr @lp_str_concat(ptr @.str15628, ptr %t466) store i32 0, ptr @lp_site store i32 6390, ptr @lp_site %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str15629) 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 6391, ptr @lp_site %t472 = call ptr @lp_str_concat(ptr @.str15630, ptr %t471) store i32 0, ptr @lp_site store i32 6392, ptr @lp_site %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str15631) store i32 0, ptr @lp_site call void @lp_free(ptr %t472) %t474 = load ptr, ptr %t470 store i32 6393, 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 @.str15632) 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 @.str15633) %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 @.str15634) %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 @.str15635) %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 @.str15636) %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 @.str15637) %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 @.str15638) %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 @.str15639) %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 @.str15640) %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 @.str15641) %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 @.str15642) %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 @.str15643) %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 @.str15644) %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 @.str15645) %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 @.str15646) %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 @.str15647) %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 @.str15648) %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 @.str15649) %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 @.str15650) %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 @.str15651) %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 @.str15652) %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 @.str15653) %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 @.str15654) %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 @.str15655) %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 @.str15656) %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 @.str15657) %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 @.str15658) %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 @.str15659) %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 @.str15660) %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 @.str15661) %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 @.str15662) %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 @.str15663) %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 @.str15664) %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 @.str15665) %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 @.str15666) %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 @.str15667) %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 @.str15668) %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 @.str15669) %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 @.str15670) %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 @.str15671) %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 @.str15672) %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 @.str15673) %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 @.str15674) %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 @.str15675) %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 @.str15676) %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 @.str15677) %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 @.str15678) %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 @.str15679) %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 @.str15680) %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 @.str15681) %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 @.str15682) %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 @.str15683) %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 @.str15684) %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 @.str15685) %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 @.str15686) %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 @.str15687) %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 @.str15688) %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 @.str15689) %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 @.str15690) %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 @.str15691) %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 @.str15692) %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 @.str15693) %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 @.str15694) %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 @.str15695) %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 @.str15696) %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 @.str15697) %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 @.str15698) %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 @.str15699) %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 @.str15700) %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 @.str15701) %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 @.str15702) %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 @.str15703) %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 @.str15704) %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 @.str15705) %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 @.str15706) %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 @.str15707) %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 @.str15708) %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 @.str15709) %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 @.str15710) %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 @.str15711) %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 @.str15712) %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 @.str15713) %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 @.str15714) %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 @.str15715) %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 @.str15716) %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 @.str15717) %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 @.str15718) %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 @.str15719) %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 @.str15720) %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 @.str15721) %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 @.str15722) %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 @.str15723) %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 @.str15724) %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 @.str15725) %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 @.str15726) %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 @.str15727) %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 @.str15728) %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 @.str15729) %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 @.str15730) %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 @.str15731) %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 @.str15732) %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 @.str15733) %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 @.str15734) %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 @.str15735) %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 @.str15736) %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 @.str15737) %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 @.str15738) %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 @.str15739) %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 @.str15740) %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 @.str15741) %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 @.str15742) %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 @.str15743) %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 @.str15744) %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 @.str15745) %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 @.str15746) %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 @.str15747) %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 @.str15748) %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 @.str15749) %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 @.str15750) %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 @.str15751) %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 @.str15752) %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 @.str15753) %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 @.str15754) %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 @.str15755) %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 @.str15756) %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 @.str15757) %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 @.str15758) %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 @.str15759) %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 @.str15760) %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 @.str15761) %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 @.str15762) %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 @.str15763) %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 @.str15764) %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 @.str15765) %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 @.str15766) %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 @.str15767) %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 @.str15768) %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 @.str15769) %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 @.str15770) %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 @.str15771) %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 @.str15772) %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 @.str15773) %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 @.str15774) %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 @.str15775) %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 @.str15776) %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 @.str15777) %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 @.str15778) %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 @.str15779) %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 @.str15780) %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 @.str15781) %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 @.str15782) %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 @.str15783) %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 @.str15784) %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 @.str15785) %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 @.str15786) %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 @.str15787) %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 @.str15788) %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 @.str15789) %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 @.str15790) %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 @.str15791) %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 @.str15792) %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 @.str15793) %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 @.str15794) %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 @.str15795) %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 @.str15796) %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 @.str15797) %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 @.str15798) %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 @.str15799) %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 @.str15800) %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 @.str15801) %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 @.str15802) %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 @.str15803) %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 @.str15804) %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 @.str15805) %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 @.str15806) %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 @.str15807) %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 @.str15808) %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 @.str15809) %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 @.str15810) %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 @.str15811) %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 @.str15812) %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 @.str15813) %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 @.str15814) %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 @.str15815) %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 @.str15816) %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 @.str15817) %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 @.str15818) %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 @.str15819) %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 @.str15820) %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 @.str15821) %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 @.str15822) %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 @.str15823) %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 @.str15824) %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 @.str15825) %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 @.str15826) %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 @.str15827) %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 @.str15828) %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 @.str15829) %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 @.str15830) %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 @.str15831) %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 @.str15832) %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 @.str15833) %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 @.str15834) %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 @.str15835) %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 @.str15836) %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 @.str15837) %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 @.str15838) %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 @.str15839) %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 @.str15840) %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 @.str15841) %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 @.str15842) %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 @.str15843) %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 @.str15844) %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 @.str15845) %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 @.str15846) %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 @.str15847) %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 @.str15848) %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 @.str15849) %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 @.str15850) %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 @.str15851) %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 @.str15852) %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 @.str15853) %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 @.str15854) %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 @.str15855) %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 @.str15856) %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 @.str15857) %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 @.str15858) %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 @.str15859) %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 @.str15860) %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 @.str15861) %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 @.str15862) %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 @.str15863) %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 @.str15864) %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 @.str15865) %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 @.str15866) %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 @.str15867) %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 @.str15868) %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 @.str15869) %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 @.str15870) %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 @.str15871) %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 @.str15872) %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 @.str15873) %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 @.str15874) %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 @.str15875) %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 @.str15876) %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 @.str15877) %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 @.str15878) %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 @.str15879) %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 @.str15880) %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 @.str15881) %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 @.str15882) %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 @.str15883) %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 @.str15884) %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 @.str15885) %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 @.str15886) %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 @.str15887) %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 @.str15888) %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 @.str15889) %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 @.str15890) %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 @.str15891) %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 @.str15892) %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 @.str15893) %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 @.str15894) %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 @.str15895) %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 @.str15896) %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 @.str15897) %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 @.str15898) %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 @.str15899) %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 @.str15900) %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 @.str15901) %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 @.str15902) %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 @.str15903) %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 @.str15904) %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 @.str15905) %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 @.str15906) %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 @.str15907) %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 @.str15908) %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 @.str15909) %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 6394, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str15910, ptr %t1) store i32 0, ptr @lp_site store i32 6395, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str15912) 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 6396, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str15913, ptr %t6) store i32 0, ptr @lp_site store i32 6397, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str15914) 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str15915, 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 6398, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str15916) store i32 0, ptr @lp_site %t22 = load ptr, ptr %t0 store i32 6399, 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 6400, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str15918) 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 6401, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr @.str15919, ptr %t29) store i32 0, ptr @lp_site store i32 6402, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str15920) 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 @.str15921, 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 6403, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str15922, ptr %t49) store i32 0, ptr @lp_site store ptr %t50, ptr @g_g_site_next %t51 = load ptr, ptr %t39 store i32 6404, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str15923, ptr %t51) store i32 0, ptr @lp_site store i32 6405, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str15924) 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: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str15925, 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 @.str15926) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str15927) %t81 = load ptr, ptr %t36 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str15928) %t82 = load ptr, ptr %t40 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str15929) %t83 = load i32, ptr %t55 %t84 = call ptr @fn_itoa(i32 %t83) call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str15930) %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 @.str15931) %t127 = load ptr, ptr %t89 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str15932) %t128 = load ptr, ptr %t92 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str15933) %t129 = load ptr, ptr %t79 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str15934) %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 @.str15935) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 store i32 6406, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str15936, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr @g_g_site_next %t5 = load ptr, ptr %t2 store i32 6407, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str15938, ptr %t5) store i32 0, ptr @lp_site store i32 6408, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str15939) 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 @.str15940) %t12 = load ptr, ptr %t11 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str15941) %t13 = load ptr, ptr %t9 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str15942) call void @fn_emit(ptr @.str15943) %t14 = load ptr, ptr %t11 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str15944) %t15 = call ptr @fn_nreg() store ptr %t15, ptr %t16 call void @fn_emit(ptr @.str15945) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str15946) %t18 = load ptr, ptr %t9 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str15947) call void @fn_emit(ptr @.str15948) %t19 = load ptr, ptr %t16 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str15949) %t20 = call ptr @fn_nreg() store ptr %t20, ptr %t21 call void @fn_emit(ptr @.str15950) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str15951) %t23 = load ptr, ptr %t9 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str15952) call void @fn_emit(ptr @.str15953) %t24 = load ptr, ptr %t21 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str15954) %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 6409, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str15955, 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 6410, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str15957, ptr %t12) store i32 0, ptr @lp_site store i32 6411, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str15958) 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 6412, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str15959, ptr %t17) store i32 0, ptr @lp_site store i32 6413, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str15960) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t9 store i32 6414, 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 6415, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str15961) 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 6416, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str15962, ptr %t25) store i32 0, ptr @lp_site store i32 6417, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str15963) 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 6418, 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 6419, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str15964) 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 6420, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str15965, ptr %t36) store i32 0, ptr @lp_site store i32 6421, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str15966) 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 6422, 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 6423, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str15967) 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 6424, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str15968, ptr %t47) store i32 0, ptr @lp_site store i32 6425, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str15969) 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 6426, 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 6427, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str15970) 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str15971, 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 6428, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr @.str15972, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str15974, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str15975, 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 6429, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str15976, 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 6430, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str15977, ptr %t65) store i32 0, ptr @lp_site store i32 6431, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str15978) 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 6432, 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 6433, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str15979, ptr %t74) store i32 0, ptr @lp_site store i32 6434, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str15980) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t62 store i32 6435, 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 6436, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str15981, ptr %t83) store i32 0, ptr @lp_site store i32 6437, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str15982) 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 6438, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str15983, ptr %t90) store i32 0, ptr @lp_site store i32 6439, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str15984) 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 6440, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str15985, ptr %t95) store i32 0, ptr @lp_site store i32 6441, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str15986) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t87 store i32 6442, 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 6443, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str15987, ptr %t102) store i32 0, ptr @lp_site store i32 6444, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str15988) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t94 store i32 6445, 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 @.str15989) store ptr %t109, ptr %t110 %t111 = call ptr @fn_lbl(ptr @.str15990) store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t108 store i32 6446, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr @.str15991, ptr %t113) store i32 0, ptr @lp_site store i32 6447, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str15992) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) %t116 = load ptr, ptr %t110 store i32 6448, 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 6449, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str15993) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = load ptr, ptr %t112 store i32 6450, 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 6451, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str15994) 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 6452, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str15995) 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 6453, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str15996) 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 6454, 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 6455, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str15997) 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 6456, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str15998, ptr %t138) store i32 0, ptr @lp_site store i32 6457, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str15999) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t134 store i32 6458, 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 6459, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str16000) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t73 store i32 6460, 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 6461, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str16001) store i32 0, ptr @lp_site call void @lp_free(ptr %t145) %t147 = load ptr, ptr %t62 store i32 6462, 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 6463, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str16002) store i32 0, ptr @lp_site call void @lp_free(ptr %t148) call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str16003) %t150 = load ptr, ptr %t110 store i32 6464, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str16004) 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 6465, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str16005, 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 6466, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str16006, ptr %t160) store i32 0, ptr @lp_site store i32 6467, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str16007) store i32 0, ptr @lp_site call void @lp_free(ptr %t161) %t163 = load ptr, ptr %t158 store i32 6468, 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 6469, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str16008) 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 6470, 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 6471, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str16009, ptr %t177) store i32 0, ptr @lp_site store i32 6472, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str16010) 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 6473, 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 6474, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str16011) 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 6475, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr @.str16012, ptr %t188) store i32 0, ptr @lp_site store i32 6476, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str16013) 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 6477, 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 6478, ptr @lp_site %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str16014) 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 6479, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str16015, ptr %t199) store i32 0, ptr @lp_site store i32 6480, ptr @lp_site %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str16016) 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 6481, 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 6482, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str16017) 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 6483, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str16018, ptr %t12) store i32 0, ptr @lp_site %t14 = call ptr @fn_emit_bind(ptr %t13) %t15 = call ptr @fn_val(ptr %t14, ptr @.str16020) 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 @.str16021) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str16022) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str16023) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str16024) %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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str16025, 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 6484, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str16026, ptr %t24) store i32 0, ptr @lp_site %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str16028) 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 6485, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str16029, ptr %t30) store i32 0, ptr @lp_site store i32 6486, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str16030) 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 6487, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str16031, ptr %t35) store i32 0, ptr @lp_site store i32 6488, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str16032) 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 @.str16033) 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str16034, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str16035, 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: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str16036, 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 @.str16037, ptr @.str16038) 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 @.str16039) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str16040, 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 6489, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str16041, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str16043, 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 6490, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str16044, ptr %t76) store i32 0, ptr @lp_site store i32 6491, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str16045) 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 6492, 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 6493, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str16046, 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 6494, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str16048, 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 6495, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str16049, ptr %t20) store i32 0, ptr @lp_site store i32 6496, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str16050) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t19 store i32 6497, 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 @.str16051) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str16052) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str16053) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str16054) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str16055) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str16056) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str16057) %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 6498, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str16058, ptr %t39) store i32 0, ptr @lp_site store i32 6499, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str16059) 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 6500, 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 @.str16060) store ptr %t50, ptr %t51 %t52 = call ptr @fn_lbl(ptr @.str16061) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t46 store i32 6501, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str16062, ptr %t54) store i32 0, ptr @lp_site store i32 6502, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str16063) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t51 store i32 6503, 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 6504, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str16064) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t53 store i32 6505, 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 6506, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str16065) 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 6507, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str16066) store i32 0, ptr @lp_site call void @fn_emit(ptr %t64) %t65 = load ptr, ptr %t49 store i32 6508, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str16067, ptr %t65) store i32 0, ptr @lp_site store i32 6509, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str16068) 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 6510, 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 6511, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str16069) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t15 store i32 6512, 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 6513, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str16070) 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 6514, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str16071, ptr %t75) store i32 0, ptr @lp_site store i32 6515, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str16072) 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 6516, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str16073) 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 6517, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str16074, ptr %t80) store i32 0, ptr @lp_site store i32 6518, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str16075) 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 6519, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str16076, ptr %t85) store i32 0, ptr @lp_site store i32 6520, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str16077) 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 6521, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str16078, ptr %t90) store i32 0, ptr @lp_site store i32 6522, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str16079) store i32 0, ptr @lp_site call void @lp_free(ptr %t91) %t93 = load ptr, ptr %t84 store i32 6523, 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 6524, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str16080, ptr %t100) store i32 0, ptr @lp_site store i32 6525, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str16081) 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 6526, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr @.str16082, ptr %t105) store i32 0, ptr @lp_site store i32 6527, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str16083) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t99 store i32 6528, 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 6529, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str16084, 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 6530, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str16085, ptr %t116) store i32 0, ptr @lp_site store i32 6531, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str16086) store i32 0, ptr @lp_site call void @lp_free(ptr %t117) %t119 = load ptr, ptr %t111 store i32 6532, 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 6533, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str16087) 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 @.str16088) %t124 = load ptr, ptr %t123 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str16089) %t125 = load ptr, ptr %t11 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str16090) call void @fn_emit(ptr @.str16091) %t126 = load ptr, ptr %t96 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str16092) %t127 = load ptr, ptr %t8 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str16093) call void @fn_emit(ptr @.str16094) %t128 = load ptr, ptr %t30 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str16095) %t129 = load ptr, ptr %t30 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str16096) %t130 = load ptr, ptr %t11 store i32 6534, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str16097, 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 @.str16098) %t136 = load ptr, ptr %t135 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str16099) %t137 = load ptr, ptr %t1 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str16100) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str16101) %t139 = load ptr, ptr %t15 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str16102) call void @fn_emit(ptr @.str16103) %t140 = load ptr, ptr %t1 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str16104) %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 @.str16105) %t144 = load ptr, ptr %t135 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str16106) %t145 = load ptr, ptr %t15 store i32 6535, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr @.str16107, ptr %t145) store i32 0, ptr @lp_site store i32 6536, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str16108) 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 @.str16109) %t150 = load ptr, ptr %t149 call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str16110) %t151 = load ptr, ptr %t5 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str16111) 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str16112, 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 @.str16114) store i32 6537, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str16113, ptr %t57) store i32 0, ptr @lp_site store i32 6538, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str16116) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t1 store i32 6539, 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 6540, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str16117) 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 @.str16118) %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 6541, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str16119, ptr %t15) store i32 0, ptr @lp_site store i32 6542, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str16121) 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 6543, 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 @.str16122) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 store i32 6544, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str16123, ptr %t25) store i32 0, ptr @lp_site store i32 6545, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str16124) 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 6546, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str16125, ptr %t30) store i32 0, ptr @lp_site store i32 6547, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str16126) 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 6548, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str16127, 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 6549, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str16128, ptr %t39) store i32 0, ptr @lp_site store i32 6550, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str16129) 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 @.str16130) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str16131) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str16132) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 store i32 6551, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str16133, ptr %t50) store i32 0, ptr @lp_site store i32 6552, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str16134) store i32 0, ptr @lp_site call void @lp_free(ptr %t51) %t53 = load ptr, ptr %t45 store i32 6553, 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 6554, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str16135) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t47 store i32 6555, 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 6556, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str16136) 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 6557, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str16137) 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 6558, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str16138, ptr %t63) store i32 0, ptr @lp_site store i32 6559, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str16139) 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 6560, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr @.str16140, 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 6561, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str16141, ptr %t72) store i32 0, ptr @lp_site store i32 6562, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str16142) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr %t24 store i32 6563, 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 6564, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str16143) 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 6565, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str16144, ptr %t78) store i32 0, ptr @lp_site store i32 6566, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str16145) 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 6567, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str16146) 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 6568, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str16147, ptr %t85) store i32 0, ptr @lp_site store i32 6569, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str16148) 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 6570, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str16149, 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 @.str16150) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 store i32 6571, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str16151, ptr %t96) store i32 0, ptr @lp_site store i32 6572, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str16152) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t95 store i32 6573, 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 6574, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str16153) 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 @.str16154, ptr %t104, ptr @.str16155) %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 6575, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr @.str16156, ptr %t114) store i32 0, ptr @lp_site store i32 6576, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str16157) 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 6577, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str16158) 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 6578, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str16159, ptr %t119) store i32 0, ptr @lp_site %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str16160) 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 6579, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str16161, ptr %t3) store i32 0, ptr @lp_site store i32 6580, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str16163) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 6581, 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 @.str16164) 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 6582, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str16165, ptr %t10) store i32 0, ptr @lp_site store i32 6583, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str16167) 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 6584, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str16168, ptr %t15) store i32 0, ptr @lp_site store i32 6585, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str16169) 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 @.str16170) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str16171) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str16172) %t22 = call ptr @fn_lbl(ptr @.str16173) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str16174) 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 @.str16175) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str16176) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str16177) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str16178) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str16179) br label %ifend2 else1: call void @fn_emit(ptr @.str16180) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str16181) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str16182) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str16183) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str16184) %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 6586, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str16185, ptr %t45) store i32 0, ptr @lp_site store i32 6587, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str16186) 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 6588, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str16187, ptr %t50) store i32 0, ptr @lp_site store i32 6589, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str16188) 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 @.str16189) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str16190) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str16191) call void @fn_emit(ptr @.str16192) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str16193) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str16194) %t59 = load ptr, ptr %t2 store i32 6590, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str16195, ptr %t59) store i32 0, ptr @lp_site %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str16196) 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 @.str16197) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str16198, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str16199) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str16200, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str16201) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str16202, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str16203) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str16204, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str16205) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str16206, ptr %retval br label %ret ifend14: store ptr @.str16207, 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 @.str16208) %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 @.str16209) %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 @.str16210) %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 @.str16211) %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 @.str16212) %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 @.str16213) %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 @.str16214) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str16215, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str16216) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str16217, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str16218) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str16219, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str16220) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str16221, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str16222) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str16223, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str16224) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str16225, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str16226) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str16227, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str16228) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str16229, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str16230) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str16231, ptr %retval br label %ret ifend26: store ptr @.str16232, 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 @.str16233) %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 6591, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str16234, ptr %t11) store i32 0, ptr @lp_site store i32 6592, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str16236) 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 6593, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str16237, ptr %t7) store i32 0, ptr @lp_site store i32 6594, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str16239) 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 6595, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str16240, ptr %t39) store i32 0, ptr @lp_site store i32 6596, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str16241) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t1 store i32 6597, 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 @.str16242) %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 @.str16243) %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 @.str16244) %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 6598, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str16245, ptr %t88) store i32 0, ptr @lp_site store i32 6599, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str16246) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t1 store i32 6600, 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 6601, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str16247) 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 @.str16248) %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 @.str16249) %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 6602, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str16250, ptr %t122) store i32 0, ptr @lp_site store i32 6603, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str16251) 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 @.str16252) %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 @.str16253) %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 6604, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str16254, ptr %t139) store i32 0, ptr @lp_site store i32 6605, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str16255) 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 @.str16256) %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 6606, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str16257, ptr %t12) store i32 0, ptr @lp_site store i32 6607, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str16259) 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 @.str16260) %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 6608, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str16261, ptr %t8) store i32 0, ptr @lp_site store i32 6609, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str16263) 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 6610, 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 6611, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str16264) 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 @.str16265) 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 6612, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str16266, ptr %t25) store i32 0, ptr @lp_site store i32 6613, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str16267) 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 6614, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str16268, ptr %t49) store i32 0, ptr @lp_site store i32 6615, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str16269) 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 6616, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str16270, ptr %t55) store i32 0, ptr @lp_site store i32 6617, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str16271) 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 6618, 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 6619, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str16272) 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 6620, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str16273, ptr %t71) store i32 0, ptr @lp_site store i32 6621, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str16274) 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 6622, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str16275, ptr %t95) store i32 0, ptr @lp_site store i32 6623, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str16276) 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 @.str16277) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then19, label %ifend21 then19: %t101 = load ptr, ptr %t64 store i32 6624, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str16278, ptr %t101) store i32 0, ptr @lp_site store i32 6625, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str16279) 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 6626, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str16280, ptr %t106) store i32 0, ptr @lp_site store i32 6627, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str16281) 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 @.str16282) store ptr %t110, ptr %retval br label %ret ifend21: %t111 = load ptr, ptr %t64 %t112 = call ptr @fn_val(ptr %t111, ptr @.str16283) 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 @.str16284) %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 @.str16285) %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 @.str16286, 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 @.str16287) %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 @.str16288) %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 @.str16289) %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 @.str16290) %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 @.str16291) %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 @.str16292) %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 @.str16293) %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 @.str16294) %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 @.str16295) %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 @.str16296, 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 @.str16297) %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 @.str16298) %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 @.str16299) %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 @.str16300) %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 @.str16301) %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 @.str16302) %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 6628, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str16303, ptr %t107) store i32 0, ptr @lp_site store i32 6629, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str16305) 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 6630, 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 6631, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str16306) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t0 store i32 6632, 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 6633, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str16307) 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 @.str16308) %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 @.str16309) %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 @.str16310) %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 @.str16311) %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 @.str16312, 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 @.str16313, 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 @.str16314) %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 @.str16315) %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 @.str16316, 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 6634, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str16317, ptr %t229) store i32 0, ptr @lp_site store i32 6635, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str16318) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = load ptr, ptr %t198 store i32 6636, 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 6637, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str16319) store i32 0, ptr @lp_site call void @lp_free(ptr %t233) %t235 = load ptr, ptr %t193 store i32 6638, 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 6639, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str16320) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) %t238 = load ptr, ptr %t197 store i32 6640, 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 6641, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr @.str16321, ptr %t242) store i32 0, ptr @lp_site store i32 6642, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str16322) 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 @.str16323) 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 6643, ptr @lp_site %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str16324) store i32 0, ptr @lp_site %t258 = load ptr, ptr %t251 store i32 6644, 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 6645, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str16325) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) %t261 = load ptr, ptr %t254 store i32 6646, 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 @.str16326) 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 @.str16327) %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then62, label %ifend64 then62: %t276 = load ptr, ptr %t269 store i32 6647, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str16328, ptr %t276) store i32 0, ptr @lp_site store i32 6648, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str16329) 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 6649, ptr @lp_site %t282 = call ptr @lp_str_concat(ptr @.str16330, ptr %t281) store i32 0, ptr @lp_site store i32 6650, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr %t282, ptr @.str16331) 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 6651, ptr @lp_site %t287 = call ptr @lp_str_concat(ptr @.str16332, ptr %t286) store i32 0, ptr @lp_site store i32 6652, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str16333) store i32 0, ptr @lp_site call void @lp_free(ptr %t287) %t289 = load ptr, ptr %t285 store i32 6653, 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 6654, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr @.str16334, ptr %t293) store i32 0, ptr @lp_site store i32 6655, ptr @lp_site %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str16335) 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 6656, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr @.str16336, ptr %t298) store i32 0, ptr @lp_site store i32 6657, ptr @lp_site %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str16337) 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 @.str16338) store ptr %t302, ptr %retval br label %ret ifend64: %t303 = load ptr, ptr %t0 %t304 = call i32 @lp_str_eq(ptr %t303, ptr @.str16339) %t305 = icmp ne i32 %t304, 0 br i1 %t305, label %then65, label %ifend67 then65: %t306 = load ptr, ptr %t269 store i32 6658, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr @.str16340, ptr %t306) store i32 0, ptr @lp_site store i32 6659, ptr @lp_site %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str16341) 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 6660, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr @.str16342, ptr %t311) store i32 0, ptr @lp_site store i32 6661, ptr @lp_site %t313 = call ptr @lp_str_concat(ptr %t312, ptr @.str16343) 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 6662, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr @.str16344, ptr %t316) store i32 0, ptr @lp_site store i32 6663, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str16345) 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 6664, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr @.str16346, ptr %t321) store i32 0, ptr @lp_site store i32 6665, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str16347) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) %t324 = load ptr, ptr %t320 store i32 6666, 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 6667, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str16348, ptr %t328) store i32 0, ptr @lp_site store i32 6668, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str16349) 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 @.str16350) store ptr %t332, ptr %retval br label %ret ifend67: %t333 = load ptr, ptr %t0 %t334 = call ptr @fn_arith_code(ptr %t333) store i32 6669, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str16351) store i32 0, ptr @lp_site %t336 = load ptr, ptr %t269 store i32 6670, 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 6671, ptr @lp_site %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str16352) store i32 0, ptr @lp_site call void @lp_free(ptr %t337) %t339 = load ptr, ptr %t272 store i32 6672, 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 @.str16353) store ptr %t344, ptr %retval br label %ret ifend61: %t345 = load ptr, ptr %t0 %t346 = call ptr @fn_arith_code(ptr %t345) store i32 6673, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str16354) 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 6674, 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 6675, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str16355) 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 6676, 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 @.str16356) 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str16357, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str16358, 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 @.str16359) 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 @.str16360) br label %ifend13 ifend13: %t47 = getelementptr %LSlice, ptr null, i32 1 %t48 = ptrtoint ptr %t47 to i64 store i32 6677, 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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str16362, 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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str16363, 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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str16364, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str16366, 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 6678, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str16365, 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 6679, 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 6680, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str16368, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str16369, 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 6681, 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 6682, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str16371, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str16372, 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 6683, 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 @.str16373) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str16374) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 store i32 6684, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str16375, ptr %t8) store i32 0, ptr @lp_site store i32 6685, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str16377) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t5 store i32 6686, 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 6687, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str16378) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t7 store i32 6688, 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 6689, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str16379) 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 6690, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str16380) store i32 0, ptr @lp_site call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str16381) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str16382) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then0, label %else1 then0: %t22 = load ptr, ptr %t1 store i32 6691, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str16383, ptr %t22) store i32 0, ptr @lp_site store i32 6692, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str16384) 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 6693, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str16385, ptr %t25) store i32 0, ptr @lp_site store i32 6694, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str16386) store i32 0, ptr @lp_site call void @lp_free(ptr %t26) %t28 = load ptr, ptr %t2 store i32 6695, 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 6696, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str16387) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) %t31 = load ptr, ptr %t3 store i32 6697, 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 6698, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str16388) 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 6699, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str16389, ptr %t34) store i32 0, ptr @lp_site store i32 6700, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str16390) 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 6701, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str16391) 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 @.str16392, 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 @.str16393) %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 @.str16394) %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 @.str16395, 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 @.str16396) %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 @.str16397, 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 @.str16398) 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 @.str16399) store ptr %t40, ptr %t41 store ptr @.str16400, ptr %t42 store ptr @.str16401, 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 6702, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr @.str16402, ptr %t48) store i32 0, ptr @lp_site store i32 6703, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str16404) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t37 store i32 6704, 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 6705, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str16405) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t41 store i32 6706, 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 @.str16406, ptr %t43 %t57 = load ptr, ptr %t3 %t58 = load ptr, ptr %t4 %t59 = call ptr @fn_to_fp(ptr %t57, ptr %t58, ptr @.str16407) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t4 store i32 6707, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str16408, ptr %t61) store i32 0, ptr @lp_site store i32 6708, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str16409) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t37 store i32 6709, 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 6710, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str16410) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) %t67 = load ptr, ptr %t41 store i32 6711, 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 6712, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str16411, ptr %t71) store i32 0, ptr @lp_site store i32 6713, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str16412) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t70 store i32 6714, 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 6715, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str16413, ptr %t78) store i32 0, ptr @lp_site store i32 6716, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str16414) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t70 store i32 6717, 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 6718, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str16415) 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 6719, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr @.str16416, ptr %t86) store i32 0, ptr @lp_site store i32 6720, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str16417) store i32 0, ptr @lp_site call void @lp_free(ptr %t87) %t89 = load ptr, ptr %t4 store i32 6721, 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 6722, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str16418) store i32 0, ptr @lp_site call void @lp_free(ptr %t90) %t92 = load ptr, ptr %t77 store i32 6723, 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 6724, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str16419) store i32 0, ptr @lp_site call void @lp_free(ptr %t93) %t95 = load ptr, ptr %t4 store i32 6725, 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 6726, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str16420) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t70 store i32 6727, 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 6728, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str16421, ptr %t102) store i32 0, ptr @lp_site store i32 6729, ptr @lp_site %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str16422) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) %t105 = load ptr, ptr %t101 store i32 6730, 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 6731, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str16423) store i32 0, ptr @lp_site call void @lp_free(ptr %t106) %t108 = load ptr, ptr %t60 store i32 6732, 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 6733, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str16424) store i32 0, ptr @lp_site %t114 = load ptr, ptr %t43 store i32 6734, 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 6735, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str16425) 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 @.str16426) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then13, label %ifend15 then13: %t126 = load ptr, ptr %t37 store i32 6736, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str16427, ptr %t126) store i32 0, ptr @lp_site store i32 6737, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str16428) 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 6738, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str16429, ptr %t130) store i32 0, ptr @lp_site store i32 6739, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str16430) 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 @.str16431) store ptr %t134, ptr %t135 %t136 = call ptr @fn_lbl(ptr @.str16432) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t42 store i32 6740, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str16433, ptr %t138) store i32 0, ptr @lp_site store i32 6741, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str16434) store i32 0, ptr @lp_site call void @lp_free(ptr %t139) %t141 = load ptr, ptr %t135 store i32 6742, 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 6743, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str16435) store i32 0, ptr @lp_site call void @lp_free(ptr %t142) %t144 = load ptr, ptr %t137 store i32 6744, 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 6745, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str16436) 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 6746, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str16437) store i32 0, ptr @lp_site call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str16438) %t149 = load ptr, ptr %t118 store i32 6747, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr @.str16439, ptr %t149) store i32 0, ptr @lp_site store i32 6748, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str16440) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t120 store i32 6749, 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 6750, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str16441) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) %t155 = load ptr, ptr %t122 store i32 6751, 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 6752, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str16442) 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 6753, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr @.str16443, ptr %t158) store i32 0, ptr @lp_site store i32 6754, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str16444) 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 6755, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str16445) store i32 0, ptr @lp_site call void @fn_emit(ptr %t162) %t163 = call ptr @fn_val(ptr @.str16446, ptr @.str16447) 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 6756, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str16448, ptr %t5) store i32 0, ptr @lp_site store i32 6757, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str16450) 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 6758, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str16451, ptr %t12) store i32 0, ptr @lp_site store i32 6759, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str16452) 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 6760, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str16453, ptr %t17) store i32 0, ptr @lp_site store i32 6761, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str16454) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 6762, 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 6763, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str16455, ptr %t26) store i32 0, ptr @lp_site store i32 6764, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str16456) 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 6765, 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 @.str16457) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t23 store i32 6766, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str16458, ptr %t37) store i32 0, ptr @lp_site store i32 6767, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str16459) store i32 0, ptr @lp_site call void @lp_free(ptr %t38) %t40 = load ptr, ptr %t36 store i32 6768, 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 6769, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str16460) 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 6770, 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 6771, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str16461, ptr %t49) store i32 0, ptr @lp_site store i32 6772, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str16462) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) %t52 = load ptr, ptr %t36 store i32 6773, 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 6774, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str16463) 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 6775, 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 6776, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str16464, ptr %t61) store i32 0, ptr @lp_site store i32 6777, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str16465) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t60 store i32 6778, 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 6779, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str16466) 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 6780, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str16467, ptr %t69) store i32 0, ptr @lp_site store i32 6781, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str16468) 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 6782, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str16469, ptr %t74) store i32 0, ptr @lp_site store i32 6783, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str16470) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t34 store i32 6784, 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 6785, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str16471) store i32 0, ptr @lp_site call void @lp_free(ptr %t78) %t80 = load ptr, ptr %t73 store i32 6786, 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 6787, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str16472) 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 @.str16473) store ptr %t89, ptr %t90 %t91 = call ptr @fn_lbl(ptr @.str16474) store ptr %t91, ptr %t92 %t93 = call ptr @fn_lbl(ptr @.str16475) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t83 store i32 6788, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr @.str16476, ptr %t95) store i32 0, ptr @lp_site store i32 6789, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str16477) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) %t98 = load ptr, ptr %t92 store i32 6790, 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 6791, ptr @lp_site %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str16478) store i32 0, ptr @lp_site call void @lp_free(ptr %t99) %t101 = load ptr, ptr %t94 store i32 6792, 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 6793, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str16479) 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 6794, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str16480) store i32 0, ptr @lp_site call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str16481) %t106 = load ptr, ptr %t9 store i32 6795, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str16482, ptr %t106) store i32 0, ptr @lp_site store i32 6796, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str16483) store i32 0, ptr @lp_site call void @lp_free(ptr %t107) %t109 = load ptr, ptr %t90 store i32 6797, 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 6798, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str16484) 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 6799, 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 6800, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str16485, ptr %t118) store i32 0, ptr @lp_site store i32 6801, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str16486) store i32 0, ptr @lp_site call void @lp_free(ptr %t119) %t121 = load ptr, ptr %t90 store i32 6802, 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 6803, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str16487) 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 6804, 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 6805, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str16488, ptr %t130) store i32 0, ptr @lp_site store i32 6806, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str16489) store i32 0, ptr @lp_site call void @lp_free(ptr %t131) %t133 = load ptr, ptr %t117 store i32 6807, 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 6808, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str16490) store i32 0, ptr @lp_site call void @lp_free(ptr %t134) %t136 = load ptr, ptr %t129 store i32 6809, 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 6810, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str16491) 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 6811, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr @.str16492, ptr %t139) store i32 0, ptr @lp_site store i32 6812, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str16493) 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 6813, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str16494) store i32 0, ptr @lp_site call void @fn_emit(ptr %t143) %t144 = call ptr @fn_val(ptr @.str16495, ptr @.str16496) 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 6814, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str16497) 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 6815, 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 6816, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str16499) 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 6817, 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 6818, 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 @.str16501) %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 6819, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str16502) 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 6820, 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 6821, 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 @.str16504, 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 6822, 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 @.str16505, 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 6823, 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 @.str16506, ptr @.str16507) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str16508) %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 6824, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str16509) store i32 0, ptr @lp_site call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str16510) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str16511, ptr @.str16512, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str16513) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str16514, ptr @.str16515, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str16516) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str16517) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str16518) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str16519) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str16520) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str16521) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str16522) %t158 = load ptr, ptr %t143 store i32 6825, ptr @lp_site %t159 = call ptr @lp_str_concat(ptr @.str16523, 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 @.str16524) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 store i32 6826, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str16525, ptr %t164) store i32 0, ptr @lp_site store i32 6827, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str16526) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t167 = load ptr, ptr %t163 store i32 6828, 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 @.str16527) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str16528) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str16529) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str16530) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str16531) %t175 = call ptr @fn_ecs_base(ptr @.str16532) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 store i32 6829, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str16533, ptr %t177) store i32 0, ptr @lp_site store i32 6830, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str16534) store i32 0, ptr @lp_site call void @lp_free(ptr %t178) %t180 = load ptr, ptr %t161 store i32 6831, 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 6832, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr @.str16535, 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 6833, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr @.str16536, 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 6834, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr @.str16537, ptr %t192) store i32 0, ptr @lp_site store i32 6835, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str16538) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) %t195 = load ptr, ptr %t161 store i32 6836, 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 6837, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr @.str16539, 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 6838, ptr @lp_site %t204 = call ptr @lp_str_concat(ptr @.str16540, ptr %t203) store i32 0, ptr @lp_site store i32 6839, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str16541) 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 6840, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr @.str16542, ptr %t208) store i32 0, ptr @lp_site store i32 6841, ptr @lp_site %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str16543) store i32 0, ptr @lp_site call void @lp_free(ptr %t209) %t211 = load ptr, ptr %t207 store i32 6842, 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 6843, ptr @lp_site %t216 = call ptr @lp_str_concat(ptr @.str16544, 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 6844, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr @.str16545, ptr %t219) store i32 0, ptr @lp_site store i32 6845, ptr @lp_site %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str16546) store i32 0, ptr @lp_site call void @lp_free(ptr %t220) %t222 = load ptr, ptr %t214 store i32 6846, 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 @.str16547, ptr %t226, ptr %t227) call void @fn_emit(ptr @.str16548) %t228 = load ptr, ptr %t153 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str16549) %t229 = load ptr, ptr %t153 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str16550) %t230 = load ptr, ptr %t161 store i32 6847, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr @.str16551, ptr %t230) store i32 0, ptr @lp_site store i32 6848, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str16552) 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 @.str16553, ptr %t235, ptr %t236) call void @fn_emit(ptr @.str16554) %t237 = load ptr, ptr %t149 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str16555) %t238 = load ptr, ptr %t155 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str16556) %t239 = load ptr, ptr %t146 store i32 6849, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr @.str16557, ptr %t239) store i32 0, ptr @lp_site %t241 = call ptr @fn_emit_bind(ptr %t240) %t242 = call ptr @fn_val(ptr %t241, ptr @.str16558) 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 6850, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str16559) store i32 0, ptr @lp_site %t253 = load ptr, ptr %t1 store i32 6851, 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 6852, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str16560) 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: %t264 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str16561, 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 @.str16562) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then23, label %ifend25 then23: %t272 = load ptr, ptr %t0 store i32 6853, ptr @lp_site %t273 = call ptr @lp_str_concat(ptr @.str16563, 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 6854, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str16564, ptr %t276) store i32 0, ptr @lp_site store i32 6855, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str16565) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = load ptr, ptr %t275 store i32 6856, 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 6857, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str16566) 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 6858, 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 @.str16567) 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 6859, ptr @lp_site %t296 = call ptr @lp_str_concat(ptr @.str16568, ptr %t295) store i32 0, ptr @lp_site store i32 6860, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str16569) store i32 0, ptr @lp_site call void @lp_free(ptr %t296) %t298 = load ptr, ptr %t292 store i32 6861, 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 6862, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str16570, ptr %t302) store i32 0, ptr @lp_site store i32 6863, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str16571) 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 6864, 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 6865, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str16572) 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 @.str16573) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t313 store i32 6866, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr @.str16574, ptr %t314) store i32 0, ptr @lp_site store i32 6867, ptr @lp_site %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str16575) store i32 0, ptr @lp_site call void @lp_free(ptr %t315) %t317 = load ptr, ptr %t311 store i32 6868, 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 6869, ptr @lp_site %t322 = call ptr @lp_str_concat(ptr @.str16576, 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 6870, ptr @lp_site %t326 = call ptr @lp_str_concat(ptr @.str16577, ptr %t325) store i32 0, ptr @lp_site store i32 6871, ptr @lp_site %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str16578) 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 6872, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr @.str16579, 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 6873, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr @.str16580, ptr %t334) store i32 0, ptr @lp_site store i32 6874, ptr @lp_site %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str16581) store i32 0, ptr @lp_site call void @lp_free(ptr %t335) %t337 = load ptr, ptr %t311 store i32 6875, 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 6876, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr @.str16582, 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 6877, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr @.str16583, ptr %t345) store i32 0, ptr @lp_site store i32 6878, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str16584) 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 6879, ptr @lp_site %t351 = call ptr @lp_str_concat(ptr @.str16585, ptr %t350) store i32 0, ptr @lp_site store i32 6880, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str16586) store i32 0, ptr @lp_site call void @lp_free(ptr %t351) %t353 = load ptr, ptr %t329 store i32 6881, 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 6882, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr @.str16587, ptr %t357) store i32 0, ptr @lp_site store i32 6883, ptr @lp_site %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str16588) store i32 0, ptr @lp_site call void @lp_free(ptr %t358) %t360 = load ptr, ptr %t349 store i32 6884, 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 6885, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr @.str16589, ptr %t364) store i32 0, ptr @lp_site store i32 6886, ptr @lp_site %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str16590) 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 @.str16591) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str16592, 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 @.str16593) %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 @.str16594) 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 @.str16595, 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 6887, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str16596, ptr %t11) store i32 0, ptr @lp_site store i32 6888, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str16598) store i32 0, ptr @lp_site call void @lp_free(ptr %t12) %t14 = load ptr, ptr %t1 store i32 6889, 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 @.str16599) %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 @.str16600) %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 @.str16601) %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 @.str16602) %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 6890, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str16603) store i32 0, ptr @lp_site %t43 = load ptr, ptr %t1 store i32 6891, 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 @.str16605) %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 @.str16606, 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 @.str16607) %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 @.str16608, 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 @.str16609) %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 @.str16610, 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 @.str16611) %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 @.str16612, 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 @.str16613) %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 @.str16614) %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 @.str16615) %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 @.str16616, 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 @.str16617) %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 @.str16618, 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 @.str16619) %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 @.str16620, 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 @.str16621) %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 @.str16622, 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 @.str16623) %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 @.str16624, 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 @.str16625) %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 @.str16626, 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 @.str16627) %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 @.str16628, 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 @.str16629) %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 @.str16630, 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 @.str16631) %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 @.str16632, 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 @.str16633) %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 @.str16634, 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 @.str16635) %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 @.str16636, 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 @.str16637) %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 @.str16638, 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 @.str16639) %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 @.str16640, 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 @.str16641) %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 @.str16642, 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 @.str16643) %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 @.str16644, 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 @.str16645) %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 @.str16646, 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 @.str16647) %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 @.str16648, 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 @.str16649) %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 @.str16650, 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 @.str16651) %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 @.str16652, 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 @.str16653) %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 @.str16654, 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 @.str16655) %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 @.str16656, 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 @.str16657) %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 @.str16658, 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 @.str16659) %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 @.str16660, 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 @.str16661) %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 @.str16662) %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 @.str16663) br label %ifend196 ifend196: %t403 = call ptr @fn_val(ptr @.str16664, ptr @.str16665) store ptr %t403, ptr %retval br label %ret ifend193: %t404 = load ptr, ptr %t1 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str16666) %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 6892, ptr @lp_site %t413 = call ptr @lp_str_concat(ptr @.str16667, ptr %t412) store i32 0, ptr @lp_site store i32 6893, ptr @lp_site %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str16668) 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 @.str16669, ptr @.str16670) store ptr %t415, ptr %retval br label %ret ifend199: %t416 = load ptr, ptr %t1 %t417 = call i32 @lp_str_eq(ptr %t416, ptr @.str16671) %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 @.str16672) %t422 = call ptr @fn_val(ptr %t421, ptr @.str16673) store ptr %t422, ptr %retval br label %ret ifend208: %t423 = call ptr @fn_val(ptr @.str16674, ptr @.str16675) store ptr %t423, ptr %retval br label %ret ifend205: %t424 = load ptr, ptr %t1 %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str16676) %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 6894, ptr @lp_site %t433 = call ptr @lp_str_concat(ptr @.str16677, ptr %t432) store i32 0, ptr @lp_site store i32 6895, ptr @lp_site %t434 = call ptr @lp_str_concat(ptr %t433, ptr @.str16678) 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 @.str16679, ptr @.str16680) store ptr %t435, ptr %retval br label %ret ifend211: %t436 = load ptr, ptr %t1 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str16681) %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 6896, ptr @lp_site %t445 = call ptr @lp_str_concat(ptr @.str16682, ptr %t444) store i32 0, ptr @lp_site store i32 6897, ptr @lp_site %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str16683) 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 @.str16684, ptr @.str16685) store ptr %t447, ptr %retval br label %ret ifend217: %t449 = load ptr, ptr %t1 %t450 = call i32 @lp_str_eq(ptr %t449, ptr @.str16686) %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 @.str16687) %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 6898, ptr @lp_site %t462 = call ptr @lp_str_concat(ptr @.str16688, ptr %t461) store i32 0, ptr @lp_site store i32 6899, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str16689) 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 @.str16690, ptr @.str16691) 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 @.str16692, 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 @.str16693) %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 @.str16694) %t473 = icmp ne i32 %t472, 0 br i1 %t473, label %then232, label %ifend234 then232: %t474 = call ptr @fn_emit_bind(ptr @.str16695) %t475 = call ptr @fn_val(ptr %t474, ptr @.str16696) store ptr %t475, ptr %retval br label %ret ifend234: %t476 = load ptr, ptr %t1 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str16697) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then235, label %ifend237 then235: %t479 = call ptr @fn_emit_bind(ptr @.str16698) %t480 = call ptr @fn_val(ptr %t479, ptr @.str16699) store ptr %t480, ptr %retval br label %ret ifend237: %t481 = load ptr, ptr %t1 %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str16700) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then238, label %ifend240 then238: %t484 = call ptr @fn_emit_bind(ptr @.str16701) %t485 = call ptr @fn_val(ptr %t484, ptr @.str16702) store ptr %t485, ptr %retval br label %ret ifend240: %t486 = load ptr, ptr %t1 %t487 = call i32 @lp_str_eq(ptr %t486, ptr @.str16703) %t488 = icmp ne i32 %t487, 0 br i1 %t488, label %then241, label %ifend243 then241: %t489 = call ptr @fn_emit_bind(ptr @.str16704) store ptr %t489, ptr %t490 %t491 = call ptr @fn_emit_bind(ptr @.str16705) store ptr %t491, ptr %t492 %t493 = load ptr, ptr %t490 store i32 6900, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr @.str16706, ptr %t493) store i32 0, ptr @lp_site store i32 6901, ptr @lp_site %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str16707) store i32 0, ptr @lp_site call void @lp_free(ptr %t494) %t496 = load ptr, ptr %t492 store i32 6902, 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 @.str16708) 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 @.str16709, 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 6903, 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 @.str16710) %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 @.str16711) %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 @.str16712) br label %ifend255 ifend255: %t533 = call ptr @fn_find_comp(ptr @.str16713) 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 @.str16714) br label %ifend258 ifend258: %t539 = getelementptr %LSlice, ptr null, i32 1 %t540 = ptrtoint ptr %t539 to i64 store i32 6904, 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 6905, 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 @.str16715, 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 6906, 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 @.str16716, 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: %t594 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t594, ptr @.fmt_bounds, ptr @.str16717, 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: %t607 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t607, ptr @.fmt_bounds, ptr @.str16718, 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 6907, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr @.str16719, ptr %t614) store i32 0, ptr @lp_site store i32 6908, ptr @lp_site %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str16720) 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 @.str16721) store ptr %t621, ptr %t622 %t623 = load ptr, ptr %t622 store i32 6909, ptr @lp_site %t624 = call ptr @lp_str_concat(ptr @.str16722, ptr %t623) store i32 0, ptr @lp_site store i32 6910, ptr @lp_site %t625 = call ptr @lp_str_concat(ptr %t624, ptr @.str16723) store i32 0, ptr @lp_site call void @lp_free(ptr %t624) %t626 = load ptr, ptr %t618 store i32 6911, 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 6912, ptr @lp_site %t631 = call ptr @lp_str_concat(ptr @.str16724, ptr %t630) store i32 0, ptr @lp_site store i32 6913, ptr @lp_site %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str16725) 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 @.str16726) %t635 = call ptr @fn_itoa(i32 %t634) store i32 6914, 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 6915, ptr @lp_site %t640 = call ptr @lp_str_concat(ptr @.str16727, ptr %t639) store i32 0, ptr @lp_site store i32 6916, ptr @lp_site %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str16728) 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 @.str16729) %t644 = call ptr @fn_itoa(i32 %t643) store i32 6917, 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 @.str16730) %t658 = load ptr, ptr %t652 call void @fn_emit(ptr %t658) call void @fn_emit(ptr @.str16731) %t659 = load ptr, ptr %t638 call void @fn_emit(ptr %t659) call void @fn_emit(ptr @.str16732) call void @fn_emit(ptr @.str16733) %t660 = load ptr, ptr %t657 call void @fn_emit(ptr %t660) call void @fn_emit(ptr @.str16734) %t661 = load ptr, ptr %t647 call void @fn_emit(ptr %t661) call void @fn_emit(ptr @.str16735) %t662 = load ptr, ptr %t618 %t663 = call ptr @fn_val(ptr %t662, ptr @.str16736) store ptr %t663, ptr %retval br label %ret ifend252: %t664 = load ptr, ptr %t1 %t665 = call i32 @lp_str_eq(ptr %t664, ptr @.str16737) %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 @.str16738) br label %ifend272 ifend272: %t671 = getelementptr %LSlice, ptr null, i32 1 %t672 = ptrtoint ptr %t671 to i64 store i32 6918, 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 6919, 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 @.str16739, 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 @.str16740) 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: %t715 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t715, ptr @.fmt_bounds, ptr @.str16741, 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 6920, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr @.str16742, ptr %t722) store i32 0, ptr @lp_site store i32 6921, ptr @lp_site %t724 = call ptr @lp_str_concat(ptr %t723, ptr @.str16743) 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 @.str16744) 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 @.str16745, 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 @.str16746) %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 @.str16747) %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 @.str16748, 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 6922, 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 @.str16749, ptr %t756 %t757 = add i32 %t743, 1 store i32 %t757, ptr %t740 br label %ifend288 else287: store ptr @.str16750, 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 6923, 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 @.str16751, 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 @.str16752) %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 @.str16753, 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 6924, 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 @.str16754, ptr %t800 %t801 = add i32 %t787, 1 store i32 %t801, ptr %t784 br label %ifend298 else297: store ptr @.str16755, 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 6925, 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 @.str16756, 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 @.str16757) %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 @.str16758) %t826 = icmp ne i32 %t825, 0 br i1 %t826, label %then306, label %ifend308 then306: store ptr @.str16759, 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 6926, 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 @.str16760, 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 6927, 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 @.str16761, 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 6928, 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 @.str16762, 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: %t900 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t900, ptr @.fmt_bounds, ptr @.str16763, 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 @.str16764) %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 @.str16765) %t908 = icmp ne i32 %t907, 0 br i1 %t908, label %then323, label %ifend325 then323: store ptr @.str16766, 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 6929, 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 @.str16767, 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 6930, 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 @.str16768, 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 6931, 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 @.str16769, 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 6932, 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 @.str16770, 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 @.str16771) %t987 = icmp ne i32 %t986, 0 br i1 %t987, label %then334, label %ifend336 then334: store ptr @.str16772, 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 6933, 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 @.str16773, 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 6934, 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 @.str16774, 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 @.str16775) %t1028 = icmp ne i32 %t1027, 0 br i1 %t1028, label %then341, label %ifend343 then341: store ptr @.str16776, 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 6935, 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 @.str16777, 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 @.str16778) %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 @.str16779, 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 6936, 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 @.str16780, 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 6937, 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 @.str16781, ptr %t1095 %t1096 = add i32 %t1082, 1 store i32 %t1096, ptr %t1079 br label %ifend351 else350: store ptr @.str16782, 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 6938, 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 @.str16783, 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 6939, 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 @.str16784, 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 6940, 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 @.str16785, 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 6941, 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 @.str16786, 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 @.str16787) %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 6942, ptr @lp_site %t1186 = call ptr @lp_str_concat(ptr @.str16788, 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: %t1228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1228, ptr @.fmt_bounds, ptr @.str16789, 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 6943, 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 @.str16790) %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 6944, ptr @lp_site %t1264 = call ptr @lp_str_concat(ptr @.str16791, 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: %t1306 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1306, ptr @.fmt_bounds, ptr @.str16792, 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 6945, 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 6946, ptr @lp_site %t1343 = call ptr @lp_str_concat(ptr %t1342, ptr @.str16793) store i32 0, ptr @lp_site %t1344 = load ptr, ptr %t1 store i32 6947, 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 6948, ptr @lp_site %t1360 = call ptr @lp_str_concat(ptr %t1359, ptr @.str16794) store i32 0, ptr @lp_site %t1361 = load ptr, ptr %t1 store i32 6949, 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 6950, ptr @lp_site %t1363 = call ptr @lp_str_concat(ptr %t1362, ptr @.str16795) store i32 0, ptr @lp_site call void @lp_free(ptr %t1362) %t1364 = load ptr, ptr %t0 store i32 6951, 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: %t1393 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1393, ptr @.fmt_bounds, ptr @.str16796, 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 6952, 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 6953, ptr @lp_site %t1421 = call ptr @lp_str_concat(ptr @.str16797, ptr %t1420) store i32 0, ptr @lp_site store i32 6954, ptr @lp_site %t1422 = call ptr @lp_str_concat(ptr %t1421, ptr @.str16798) store i32 0, ptr @lp_site call void @lp_free(ptr %t1421) %t1423 = load ptr, ptr %t1 store i32 6955, 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: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str16799, 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 6956, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str16800, ptr %t31) store i32 0, ptr @lp_site store i32 6957, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str16802) 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 6958, 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 6959, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str16803) 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 6960, 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 6961, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str16804, ptr %t45) store i32 0, ptr @lp_site store i32 6962, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str16805) 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 @.str16806) %t50 = load i32, ptr %t1 %t51 = call ptr @fn_itoa(i32 %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str16807) %t52 = load ptr, ptr %t49 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str16808) 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str16809, 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str16810, 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 @.str16811) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str16812) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str16813) %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 @.str16814) call void @fn_emit(ptr @.str16815) %t98 = load ptr, ptr %t73 %t99 = call ptr @fn_llty(ptr %t98) call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str16816) %t100 = load ptr, ptr %t89 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str16817) %t101 = load ptr, ptr %t91 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str16818) %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 @.str16819) 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 @.str16820) %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 @.str16821, ptr @.str16822) 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str16824, 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 6963, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr @.str16823, ptr %t67) store i32 0, ptr @lp_site %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str16826) store ptr %t70, ptr %retval br label %ret ifend11: %t71 = load ptr, ptr %t48 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str16827) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: %t74 = call ptr @fn_emit_bind(ptr @.str16828) %t75 = call ptr @fn_val(ptr %t74, ptr @.str16829) store ptr %t75, ptr %retval br label %ret ifend19: %t76 = load ptr, ptr %t48 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str16830) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then20, label %ifend22 then20: call void @fn_emit(ptr @.str16831) %t79 = call ptr @fn_val(ptr @.str16832, ptr @.str16833) store ptr %t79, ptr %retval br label %ret ifend22: %t81 = load ptr, ptr %t48 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str16834) %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 @.str16835) %t93 = call ptr @fn_val(ptr @.str16836, ptr @.str16837) store ptr %t93, ptr %retval br label %ret ifend27: %t94 = load ptr, ptr %t48 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str16838) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then28, label %ifend30 then28: %t97 = call ptr @fn_emit_bind(ptr @.str16839) %t98 = call ptr @fn_val(ptr %t97, ptr @.str16840) store ptr %t98, ptr %retval br label %ret ifend30: %t99 = load ptr, ptr %t48 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str16841) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then31, label %ifend33 then31: %t102 = call ptr @fn_emit_bind(ptr @.str16842) %t103 = call ptr @fn_val(ptr %t102, ptr @.str16843) store ptr %t103, ptr %retval br label %ret ifend33: %t104 = load ptr, ptr %t48 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str16844) %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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str16845, 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 6964, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr @.str16846, ptr %t122) store i32 0, ptr @lp_site store i32 6965, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str16847) 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 @.str16848) store ptr %t126, ptr %retval br label %ret ifend36: %t127 = load ptr, ptr %t48 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str16849) %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: %t138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t138, ptr @.fmt_bounds, ptr @.str16850, 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: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str16851, 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 @.str16852) %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 @.str16853) %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 @.str16854) %t162 = call ptr @fn_val(ptr @.str16855, ptr @.str16856) store ptr %t162, ptr %retval br label %ret ifend41: %t163 = load ptr, ptr %t48 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str16857) %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 @.str16858) %t166 = call ptr @fn_val(ptr @.str16859, ptr @.str16860) store ptr %t166, ptr %retval br label %ret ifend48: %t167 = load ptr, ptr %t48 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str16861) %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: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str16862, 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: %t191 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str16863, 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 6966, ptr @lp_site %t199 = call ptr @lp_str_concat(ptr @.str16864, ptr %t198) store i32 0, ptr @lp_site store i32 6967, ptr @lp_site %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str16865) 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 6968, 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 6969, ptr @lp_site %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str16866) 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 @.str16867) store ptr %t207, ptr %retval br label %ret ifend51: %t208 = load ptr, ptr %t48 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str16868) %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: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str16869, 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: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str16870, 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: %t245 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str16871, 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 @.str16872) %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 @.str16873) %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 @.str16874) %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 @.str16875) %t259 = call ptr @fn_val(ptr @.str16876, ptr @.str16877) store ptr %t259, ptr %retval br label %ret ifend58: %t260 = load ptr, ptr %t48 %t261 = call i32 @lp_str_eq(ptr %t260, ptr @.str16878) %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: %t271 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t271, ptr @.fmt_bounds, ptr @.str16879, 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 6970, ptr @lp_site %t279 = call ptr @lp_str_concat(ptr @.str16880, ptr %t278) store i32 0, ptr @lp_site store i32 6971, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr %t279, ptr @.str16881) 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 @.str16882) store ptr %t282, ptr %retval br label %ret ifend67: %t283 = load ptr, ptr %t48 %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str16883) %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: %t294 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t294, ptr @.fmt_bounds, ptr @.str16884, 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 6972, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr @.str16885, ptr %t301) store i32 0, ptr @lp_site store i32 6973, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str16886) 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 @.str16887) store ptr %t305, ptr %retval br label %ret ifend72: %t306 = load ptr, ptr %t48 %t307 = call i32 @lp_str_eq(ptr %t306, ptr @.str16888) %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: %t317 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t317, ptr @.fmt_bounds, ptr @.str16889, 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: %t330 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t330, ptr @.fmt_bounds, ptr @.str16890, 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 @.str16891) %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 @.str16892) %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 @.str16893) %t341 = call ptr @fn_val(ptr @.str16894, ptr @.str16895) store ptr %t341, ptr %retval br label %ret ifend77: %t342 = load ptr, ptr %t48 %t343 = call i32 @lp_str_eq(ptr %t342, ptr @.str16896) %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: %t353 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t353, ptr @.fmt_bounds, ptr @.str16897, 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 6974, ptr @lp_site %t361 = call ptr @lp_str_concat(ptr @.str16898, ptr %t360) store i32 0, ptr @lp_site store i32 6975, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str16899) 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 @.str16900) store ptr %t364, ptr %retval br label %ret ifend84: %t365 = load ptr, ptr %t48 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str16901) %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then87, label %ifend89 then87: %t368 = call ptr @fn_emit_bind(ptr @.str16902) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t369 store i32 6976, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr @.str16903, ptr %t370) store i32 0, ptr @lp_site store i32 6977, ptr @lp_site %t372 = call ptr @lp_str_concat(ptr %t371, ptr @.str16904) 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 6978, ptr @lp_site %t376 = call ptr @lp_str_concat(ptr @.str16905, ptr %t375) store i32 0, ptr @lp_site store i32 6979, ptr @lp_site %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str16906) 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 @.str16907) store ptr %t379, ptr %retval br label %ret ifend89: %t380 = load ptr, ptr %t48 %t381 = call i32 @lp_str_eq(ptr %t380, ptr @.str16908) %t382 = icmp ne i32 %t381, 0 br i1 %t382, label %then90, label %ifend92 then90: %t383 = call ptr @fn_emit_bind(ptr @.str16909) %t384 = call ptr @fn_val(ptr %t383, ptr @.str16910) store ptr %t384, ptr %retval br label %ret ifend92: %t385 = load ptr, ptr %t48 %t386 = call i32 @lp_str_eq(ptr %t385, ptr @.str16911) %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then93, label %ifend95 then93: call void @fn_emit(ptr @.str16912) %t388 = call ptr @fn_val(ptr @.str16913, ptr @.str16914) store ptr %t388, ptr %retval br label %ret ifend95: %t389 = load ptr, ptr %t48 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str16915) %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then96, label %ifend98 then96: call void @fn_emit(ptr @.str16916) %t392 = call ptr @fn_val(ptr @.str16917, ptr @.str16918) store ptr %t392, ptr %retval br label %ret ifend98: %t393 = load ptr, ptr %t48 %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str16919) %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then99, label %ifend101 then99: call void @fn_emit(ptr @.str16920) %t396 = call ptr @fn_val(ptr @.str16921, ptr @.str16922) store ptr %t396, ptr %retval br label %ret ifend101: %t397 = load ptr, ptr %t48 %t398 = call i32 @lp_str_eq(ptr %t397, ptr @.str16923) %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: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str16924, 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 @.str16925) %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 @.str16926) %t416 = call ptr @fn_val(ptr @.str16927, ptr @.str16928) store ptr %t416, ptr %retval br label %ret ifend104: %t417 = load ptr, ptr %t48 %t418 = call i32 @lp_str_eq(ptr %t417, ptr @.str16929) %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: %t428 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t428, ptr @.fmt_bounds, ptr @.str16930, 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 @.str16931) %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 @.str16932) %t436 = call ptr @fn_val(ptr @.str16933, ptr @.str16934) store ptr %t436, ptr %retval br label %ret ifend109: %t438 = load ptr, ptr %t48 %t439 = call i32 @lp_str_eq(ptr %t438, ptr @.str16935) %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 @.str16936) %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: %t457 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t457, ptr @.fmt_bounds, ptr @.str16937, 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: %t470 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t470, ptr @.fmt_bounds, ptr @.str16938, 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: %t483 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t483, ptr @.fmt_bounds, ptr @.str16939, 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 @.str16940) %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 @.str16941) %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 @.str16942) %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 @.str16943) %t497 = call ptr @fn_val(ptr @.str16944, ptr @.str16945) store ptr %t497, ptr %retval br label %ret ifend116: %t499 = load ptr, ptr %t48 %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str16946) %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 @.str16947) %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: %t518 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t518, ptr @.fmt_bounds, ptr @.str16948, 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: %t531 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t531, ptr @.fmt_bounds, ptr @.str16949, 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 6980, ptr @lp_site %t539 = call ptr @lp_str_concat(ptr @.str16950, ptr %t538) store i32 0, ptr @lp_site store i32 6981, ptr @lp_site %t540 = call ptr @lp_str_concat(ptr %t539, ptr @.str16951) 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 6982, 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 6983, ptr @lp_site %t545 = call ptr @lp_str_concat(ptr %t544, ptr @.str16952) 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 @.str16953) store ptr %t547, ptr %retval br label %ret ifend127: %t548 = load ptr, ptr %t48 %t549 = call i32 @lp_str_eq(ptr %t548, ptr @.str16954) %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 @.str16955) %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 @.str16956) %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: %t582 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t582, ptr @.fmt_bounds, ptr @.str16957, 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 @.str16958) %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: %t611 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t611, ptr @.fmt_bounds, ptr @.str16959, 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 6984, ptr @lp_site %t619 = call ptr @lp_str_concat(ptr @.str16960, ptr %t618) store i32 0, ptr @lp_site store i32 6985, ptr @lp_site %t620 = call ptr @lp_str_concat(ptr %t619, ptr @.str16961) 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 @.str16962) store ptr %t622, ptr %retval br label %ret ifend149: %t623 = load ptr, ptr %t48 %t624 = call i32 @lp_str_eq(ptr %t623, ptr @.str16963) %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: %t634 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t634, ptr @.fmt_bounds, ptr @.str16964, 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 @.str16965) %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 @.str16966, 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 @.str16967) %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 @.str16968) %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 6986, ptr @lp_site %t696 = call ptr @lp_str_concat(ptr @.str16969, ptr %t695) store i32 0, ptr @lp_site store i32 6987, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr %t696, ptr @.str16970) 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 @.str16971) 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 6988, ptr @lp_site %t703 = call ptr @lp_str_concat(ptr @.str16972, ptr %t702) store i32 0, ptr @lp_site store i32 6989, ptr @lp_site %t704 = call ptr @lp_str_concat(ptr %t703, ptr @.str16973) 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 @.str16974) store ptr %t706, ptr %retval br label %ret ifend154: %t707 = load ptr, ptr %t48 %t708 = call i32 @lp_str_eq(ptr %t707, ptr @.str16975) %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: %t718 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t718, ptr @.fmt_bounds, ptr @.str16976, 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 @.str16977) %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 6990, ptr @lp_site %t739 = call ptr @lp_str_concat(ptr %t738, ptr @.str16979) store i32 0, ptr @lp_site store i32 6991, ptr @lp_site %t740 = call ptr @lp_str_concat(ptr @.str16978, 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 @.str16980) %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 6992, ptr @lp_site %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str16982) store i32 0, ptr @lp_site store i32 6993, ptr @lp_site %t751 = call ptr @lp_str_concat(ptr @.str16981, 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 6994, ptr @lp_site %t755 = call ptr @lp_str_concat(ptr %t754, ptr @.str16984) store i32 0, ptr @lp_site store i32 6995, ptr @lp_site %t756 = call ptr @lp_str_concat(ptr @.str16983, 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 6996, ptr @lp_site %t764 = call ptr @lp_str_concat(ptr @.str16985, ptr %t763) store i32 0, ptr @lp_site store i32 6997, ptr @lp_site %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str16986) 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 @.str16987, ptr @.str16988) store ptr %t766, ptr %retval br label %ret ifend175: %t767 = load ptr, ptr %t48 %t768 = call i32 @lp_str_eq(ptr %t767, ptr @.str16989) %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: %t778 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t778, ptr @.fmt_bounds, ptr @.str16990, 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 6998, ptr @lp_site %t786 = call ptr @lp_str_concat(ptr @.str16991, ptr %t785) store i32 0, ptr @lp_site store i32 6999, ptr @lp_site %t787 = call ptr @lp_str_concat(ptr %t786, ptr @.str16992) 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 7000, ptr @lp_site %t791 = call ptr @lp_str_concat(ptr @.str16993, ptr %t790) store i32 0, ptr @lp_site store i32 7001, ptr @lp_site %t792 = call ptr @lp_str_concat(ptr %t791, ptr @.str16994) 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 @.str16995) store ptr %t794, ptr %retval br label %ret ifend192: %t795 = load ptr, ptr %t48 %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str16996) %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: %t806 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t806, ptr @.fmt_bounds, ptr @.str16998, 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 @.str16997, 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 @.str16999) %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: %t832 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t832, ptr @.fmt_bounds, ptr @.str17001, 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 @.str17000, 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 @.str17002) %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: %t858 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t858, ptr @.fmt_bounds, ptr @.str17004, 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 @.str17003, 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 @.str17005) %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: %t884 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t884, ptr @.fmt_bounds, ptr @.str17007, 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 @.str17006, 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 @.str17008) %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 @.str17009) %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: %t905 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t905, ptr @.fmt_bounds, ptr @.str17010, 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 7002, ptr @lp_site %t914 = call ptr @lp_str_concat(ptr @.str17011, ptr %t913) store i32 0, ptr @lp_site %t915 = call ptr @fn_emit_bind(ptr %t914) %t916 = call ptr @fn_val(ptr %t915, ptr @.str17012) store ptr %t916, ptr %retval br label %ret ifend226: %t917 = load ptr, ptr %t48 %t918 = call i32 @lp_str_eq(ptr %t917, ptr @.str17013) %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: %t928 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t928, ptr @.fmt_bounds, ptr @.str17014, 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 @.str17015) 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 7003, ptr @lp_site %t953 = call ptr @lp_str_concat(ptr @.str17016, ptr %t952) store i32 0, ptr @lp_site store i32 7004, ptr @lp_site %t954 = call ptr @lp_str_concat(ptr %t953, ptr @.str17017) 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 @.str17018) store ptr %t956, ptr %retval br label %ret ifend231: %t960 = load ptr, ptr %t48 %t961 = call i32 @lp_str_eq(ptr %t960, ptr @.str17019) %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 @.str17020) %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: %t1000 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1000, ptr @.fmt_bounds, ptr @.str17021, 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 @.str17022) %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: %t1039 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1039, ptr @.fmt_bounds, ptr @.str17023, 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 @.str17024) %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 7005, ptr @lp_site %t1059 = call ptr @lp_str_concat(ptr @.str17025, ptr %t1058) store i32 0, ptr @lp_site store i32 7006, ptr @lp_site %t1060 = call ptr @lp_str_concat(ptr %t1059, ptr @.str17026) 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 @.str17027) 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 @.str17028) %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 7007, ptr @lp_site %t1072 = call ptr @lp_str_concat(ptr @.str17029, ptr %t1071) store i32 0, ptr @lp_site store i32 7008, ptr @lp_site %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str17030) 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 @.str17031) 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 @.str17032) store ptr %t1079, ptr %retval br label %ret ifend257: %t1082 = load ptr, ptr %t48 %t1083 = call i32 @lp_str_eq(ptr %t1082, ptr @.str17033) %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: %t1114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1114, ptr @.fmt_bounds, ptr @.str17034, 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 @.str17035) store ptr %t1128, ptr %retval br label %ret ifend275: %t1130 = load ptr, ptr %t48 %t1131 = call i32 @lp_str_eq(ptr %t1130, ptr @.str17036) %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: %t1150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1150, ptr @.fmt_bounds, ptr @.str17037, 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 @.str17038) %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: %t1176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1176, ptr @.fmt_bounds, ptr @.str17039, 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 @.str17040) %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: %t1202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1202, ptr @.fmt_bounds, ptr @.str17041, 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 @.str17042) %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: %t1228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1228, ptr @.fmt_bounds, ptr @.str17043, 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 @.str17044) %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 @.str17045) %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 @.str17046, ptr %t1254 %t1255 = load ptr, ptr %t48 %t1256 = call i32 @lp_str_eq(ptr %t1255, ptr @.str17047) %t1257 = icmp ne i32 %t1256, 0 br i1 %t1257, label %then316, label %ifend318 then316: store ptr @.str17048, 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: %t1267 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1267, ptr @.fmt_bounds, ptr @.str17049, 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 @.str17050) %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: %t1283 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1283, ptr @.fmt_bounds, ptr @.str17051, 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 7009, ptr @lp_site %t1291 = call ptr @lp_str_concat(ptr @.str17052, ptr %t1290) store i32 0, ptr @lp_site store i32 7010, ptr @lp_site %t1292 = call ptr @lp_str_concat(ptr %t1291, ptr @.str17053) 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 @.str17054) store ptr %t1294, ptr %retval br label %ret ifend323: %t1295 = load ptr, ptr %t48 %t1296 = call i32 @lp_str_eq(ptr %t1295, ptr @.str17055) %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: %t1306 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1306, ptr @.fmt_bounds, ptr @.str17056, 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 7011, ptr @lp_site %t1314 = call ptr @lp_str_concat(ptr @.str17057, ptr %t1313) store i32 0, ptr @lp_site store i32 7012, ptr @lp_site %t1315 = call ptr @lp_str_concat(ptr %t1314, ptr @.str17058) 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 7013, ptr @lp_site %t1320 = call ptr @lp_str_concat(ptr %t1319, ptr @.str17059) 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 @.str17060, ptr @.str17061) %t1325 = call ptr @fn_val(ptr @.str17062, ptr @.str17063) store ptr %t1325, ptr %retval br label %ret ifend328: %t1326 = load ptr, ptr %t48 %t1327 = call i32 @lp_str_eq(ptr %t1326, ptr @.str17064) %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: %t1337 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1337, ptr @.fmt_bounds, ptr @.str17065, 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: %t1350 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1350, ptr @.fmt_bounds, ptr @.str17066, 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 @.str17067) %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 @.str17068) %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 7014, ptr @lp_site %t1396 = call ptr @lp_str_concat(ptr @.str17069, ptr %t1395) store i32 0, ptr @lp_site store i32 7015, ptr @lp_site %t1397 = call ptr @lp_str_concat(ptr %t1396, ptr @.str17070) 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 7016, 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 7017, ptr @lp_site %t1406 = call ptr @lp_str_concat(ptr %t1405, ptr @.str17071) 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 @.str17072, ptr @.str17073) store ptr %t1417, ptr %retval br label %ret ifend333: %t1418 = load ptr, ptr %t48 %t1419 = call i32 @lp_str_eq(ptr %t1418, ptr @.str17074) %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: %t1429 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1429, ptr @.fmt_bounds, ptr @.str17075, 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: %t1442 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1442, ptr @.fmt_bounds, ptr @.str17076, 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: %t1455 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1455, ptr @.fmt_bounds, ptr @.str17077, 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 7018, ptr @lp_site %t1493 = call ptr @lp_str_concat(ptr @.str17078, ptr %t1492) store i32 0, ptr @lp_site store i32 7019, ptr @lp_site %t1494 = call ptr @lp_str_concat(ptr %t1493, ptr @.str17079) 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 7020, 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 7021, ptr @lp_site %t1502 = call ptr @lp_str_concat(ptr @.str17080, 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 7022, ptr @lp_site %t1506 = call ptr @lp_str_concat(ptr @.str17081, ptr %t1505) store i32 0, ptr @lp_site store i32 7023, ptr @lp_site %t1507 = call ptr @lp_str_concat(ptr %t1506, ptr @.str17082) 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 7024, ptr @lp_site %t1511 = call ptr @lp_str_concat(ptr @.str17083, ptr %t1510) store i32 0, ptr @lp_site store i32 7025, ptr @lp_site %t1512 = call ptr @lp_str_concat(ptr %t1511, ptr @.str17084) store i32 0, ptr @lp_site call void @lp_free(ptr %t1511) %t1513 = load ptr, ptr %t1504 store i32 7026, 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 7027, ptr @lp_site %t1515 = call ptr @lp_str_concat(ptr %t1514, ptr @.str17085) store i32 0, ptr @lp_site call void @lp_free(ptr %t1514) %t1516 = load ptr, ptr %t1500 store i32 7028, 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 7029, ptr @lp_site %t1521 = call ptr @lp_str_concat(ptr @.str17086, ptr %t1520) store i32 0, ptr @lp_site store i32 7030, ptr @lp_site %t1522 = call ptr @lp_str_concat(ptr %t1521, ptr @.str17087) 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 7031, 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 7032, ptr @lp_site %t1531 = call ptr @lp_str_concat(ptr %t1530, ptr @.str17088) 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 @.str17089, ptr @.str17090) store ptr %t1542, ptr %retval br label %ret ifend350: %t1543 = load ptr, ptr %t48 %t1544 = call i32 @lp_str_eq(ptr %t1543, ptr @.str17091) %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: %t1554 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1554, ptr @.fmt_bounds, ptr @.str17092, 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 7033, ptr @lp_site %t1560 = call ptr @lp_str_concat(ptr %t1559, ptr @.str17093) 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 7034, 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 7035, ptr @lp_site %t1566 = call ptr @lp_str_concat(ptr %t1565, ptr @.str17094) 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 7036, ptr @lp_site %t1573 = call ptr @lp_str_concat(ptr @.str17095, ptr %t1572) store i32 0, ptr @lp_site store i32 7037, ptr @lp_site %t1574 = call ptr @lp_str_concat(ptr %t1573, ptr @.str17096) store i32 0, ptr @lp_site call void @lp_free(ptr %t1573) %t1575 = load ptr, ptr %t1568 store i32 7038, 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 7039, ptr @lp_site %t1577 = call ptr @lp_str_concat(ptr %t1576, ptr @.str17097) 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 7040, 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 7041, ptr @lp_site %t1582 = call ptr @lp_str_concat(ptr %t1581, ptr @.str17098) store i32 0, ptr @lp_site call void @lp_free(ptr %t1581) call void @fn_emit(ptr %t1582) call void @fn_emit(ptr @.str17099) store i32 1, ptr @g_g_term %t1583 = call ptr @fn_val(ptr @.str17100, ptr @.str17101) store ptr %t1583, ptr %retval br label %ret ifend366: %t1584 = load ptr, ptr %t48 %t1585 = call i32 @lp_str_eq(ptr %t1584, ptr @.str17102) %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: %t1595 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1595, ptr @.fmt_bounds, ptr @.str17103, 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 7042, ptr @lp_site %t1603 = call ptr @lp_str_concat(ptr @.str17104, ptr %t1602) store i32 0, ptr @lp_site store i32 7043, ptr @lp_site %t1604 = call ptr @lp_str_concat(ptr %t1603, ptr @.str17105) 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 @.str17106) store ptr %t1607, ptr %t1608 %t1609 = call ptr @fn_lbl(ptr @.str17107) store ptr %t1609, ptr %t1610 %t1611 = load ptr, ptr %t1606 store i32 7044, ptr @lp_site %t1612 = call ptr @lp_str_concat(ptr @.str17108, ptr %t1611) store i32 0, ptr @lp_site store i32 7045, ptr @lp_site %t1613 = call ptr @lp_str_concat(ptr %t1612, ptr @.str17109) store i32 0, ptr @lp_site call void @lp_free(ptr %t1612) %t1614 = load ptr, ptr %t1608 store i32 7046, 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 7047, ptr @lp_site %t1616 = call ptr @lp_str_concat(ptr %t1615, ptr @.str17110) store i32 0, ptr @lp_site call void @lp_free(ptr %t1615) %t1617 = load ptr, ptr %t1610 store i32 7048, 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 7049, ptr @lp_site %t1619 = call ptr @lp_str_concat(ptr %t1618, ptr @.str17111) 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 7050, ptr @lp_site %t1621 = call ptr @lp_str_concat(ptr %t1620, ptr @.str17112) 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: %t1630 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1630, ptr @.fmt_bounds, ptr @.str17113, 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 7051, ptr @lp_site %t1636 = call ptr @lp_str_concat(ptr %t1635, ptr @.str17114) 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 7052, 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 7053, ptr @lp_site %t1642 = call ptr @lp_str_concat(ptr %t1641, ptr @.str17115) 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 7054, ptr @lp_site %t1649 = call ptr @lp_str_concat(ptr @.str17116, ptr %t1648) store i32 0, ptr @lp_site store i32 7055, ptr @lp_site %t1650 = call ptr @lp_str_concat(ptr %t1649, ptr @.str17117) store i32 0, ptr @lp_site call void @lp_free(ptr %t1649) %t1651 = load ptr, ptr %t1644 store i32 7056, 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 7057, ptr @lp_site %t1653 = call ptr @lp_str_concat(ptr %t1652, ptr @.str17118) 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 7058, 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 7059, ptr @lp_site %t1658 = call ptr @lp_str_concat(ptr %t1657, ptr @.str17119) store i32 0, ptr @lp_site call void @lp_free(ptr %t1657) call void @fn_emit(ptr %t1658) call void @fn_emit(ptr @.str17120) %t1659 = load ptr, ptr %t1608 store i32 7060, ptr @lp_site %t1660 = call ptr @lp_str_concat(ptr %t1659, ptr @.str17121) store i32 0, ptr @lp_site call void @fn_emit(ptr %t1660) %t1661 = call ptr @fn_val(ptr @.str17122, ptr @.str17123) store ptr %t1661, ptr %retval br label %ret ifend371: %t1663 = load ptr, ptr %t48 %t1664 = call i32 @lp_str_eq(ptr %t1663, ptr @.str17124) %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 @.str17125) %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: %t1682 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1682, ptr @.fmt_bounds, ptr @.str17126, 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 @.str17127) store ptr %t1687, ptr %t1688 %t1689 = load ptr, ptr %t1688 store i32 7061, ptr @lp_site %t1690 = call ptr @lp_str_concat(ptr @.str17128, ptr %t1689) store i32 0, ptr @lp_site store i32 7062, ptr @lp_site %t1691 = call ptr @lp_str_concat(ptr %t1690, ptr @.str17129) 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 7063, ptr @lp_site %t1695 = call ptr @lp_str_concat(ptr @.str17130, ptr %t1694) store i32 0, ptr @lp_site store i32 7064, ptr @lp_site %t1696 = call ptr @lp_str_concat(ptr %t1695, ptr @.str17131) 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 7065, ptr @lp_site %t1698 = call ptr @lp_str_concat(ptr @.str17132, ptr %t1697) store i32 0, ptr @lp_site store i32 7066, ptr @lp_site %t1699 = call ptr @lp_str_concat(ptr %t1698, ptr @.str17133) 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 @.str17135) store i32 7067, ptr @lp_site %t1704 = call ptr @lp_str_concat(ptr @.str17134, ptr %t1703) store i32 0, ptr @lp_site store i32 7068, ptr @lp_site %t1705 = call ptr @lp_str_concat(ptr %t1704, ptr @.str17136) store i32 0, ptr @lp_site call void @lp_free(ptr %t1704) %t1706 = load ptr, ptr %t1701 store i32 7069, 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 7070, ptr @lp_site %t1708 = call ptr @lp_str_concat(ptr %t1707, ptr @.str17137) 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 7071, ptr @lp_site %t1710 = call ptr @lp_str_concat(ptr @.str17138, ptr %t1709) store i32 0, ptr @lp_site store i32 7072, ptr @lp_site %t1711 = call ptr @lp_str_concat(ptr %t1710, ptr @.str17139) 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 7073, ptr @lp_site %t1715 = call ptr @lp_str_concat(ptr @.str17140, ptr %t1714) store i32 0, ptr @lp_site store i32 7074, ptr @lp_site %t1716 = call ptr @lp_str_concat(ptr %t1715, ptr @.str17141) 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 @.str17142) store ptr %t1718, ptr %retval br label %ret ifend380: %t1720 = load ptr, ptr %t48 %t1721 = call i32 @lp_str_eq(ptr %t1720, ptr @.str17143) %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 @.str17144) %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: %t1739 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1739, ptr @.fmt_bounds, ptr @.str17145, 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 @.str17146) store ptr %t1744, ptr %t1745 %t1746 = load ptr, ptr %t1745 store i32 7075, ptr @lp_site %t1747 = call ptr @lp_str_concat(ptr @.str17147, ptr %t1746) store i32 0, ptr @lp_site store i32 7076, ptr @lp_site %t1748 = call ptr @lp_str_concat(ptr %t1747, ptr @.str17148) 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 7077, ptr @lp_site %t1752 = call ptr @lp_str_concat(ptr @.str17149, ptr %t1751) store i32 0, ptr @lp_site store i32 7078, ptr @lp_site %t1753 = call ptr @lp_str_concat(ptr %t1752, ptr @.str17150) 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 7079, ptr @lp_site %t1755 = call ptr @lp_str_concat(ptr @.str17151, ptr %t1754) store i32 0, ptr @lp_site store i32 7080, ptr @lp_site %t1756 = call ptr @lp_str_concat(ptr %t1755, ptr @.str17152) 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 7081, ptr @lp_site %t1760 = call ptr @lp_str_concat(ptr @.str17153, ptr %t1759) store i32 0, ptr @lp_site store i32 7082, ptr @lp_site %t1761 = call ptr @lp_str_concat(ptr %t1760, ptr @.str17154) 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 7083, ptr @lp_site %t1763 = call ptr @lp_str_concat(ptr @.str17155, ptr %t1762) store i32 0, ptr @lp_site store i32 7084, ptr @lp_site %t1764 = call ptr @lp_str_concat(ptr %t1763, ptr @.str17156) 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 7085, ptr @lp_site %t1770 = call ptr @lp_str_concat(ptr @.str17157, ptr %t1769) store i32 0, ptr @lp_site store i32 7086, ptr @lp_site %t1771 = call ptr @lp_str_concat(ptr %t1770, ptr @.str17158) store i32 0, ptr @lp_site call void @lp_free(ptr %t1770) %t1772 = load ptr, ptr %t1766 store i32 7087, 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 7088, ptr @lp_site %t1774 = call ptr @lp_str_concat(ptr %t1773, ptr @.str17159) 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 @.str17160) store ptr %t1776, ptr %retval br label %ret ifend387: %t1778 = load ptr, ptr %t48 %t1779 = call i32 @lp_str_eq(ptr %t1778, ptr @.str17161) %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 @.str17162) %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: %t1797 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1797, ptr @.fmt_bounds, ptr @.str17163, 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 7089, ptr @lp_site %t1805 = call ptr @lp_str_concat(ptr @.str17164, ptr %t1804) store i32 0, ptr @lp_site store i32 7090, ptr @lp_site %t1806 = call ptr @lp_str_concat(ptr %t1805, ptr @.str17165) 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 7091, ptr @lp_site %t1810 = call ptr @lp_str_concat(ptr @.str17166, 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 7092, ptr @lp_site %t1814 = call ptr @lp_str_concat(ptr @.str17167, ptr %t1813) store i32 0, ptr @lp_site store i32 7093, ptr @lp_site %t1815 = call ptr @lp_str_concat(ptr %t1814, ptr @.str17168) 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 7094, ptr @lp_site %t1819 = call ptr @lp_str_concat(ptr @.str17169, ptr %t1818) store i32 0, ptr @lp_site store i32 7095, ptr @lp_site %t1820 = call ptr @lp_str_concat(ptr %t1819, ptr @.str17170) 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 @.str17171) store ptr %t1822, ptr %retval br label %ret ifend394: %t1824 = load ptr, ptr %t48 %t1825 = call i32 @lp_str_eq(ptr %t1824, ptr @.str17172) %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 @.str17173) %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: %t1843 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1843, ptr @.fmt_bounds, ptr @.str17174, 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 7096, ptr @lp_site %t1851 = call ptr @lp_str_concat(ptr @.str17175, ptr %t1850) store i32 0, ptr @lp_site store i32 7097, ptr @lp_site %t1852 = call ptr @lp_str_concat(ptr %t1851, ptr @.str17176) 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 7098, ptr @lp_site %t1856 = call ptr @lp_str_concat(ptr @.str17177, 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 7099, ptr @lp_site %t1860 = call ptr @lp_str_concat(ptr @.str17178, ptr %t1859) store i32 0, ptr @lp_site store i32 7100, ptr @lp_site %t1861 = call ptr @lp_str_concat(ptr %t1860, ptr @.str17179) 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 7101, ptr @lp_site %t1865 = call ptr @lp_str_concat(ptr @.str17180, ptr %t1864) store i32 0, ptr @lp_site store i32 7102, ptr @lp_site %t1866 = call ptr @lp_str_concat(ptr %t1865, ptr @.str17181) 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 @.str17182) store ptr %t1868, ptr %retval br label %ret ifend401: %t1870 = load ptr, ptr %t48 %t1871 = call i32 @lp_str_eq(ptr %t1870, ptr @.str17183) %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 @.str17184) %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: %t1889 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1889, ptr @.fmt_bounds, ptr @.str17185, 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 @.str17186) store ptr %t1894, ptr %t1895 %t1896 = load ptr, ptr %t1895 store i32 7103, ptr @lp_site %t1897 = call ptr @lp_str_concat(ptr @.str17187, ptr %t1896) store i32 0, ptr @lp_site store i32 7104, ptr @lp_site %t1898 = call ptr @lp_str_concat(ptr %t1897, ptr @.str17188) 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 7105, ptr @lp_site %t1902 = call ptr @lp_str_concat(ptr @.str17189, ptr %t1901) store i32 0, ptr @lp_site store i32 7106, ptr @lp_site %t1903 = call ptr @lp_str_concat(ptr %t1902, ptr @.str17190) 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 7107, ptr @lp_site %t1905 = call ptr @lp_str_concat(ptr @.str17191, ptr %t1904) store i32 0, ptr @lp_site store i32 7108, ptr @lp_site %t1906 = call ptr @lp_str_concat(ptr %t1905, ptr @.str17192) 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 @.str17194) store i32 7109, ptr @lp_site %t1911 = call ptr @lp_str_concat(ptr @.str17193, ptr %t1910) store i32 0, ptr @lp_site store i32 7110, ptr @lp_site %t1912 = call ptr @lp_str_concat(ptr %t1911, ptr @.str17195) store i32 0, ptr @lp_site call void @lp_free(ptr %t1911) %t1913 = load ptr, ptr %t1908 store i32 7111, 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 7112, ptr @lp_site %t1915 = call ptr @lp_str_concat(ptr %t1914, ptr @.str17196) 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 @.str17197) store ptr %t1917, ptr %retval br label %ret ifend408: %t1919 = load ptr, ptr %t48 %t1920 = call i32 @lp_str_eq(ptr %t1919, ptr @.str17198) %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 @.str17199) %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 @.str17200) store ptr %t1930, ptr %t1931 %t1932 = load ptr, ptr %t1931 store i32 7113, ptr @lp_site %t1933 = call ptr @lp_str_concat(ptr @.str17201, ptr %t1932) store i32 0, ptr @lp_site store i32 7114, ptr @lp_site %t1934 = call ptr @lp_str_concat(ptr %t1933, ptr @.str17202) 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 7115, ptr @lp_site %t1938 = call ptr @lp_str_concat(ptr @.str17203, ptr %t1937) store i32 0, ptr @lp_site store i32 7116, ptr @lp_site %t1939 = call ptr @lp_str_concat(ptr %t1938, ptr @.str17204) 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 7117, ptr @lp_site %t1941 = call ptr @lp_str_concat(ptr @.str17205, ptr %t1940) store i32 0, ptr @lp_site store i32 7118, ptr @lp_site %t1942 = call ptr @lp_str_concat(ptr %t1941, ptr @.str17206) 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 7119, ptr @lp_site %t1946 = call ptr @lp_str_concat(ptr @.str17207, ptr %t1945) store i32 0, ptr @lp_site store i32 7120, ptr @lp_site %t1947 = call ptr @lp_str_concat(ptr %t1946, ptr @.str17208) 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 @.str17209) store ptr %t1949, ptr %retval br label %ret ifend415: %t1951 = load ptr, ptr %t48 %t1952 = call i32 @lp_str_eq(ptr %t1951, ptr @.str17210) %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 @.str17211) %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: %t1970 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1970, ptr @.fmt_bounds, ptr @.str17212, 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 7121, ptr @lp_site %t1978 = call ptr @lp_str_concat(ptr @.str17213, ptr %t1977) store i32 0, ptr @lp_site store i32 7122, ptr @lp_site %t1979 = call ptr @lp_str_concat(ptr %t1978, ptr @.str17214) 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 7123, ptr @lp_site %t1983 = call ptr @lp_str_concat(ptr @.str17215, 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 7124, ptr @lp_site %t1987 = call ptr @lp_str_concat(ptr @.str17216, ptr %t1986) store i32 0, ptr @lp_site store i32 7125, ptr @lp_site %t1988 = call ptr @lp_str_concat(ptr %t1987, ptr @.str17217) 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 7126, ptr @lp_site %t1992 = call ptr @lp_str_concat(ptr @.str17218, ptr %t1991) store i32 0, ptr @lp_site store i32 7127, ptr @lp_site %t1993 = call ptr @lp_str_concat(ptr %t1992, ptr @.str17219) 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 @.str17220) store ptr %t1995, ptr %retval br label %ret ifend420: %t1997 = load ptr, ptr %t48 %t1998 = call i32 @lp_str_eq(ptr %t1997, ptr @.str17221) %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 @.str17222) %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: %t2016 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2016, ptr @.fmt_bounds, ptr @.str17223, 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 7128, ptr @lp_site %t2024 = call ptr @lp_str_concat(ptr @.str17224, ptr %t2023) store i32 0, ptr @lp_site store i32 7129, ptr @lp_site %t2025 = call ptr @lp_str_concat(ptr %t2024, ptr @.str17225) 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 7130, ptr @lp_site %t2029 = call ptr @lp_str_concat(ptr @.str17226, 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 7131, ptr @lp_site %t2033 = call ptr @lp_str_concat(ptr @.str17227, ptr %t2032) store i32 0, ptr @lp_site store i32 7132, ptr @lp_site %t2034 = call ptr @lp_str_concat(ptr %t2033, ptr @.str17228) 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 7133, ptr @lp_site %t2038 = call ptr @lp_str_concat(ptr @.str17229, ptr %t2037) store i32 0, ptr @lp_site store i32 7134, ptr @lp_site %t2039 = call ptr @lp_str_concat(ptr %t2038, ptr @.str17230) 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 @.str17231) store ptr %t2041, ptr %retval br label %ret ifend427: %t2043 = load ptr, ptr %t48 %t2044 = call i32 @lp_str_eq(ptr %t2043, ptr @.str17232) %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 @.str17233) %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: %t2062 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2062, ptr @.fmt_bounds, ptr @.str17234, 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: %t2075 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2075, ptr @.fmt_bounds, ptr @.str17235, 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 7135, ptr @lp_site %t2083 = call ptr @lp_str_concat(ptr @.str17236, ptr %t2082) store i32 0, ptr @lp_site store i32 7136, ptr @lp_site %t2084 = call ptr @lp_str_concat(ptr %t2083, ptr @.str17237) 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 7137, ptr @lp_site %t2088 = call ptr @lp_str_concat(ptr @.str17238, 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 7138, ptr @lp_site %t2094 = call ptr @lp_str_concat(ptr @.str17239, ptr %t2093) store i32 0, ptr @lp_site store i32 7139, ptr @lp_site %t2095 = call ptr @lp_str_concat(ptr %t2094, ptr @.str17240) 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 7140, ptr @lp_site %t2099 = call ptr @lp_str_concat(ptr @.str17241, 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 7141, ptr @lp_site %t2103 = call ptr @lp_str_concat(ptr @.str17242, ptr %t2102) store i32 0, ptr @lp_site store i32 7142, ptr @lp_site %t2104 = call ptr @lp_str_concat(ptr %t2103, ptr @.str17243) 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 7143, ptr @lp_site %t2108 = call ptr @lp_str_concat(ptr @.str17244, ptr %t2107) store i32 0, ptr @lp_site store i32 7144, ptr @lp_site %t2109 = call ptr @lp_str_concat(ptr %t2108, ptr @.str17245) store i32 0, ptr @lp_site call void @lp_free(ptr %t2108) %t2110 = load ptr, ptr %t2101 store i32 7145, 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 7146, ptr @lp_site %t2112 = call ptr @lp_str_concat(ptr %t2111, ptr @.str17246) 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 @.str17247) store i32 7147, 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 @.str17248) store ptr %t2117, ptr %retval br label %ret ifend434: %t2118 = load ptr, ptr %t48 %t2119 = call i32 @lp_str_eq(ptr %t2118, ptr @.str17249) %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: %t2129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2129, ptr @.fmt_bounds, ptr @.str17250, 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 7148, ptr @lp_site %t2137 = call ptr @lp_str_concat(ptr @.str17251, ptr %t2136) store i32 0, ptr @lp_site store i32 7149, ptr @lp_site %t2138 = call ptr @lp_str_concat(ptr %t2137, ptr @.str17252) 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 @.str17253) store ptr %t2140, ptr %retval br label %ret ifend441: %t2141 = load ptr, ptr %t48 %t2142 = call i32 @lp_str_eq(ptr %t2141, ptr @.str17254) %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: %t2152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2152, ptr @.fmt_bounds, ptr @.str17255, 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: %t2165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2165, ptr @.fmt_bounds, ptr @.str17256, 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 7150, ptr @lp_site %t2173 = call ptr @lp_str_concat(ptr @.str17257, ptr %t2172) store i32 0, ptr @lp_site store i32 7151, ptr @lp_site %t2174 = call ptr @lp_str_concat(ptr %t2173, ptr @.str17258) 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 7152, 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 7153, ptr @lp_site %t2179 = call ptr @lp_str_concat(ptr %t2178, ptr @.str17259) 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 @.str17260) store ptr %t2181, ptr %retval br label %ret ifend446: %t2182 = load ptr, ptr %t48 %t2183 = call i32 @lp_str_eq(ptr %t2182, ptr @.str17261) %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: %t2193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2193, ptr @.fmt_bounds, ptr @.str17262, 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: %t2206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2206, ptr @.fmt_bounds, ptr @.str17263, 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: %t2219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2219, ptr @.fmt_bounds, ptr @.str17264, 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 7154, ptr @lp_site %t2227 = call ptr @lp_str_concat(ptr @.str17265, ptr %t2226) store i32 0, ptr @lp_site store i32 7155, ptr @lp_site %t2228 = call ptr @lp_str_concat(ptr %t2227, ptr @.str17266) 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 7156, 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 7157, ptr @lp_site %t2233 = call ptr @lp_str_concat(ptr %t2232, ptr @.str17267) 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 7158, 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 7159, ptr @lp_site %t2238 = call ptr @lp_str_concat(ptr %t2237, ptr @.str17268) 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 7160, ptr @lp_site %t2242 = call ptr @lp_str_concat(ptr @.str17269, ptr %t2241) store i32 0, ptr @lp_site store i32 7161, ptr @lp_site %t2243 = call ptr @lp_str_concat(ptr %t2242, ptr @.str17270) 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 @.str17271) store ptr %t2245, ptr %retval br label %ret ifend453: %t2246 = load ptr, ptr %t48 %t2247 = call i32 @lp_str_eq(ptr %t2246, ptr @.str17272) %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: %t2257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2257, ptr @.fmt_bounds, ptr @.str17273, 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: %t2270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2270, ptr @.fmt_bounds, ptr @.str17274, 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: %t2283 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2283, ptr @.fmt_bounds, ptr @.str17275, 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: %t2296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2296, ptr @.fmt_bounds, ptr @.str17276, 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 7162, ptr @lp_site %t2304 = call ptr @lp_str_concat(ptr @.str17277, ptr %t2303) store i32 0, ptr @lp_site store i32 7163, ptr @lp_site %t2305 = call ptr @lp_str_concat(ptr %t2304, ptr @.str17278) 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 @.str17279) %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 @.str17280) %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 @.str17281) %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 @.str17282) %t2317 = load ptr, ptr %t2307 call void @fn_emit(ptr %t2317) call void @fn_emit(ptr @.str17283) %t2318 = call ptr @fn_val(ptr @.str17284, ptr @.str17285) store ptr %t2318, ptr %retval br label %ret ifend462: %t2319 = load ptr, ptr %t48 %t2320 = call i32 @lp_str_eq(ptr %t2319, ptr @.str17286) %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: %t2330 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2330, ptr @.fmt_bounds, ptr @.str17287, 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: %t2343 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2343, ptr @.fmt_bounds, ptr @.str17288, 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 7164, ptr @lp_site %t2351 = call ptr @lp_str_concat(ptr @.str17289, ptr %t2350) store i32 0, ptr @lp_site store i32 7165, ptr @lp_site %t2352 = call ptr @lp_str_concat(ptr %t2351, ptr @.str17290) 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 7166, 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 7167, ptr @lp_site %t2357 = call ptr @lp_str_concat(ptr %t2356, ptr @.str17291) 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 @.str17292) store ptr %t2359, ptr %retval br label %ret ifend473: %t2360 = load ptr, ptr %t48 %t2361 = call i32 @lp_str_eq(ptr %t2360, ptr @.str17293) %t2362 = icmp ne i32 %t2361, 0 br i1 %t2362, label %then478, label %ifend480 then478: %t2363 = call ptr @fn_emit_bind(ptr @.str17294) %t2364 = call ptr @fn_val(ptr %t2363, ptr @.str17295) store ptr %t2364, ptr %retval br label %ret ifend480: %t2365 = load ptr, ptr %t48 %t2366 = call i32 @lp_str_eq(ptr %t2365, ptr @.str17296) %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: %t2376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2376, ptr @.fmt_bounds, ptr @.str17297, 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 7168, ptr @lp_site %t2384 = call ptr @lp_str_concat(ptr @.str17298, ptr %t2383) store i32 0, ptr @lp_site store i32 7169, ptr @lp_site %t2385 = call ptr @lp_str_concat(ptr %t2384, ptr @.str17299) 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 @.str17300) store ptr %t2387, ptr %retval br label %ret ifend483: %t2388 = load ptr, ptr %t48 %t2389 = call i32 @lp_str_eq(ptr %t2388, ptr @.str17301) %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: %t2399 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2399, ptr @.fmt_bounds, ptr @.str17302, 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 7170, ptr @lp_site %t2407 = call ptr @lp_str_concat(ptr @.str17303, ptr %t2406) store i32 0, ptr @lp_site store i32 7171, ptr @lp_site %t2408 = call ptr @lp_str_concat(ptr %t2407, ptr @.str17304) 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 @.str17305) store ptr %t2410, ptr %retval br label %ret ifend488: %t2411 = load ptr, ptr %t48 %t2412 = call i32 @lp_str_eq(ptr %t2411, ptr @.str17306) %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: %t2422 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2422, ptr @.fmt_bounds, ptr @.str17307, 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: %t2435 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2435, ptr @.fmt_bounds, ptr @.str17308, 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 7172, ptr @lp_site %t2443 = call ptr @lp_str_concat(ptr @.str17309, ptr %t2442) store i32 0, ptr @lp_site store i32 7173, ptr @lp_site %t2444 = call ptr @lp_str_concat(ptr %t2443, ptr @.str17310) 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 7174, 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 7175, ptr @lp_site %t2449 = call ptr @lp_str_concat(ptr %t2448, ptr @.str17311) 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 @.str17312) store ptr %t2451, ptr %retval br label %ret ifend493: %t2452 = load ptr, ptr %t48 %t2453 = call i32 @lp_str_eq(ptr %t2452, ptr @.str17313) %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: %t2463 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2463, ptr @.fmt_bounds, ptr @.str17314, 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: %t2476 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2476, ptr @.fmt_bounds, ptr @.str17315, 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 7176, ptr @lp_site %t2484 = call ptr @lp_str_concat(ptr @.str17316, ptr %t2483) store i32 0, ptr @lp_site store i32 7177, ptr @lp_site %t2485 = call ptr @lp_str_concat(ptr %t2484, ptr @.str17317) 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 7178, 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 7179, ptr @lp_site %t2490 = call ptr @lp_str_concat(ptr %t2489, ptr @.str17318) 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 @.str17319) store ptr %t2492, ptr %retval br label %ret ifend500: %t2493 = load ptr, ptr %t48 %t2494 = call i32 @lp_str_eq(ptr %t2493, ptr @.str17320) %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: %t2504 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2504, ptr @.fmt_bounds, ptr @.str17321, 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: %t2517 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2517, ptr @.fmt_bounds, ptr @.str17322, 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 @.str17323) %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 @.str17324) %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 @.str17325) %t2528 = call ptr @fn_val(ptr @.str17326, ptr @.str17327) store ptr %t2528, ptr %retval br label %ret ifend507: %t2529 = load ptr, ptr %t48 %t2530 = call i32 @lp_str_eq(ptr %t2529, ptr @.str17328) %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: %t2540 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2540, ptr @.fmt_bounds, ptr @.str17329, 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: %t2553 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2553, ptr @.fmt_bounds, ptr @.str17330, 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 @.str17331) %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 @.str17332) %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 @.str17333) %t2564 = call ptr @fn_val(ptr @.str17334, ptr @.str17335) store ptr %t2564, ptr %retval br label %ret ifend514: %t2565 = load ptr, ptr %t48 %t2566 = call i32 @lp_str_eq(ptr %t2565, ptr @.str17336) %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: %t2576 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2576, ptr @.fmt_bounds, ptr @.str17337, 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 7180, ptr @lp_site %t2584 = call ptr @lp_str_concat(ptr @.str17338, ptr %t2583) store i32 0, ptr @lp_site store i32 7181, ptr @lp_site %t2585 = call ptr @lp_str_concat(ptr %t2584, ptr @.str17339) 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 @.str17340) store ptr %t2587, ptr %retval br label %ret ifend521: %t2588 = load ptr, ptr %t48 %t2589 = call i32 @lp_str_eq(ptr %t2588, ptr @.str17341) %t2590 = icmp ne i32 %t2589, 0 br i1 %t2590, label %then524, label %ifend526 then524: %t2591 = call ptr @fn_emit_bind(ptr @.str17342) %t2592 = call ptr @fn_val(ptr %t2591, ptr @.str17343) store ptr %t2592, ptr %retval br label %ret ifend526: %t2593 = load ptr, ptr %t48 %t2594 = call i32 @lp_str_eq(ptr %t2593, ptr @.str17344) %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: %t2604 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2604, ptr @.fmt_bounds, ptr @.str17345, 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 7182, ptr @lp_site %t2612 = call ptr @lp_str_concat(ptr @.str17346, ptr %t2611) store i32 0, ptr @lp_site store i32 7183, ptr @lp_site %t2613 = call ptr @lp_str_concat(ptr %t2612, ptr @.str17347) 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 @.str17348) store ptr %t2615, ptr %retval br label %ret ifend529: %t2616 = load ptr, ptr %t48 %t2617 = call i32 @lp_str_eq(ptr %t2616, ptr @.str17349) %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: %t2627 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2627, ptr @.fmt_bounds, ptr @.str17350, 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 7184, ptr @lp_site %t2635 = call ptr @lp_str_concat(ptr @.str17351, ptr %t2634) store i32 0, ptr @lp_site store i32 7185, ptr @lp_site %t2636 = call ptr @lp_str_concat(ptr %t2635, ptr @.str17352) 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 @.str17353) store ptr %t2638, ptr %retval br label %ret ifend534: %t2639 = load ptr, ptr %t48 %t2640 = call i32 @lp_str_eq(ptr %t2639, ptr @.str17354) %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: %t2650 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2650, ptr @.fmt_bounds, ptr @.str17355, 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: %t2663 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2663, ptr @.fmt_bounds, ptr @.str17356, 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 7186, ptr @lp_site %t2671 = call ptr @lp_str_concat(ptr @.str17357, ptr %t2670) store i32 0, ptr @lp_site store i32 7187, ptr @lp_site %t2672 = call ptr @lp_str_concat(ptr %t2671, ptr @.str17358) 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 7188, 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 7189, ptr @lp_site %t2677 = call ptr @lp_str_concat(ptr %t2676, ptr @.str17359) 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 @.str17360) store ptr %t2679, ptr %retval br label %ret ifend539: %t2680 = load ptr, ptr %t48 %t2681 = call i32 @lp_str_eq(ptr %t2680, ptr @.str17361) %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: %t2691 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2691, ptr @.fmt_bounds, ptr @.str17362, 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: %t2704 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2704, ptr @.fmt_bounds, ptr @.str17363, 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 7190, ptr @lp_site %t2712 = call ptr @lp_str_concat(ptr @.str17364, ptr %t2711) store i32 0, ptr @lp_site store i32 7191, ptr @lp_site %t2713 = call ptr @lp_str_concat(ptr %t2712, ptr @.str17365) 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 7192, 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 7193, ptr @lp_site %t2718 = call ptr @lp_str_concat(ptr %t2717, ptr @.str17366) 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 @.str17367) 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 7194, 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 7195, 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: %t2785 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2785, ptr @.fmt_bounds, ptr @.str17368, 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 7196, ptr @lp_site %t2799 = call ptr @lp_str_concat(ptr @.str17369, ptr %t2798) store i32 0, ptr @lp_site %t2800 = call ptr @fn_emit_bind(ptr %t2799) %t2801 = call ptr @fn_val(ptr %t2800, ptr @.str17370) 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: %t2820 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2820, ptr @.fmt_bounds, ptr @.str17371, 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 @.str17372, 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 7197, 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 7198, 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 @.str17373) store ptr @.str17374, ptr %t2875 %t2876 = load ptr, ptr %t2874 %t2877 = call i32 @lp_str_eq(ptr %t2876, ptr @.str17375) %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 @.str17376) br label %ifend585 ifend585: call void @fn_emit(ptr @.str17377) %t2883 = load ptr, ptr %t2874 call void @fn_emit(ptr %t2883) call void @fn_emit(ptr @.str17378) %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 @.str17379) 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 @.str17380) 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: %t2907 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2907, ptr @.fmt_bounds, ptr @.str17381, 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 @.str17382) %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: %t2918 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2918, ptr @.fmt_bounds, ptr @.str17383, 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 @.str17384) %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 7199, ptr @lp_site %t2951 = call ptr @lp_str_concat(ptr @.str17385, 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 7200, ptr @lp_site %t2960 = call ptr @lp_str_concat(ptr @.str17386, 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 7201, 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 7202, 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: %t3018 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3018, ptr @.fmt_bounds, ptr @.str17387, 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: %t3041 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3041, ptr @.fmt_bounds, ptr @.str17388, 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 7203, 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 7204, 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 @.str17389) store ptr @.str17390, ptr %t3093 %t3094 = load ptr, ptr %t3092 %t3095 = call i32 @lp_str_eq(ptr %t3094, ptr @.str17391) %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 @.str17392) br label %ifend624 ifend624: call void @fn_emit(ptr @.str17393) %t3101 = load ptr, ptr %t3092 call void @fn_emit(ptr %t3101) call void @fn_emit(ptr @.str17394) %t3102 = load ptr, ptr %t2945 call void @fn_emit(ptr %t3102) call void @fn_emit(ptr @.str17395) 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 @.str17396) 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: %t3121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3121, ptr @.fmt_bounds, ptr @.str17397, 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 @.str17398) %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: %t3132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3132, ptr @.fmt_bounds, ptr @.str17399, 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 @.str17400) %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 @.str17401, ptr @.str17402) 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 @.str17403, ptr @.str17404) 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 @.str17405) 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 @.str17406) 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 @.str17407) %t47 = call ptr @fn_val(ptr %t46, ptr @.str17408) 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 @.str17409) 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str17410, 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 @.str17411) 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 @.str17412, ptr @.str17413) 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 @.str17414) 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 7205, ptr @lp_site %t138 = call ptr @lp_str_concat(ptr @.str17415, ptr %t137) store i32 0, ptr @lp_site store i32 7206, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str17417) 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 7207, 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 7208, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str17418) 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 7209, 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 7210, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str17419) 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 @.str17420) 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 @.str17421) 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 @.str17422) 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: %t248 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t248, ptr @.fmt_bounds, ptr @.str17423, 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: %t258 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str17424, 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 7211, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr @.str17425, 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 7212, ptr @lp_site %t324 = call ptr @lp_str_concat(ptr @.str17426, ptr %t323) store i32 0, ptr @lp_site store i32 7213, ptr @lp_site %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str17427) 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 7214, 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 @.str17428) 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 7215, 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 7216, ptr @lp_site %t369 = call ptr @lp_str_concat(ptr @.str17429, 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 @.str17430) %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 7217, ptr @lp_site %t403 = call ptr @lp_str_concat(ptr @.str17431, 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 @.str17432) 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 @.str17433) %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 7218, ptr @lp_site %t426 = call ptr @lp_str_concat(ptr @.str17434, 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 @.str17435) 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 @.str17436) 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 @.str17437) %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 @.str17438) %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 @.str17439) %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 @.str17440) %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 @.str17441) 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 @.str17442) 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 @.str17443) %t532 = icmp ne i32 %t531, 0 br i1 %t532, label %then122, label %ifend124 then122: %t533 = load ptr, ptr %t529 store i32 7219, ptr @lp_site %t534 = call ptr @lp_str_concat(ptr @.str17444, 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 7220, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr @.str17445, ptr %t537) store i32 0, ptr @lp_site store i32 7221, ptr @lp_site %t539 = call ptr @lp_str_concat(ptr %t538, ptr @.str17446) 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 @.str17447) 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 @.str17448) %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 7222, ptr @lp_site %t601 = call ptr @lp_str_concat(ptr @.str17449, ptr %t600) store i32 0, ptr @lp_site store i32 7223, ptr @lp_site %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str17450) 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 7224, 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 7225, ptr @lp_site %t626 = call ptr @lp_str_concat(ptr @.str17451, ptr %t625) store i32 0, ptr @lp_site store i32 7226, ptr @lp_site %t627 = call ptr @lp_str_concat(ptr %t626, ptr @.str17452) 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 7227, 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 @.str17453) %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 7228, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr @.str17454, ptr %t650) store i32 0, ptr @lp_site %t652 = call ptr @fn_emit_bind(ptr %t651) %t653 = call ptr @fn_val(ptr %t652, ptr @.str17455) 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 @.str17456) %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 @.str17457) %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 7229, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr @.str17458, ptr %t672) store i32 0, ptr @lp_site %t674 = call ptr @fn_emit_bind(ptr %t673) %t675 = call ptr @fn_val(ptr %t674, ptr @.str17459) 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 @.str17460) %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 7230, ptr @lp_site %t684 = call ptr @lp_str_concat(ptr @.str17461, ptr %t683) store i32 0, ptr @lp_site store i32 7231, ptr @lp_site %t685 = call ptr @lp_str_concat(ptr %t684, ptr @.str17462) 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 @.str17463) 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 @.str17464) %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 7232, ptr @lp_site %t696 = call ptr @lp_str_concat(ptr @.str17465, 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 @.str17466) %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 7233, ptr @lp_site %t711 = call ptr @lp_str_concat(ptr @.str17467, ptr %t710) store i32 0, ptr @lp_site store i32 7234, ptr @lp_site %t712 = call ptr @lp_str_concat(ptr %t711, ptr @.str17468) 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 7235, ptr @lp_site %t722 = call ptr @lp_str_concat(ptr @.str17469, ptr %t721) store i32 0, ptr @lp_site store i32 7236, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str17470) 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 7237, ptr @lp_site %t727 = call ptr @lp_str_concat(ptr @.str17471, ptr %t726) store i32 0, ptr @lp_site store i32 7238, ptr @lp_site %t728 = call ptr @lp_str_concat(ptr %t727, ptr @.str17472) 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 @.str17473) 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 7239, ptr @lp_site %t735 = call ptr @lp_str_concat(ptr @.str17474, ptr %t734) store i32 0, ptr @lp_site store i32 7240, ptr @lp_site %t736 = call ptr @lp_str_concat(ptr %t735, ptr @.str17475) store i32 0, ptr @lp_site call void @lp_free(ptr %t735) call void @fn_perr(ptr %t736) %t737 = call ptr @fn_val(ptr @.str17476, ptr @.str17477) 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 @.str17478, 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 7241, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str17479) 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str17481, 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 7242, 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 @.str17482, ptr %t44 br label %ifend10 ifend10: %t49 = load ptr, ptr %t1 store i32 7243, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str17483) store i32 0, ptr @lp_site %t51 = load ptr, ptr %t44 store i32 7244, 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 7245, 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 7246, 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 7247, 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 7248, 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 7249, 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 7250, 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 @.str17486, 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 7251, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str17487, ptr %t12) store i32 0, ptr @lp_site store i32 7252, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str17489) 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 7253, 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 7254, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str17490, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str17491, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str17492, 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 7255, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str17493, ptr %t3) store i32 0, ptr @lp_site store i32 7256, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str17495) 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str17496, 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 7257, 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 @.str17497, 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 @.str17498, ptr %t69 store ptr @.str17499, ptr %t70 store ptr @.str17500, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str17501, 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 7258, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str17502, ptr %t108) store i32 0, ptr @lp_site store i32 7259, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str17503) 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 7260, 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 7261, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str17504) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) store i32 7262, 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 7263, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str17505, ptr %t119) store i32 0, ptr @lp_site store i32 7264, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str17506) 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 7265, 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 7266, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str17507) store i32 0, ptr @lp_site call void @lp_free(ptr %t125) store i32 7267, 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 7268, ptr @lp_site %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str17508) 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 7269, ptr @lp_site %t139 = call ptr @lp_str_concat(ptr @.str17509, ptr %t138) store i32 0, ptr @lp_site store i32 7270, 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 7271, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str17510) 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 7272, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str17511) store i32 0, ptr @lp_site %t155 = load i32, ptr %t7 %t156 = call ptr @fn_itoa(i32 %t155) store i32 7273, 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 7274, 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 7275, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str17512) 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 7276, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str17513) store i32 0, ptr @lp_site %t173 = load i32, ptr %t7 %t174 = call ptr @fn_itoa(i32 %t173) store i32 7277, 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 7278, 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 7279, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str17514, ptr %t179) store i32 0, ptr @lp_site store i32 7280, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str17515) 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 7281, 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 7282, ptr @lp_site %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str17516) store i32 0, ptr @lp_site call void @lp_free(ptr %t185) %t187 = load ptr, ptr %t70 store i32 7283, 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 7284, ptr @lp_site %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str17517) 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 @.str17518) %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 7285, ptr @lp_site %t197 = call ptr @lp_str_concat(ptr @.str17519, ptr %t196) store i32 0, ptr @lp_site store i32 7286, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str17520) 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 7287, 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 7288, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str17521) store i32 0, ptr @lp_site call void @lp_free(ptr %t202) %t204 = load ptr, ptr %t70 store i32 7289, 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 7290, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str17522) store i32 0, ptr @lp_site call void @lp_free(ptr %t205) %t207 = load ptr, ptr %t58 store i32 7291, 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 7292, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str17523) 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 7293, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str17524, ptr %t210) store i32 0, ptr @lp_site store i32 7294, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str17525) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) %t213 = load ptr, ptr %t6 store i32 7295, 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 7296, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str17526) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) %t216 = load ptr, ptr %t69 store i32 7297, 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 7298, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str17527) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) %t219 = load ptr, ptr %t71 store i32 7299, 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 7300, 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 7301, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str17528) 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 7302, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str17529, 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 7303, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str17531, ptr %t25) store i32 0, ptr @lp_site store i32 7304, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str17533) 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 7305, 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 7306, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str17534) 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 7307, 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 7308, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str17535, 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str17536, 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 7309, 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 @.str17537) store ptr @.str17538, ptr %t108 %t109 = load ptr, ptr %t107 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str17539) %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 @.str17540) br label %ifend14 ifend14: %t116 = load ptr, ptr %t107 store i32 7310, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr @.str17541, ptr %t116) store i32 0, ptr @lp_site store i32 7311, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str17542) 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 7312, 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 7313, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str17543) 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 @.str17544) 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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str17545, 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 7314, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str17546) 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: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str17547, 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 7315, 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 @.str17548) %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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str17549, 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 7316, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str17550, ptr %t127) store i32 0, ptr @lp_site store i32 7317, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str17552) 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 @.str17553) %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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str17554, 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 @.str17555) %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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str17556, 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 @.str17557) %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 7318, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str17558, ptr %t87) store i32 0, ptr @lp_site store i32 7319, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str17560) 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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str17561, 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 7320, ptr @lp_site %t118 = call ptr @lp_str_concat(ptr @.str17562, ptr %t117) store i32 0, ptr @lp_site store i32 7321, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str17563) 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 7322, 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 7323, ptr @lp_site %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str17564) 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 7324, 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 7325, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str17565) 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 7326, 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 7327, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str17566) 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 @.str17567) %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 7328, 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 %t1 = load ptr, ptr @__stderrp %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = zext i32 %t5 to i64 %t7 = call i64 @fwrite(ptr %t2, i64 1, i64 %t6, ptr %t1) %t8 = trunc i64 %t7 to i32 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 %t53 = alloca i32 %t92 = alloca ptr %t94 = alloca ptr %t101 = alloca ptr %t106 = alloca ptr %t107 = alloca i32 %t108 = alloca i32 %t109 = alloca i32 %t195 = alloca ptr %t206 = alloca ptr %t207 = alloca i32 %t261 = 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 @.str17569) %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: %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call i32 @fn_str_prefix(ptr %t56, ptr @.str17570) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t53 br i1 %t58, label %scend15, label %sc14 sc14: %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @fn_str_prefix(ptr %t62, ptr @.str17571) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t53 br label %scend15 scend15: %t66 = load i32, ptr %t53 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t52 br i1 %t67, label %scend17, label %sc16 sc16: %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_is_action_builtin(ptr %t71) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t52 br label %scend17 scend17: %t75 = load i32, ptr %t52 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t44 br label %scend13 scend13: %t78 = load i32, ptr %t44 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then18, label %ifend20 then18: br label %ret ifend20: %t80 = load ptr, ptr %t0 %t81 = load ptr, ptr %t1 call void @fn_deps_edge(ptr %t80, ptr %t81) %t82 = load i32, ptr @g_g_vis_off %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then21, label %ifend23 then21: br label %ret ifend23: %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 9 %t86 = load ptr, ptr %t85 %t87 = icmp eq ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then24, label %ifend26 then24: br label %ret ifend26: %t90 = load ptr, ptr %t1 %t91 = call ptr @fn_vis_plain(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr @g_g_err_file store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = icmp eq ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then27, label %ifend29 then27: br label %ret ifend29: %t99 = load ptr, ptr %t94 %t100 = call ptr @fn_module_of(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 9 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_module_for_uses(ptr %t104) store ptr %t105, ptr %t106 %t110 = load ptr, ptr %t106 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str17572) %t112 = icmp eq 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 %t109 br i1 %t114, label %sc30, label %scend31 sc30: %t116 = load ptr, ptr %t101 %t117 = load ptr, ptr %t106 %t118 = call i32 @lp_str_eq(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 %t109 br label %scend31 scend31: %t123 = load i32, ptr %t109 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t108 br i1 %t124, label %sc32, label %scend33 sc32: %t126 = load ptr, ptr %t101 %t127 = load ptr, ptr %t106 %t128 = call i32 @fn_module_friend_of(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 %t108 br label %scend33 scend33: %t133 = load i32, ptr %t108 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t107 br i1 %t134, label %sc34, label %scend35 sc34: %t136 = load ptr, ptr %t101 %t137 = load ptr, ptr %t106 %t138 = call i32 @fn_module_may_use(ptr %t136, ptr %t137) %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 %t107 br label %scend35 scend35: %t143 = load i32, ptr %t107 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then36, label %ifend38 then36: %t145 = call i32 @fn_vis_reporting() %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then39, label %else40 then39: %t147 = load ptr, ptr %t0 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 9 %t149 = load ptr, ptr %t148 store i32 7329, ptr @lp_site %t150 = call ptr @lp_str_concat(ptr @.str17573, ptr %t149) store i32 0, ptr @lp_site store i32 7330, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str17575) store i32 0, ptr @lp_site call void @lp_free(ptr %t150) %t152 = load ptr, ptr %t0 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 8 %t154 = load i32, ptr %t153 %t155 = call ptr @fn_itoa(i32 %t154) store i32 7331, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr %t151, ptr %t155) store i32 0, ptr @lp_site call void @lp_free(ptr %t151) store i32 7332, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str17576) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t106 store i32 7333, 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 7334, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str17577) store i32 0, ptr @lp_site call void @lp_free(ptr %t159) %t161 = load ptr, ptr %t92 store i32 7335, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t160, ptr %t161) store i32 0, ptr @lp_site call void @lp_free(ptr %t160) store i32 7336, ptr @lp_site %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str17578) store i32 0, ptr @lp_site call void @lp_free(ptr %t162) %t164 = load ptr, ptr %t94 store i32 7337, 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 7338, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str17579) store i32 0, ptr @lp_site call void @lp_free(ptr %t165) %t167 = load ptr, ptr %t101 store i32 7339, 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) store i32 7340, ptr @lp_site %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str17580) store i32 0, ptr @lp_site call void @lp_free(ptr %t168) call void @fn_vis_say(ptr %t169) br label %ifend41 else40: %t170 = load ptr, ptr %t101 store i32 7341, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str17581) store i32 0, ptr @lp_site %t172 = load ptr, ptr %t106 store i32 7342, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t171, ptr %t172) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) store i32 7343, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str17582) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) %t175 = load ptr, ptr %t92 store i32 7344, 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 7345, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str17583) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) %t178 = load ptr, ptr %t0 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 9 %t180 = load ptr, ptr %t179 store i32 7346, 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 7347, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str17584) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 8 %t185 = load i32, ptr %t184 %t186 = call ptr @fn_itoa(i32 %t185) store i32 7348, 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) store i32 7349, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str17585) store i32 0, ptr @lp_site call void @lp_free(ptr %t187) %t189 = load ptr, ptr %t106 store i32 7350, 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 7351, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str17586) store i32 0, ptr @lp_site call void @lp_free(ptr %t190) %t192 = load ptr, ptr %t101 store i32 7352, 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 7353, ptr @lp_site %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str17587) store i32 0, ptr @lp_site call void @lp_free(ptr %t193) store ptr %t194, ptr %t195 %t196 = load i32, ptr @g_g_diag_json %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then42, label %else43 then42: %t198 = load ptr, ptr %t94 %t199 = load i32, ptr @g_g_err_line %t200 = load ptr, ptr %t195 call void @fn_diag_add(ptr %t198, i32 %t199, i32 0, ptr @.str17588, ptr %t200) br label %ifend44 else43: %t201 = load ptr, ptr %t195 call void @fn_perr(ptr %t201) br label %ifend44 ifend44: br label %ifend41 ifend41: br label %ifend38 ifend38: %t202 = load ptr, ptr %t0 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 9 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_module_of(ptr %t204) store ptr %t205, ptr %t206 %t208 = load ptr, ptr %t206 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str17589) %t210 = icmp ne i32 %t209, 0 %t211 = zext i1 %t210 to i32 store i32 %t211, ptr %t207 br i1 %t210, label %scend46, label %sc45 sc45: %t212 = load ptr, ptr %t101 %t213 = load ptr, ptr %t206 %t214 = call i32 @lp_str_eq(ptr %t212, ptr %t213) %t215 = icmp ne i32 %t214, 0 %t216 = zext i1 %t215 to i32 store i32 %t216, ptr %t207 br label %scend46 scend46: %t217 = load i32, ptr %t207 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then47, label %ifend49 then47: br label %ret ifend49: %t219 = load ptr, ptr %t101 %t220 = load ptr, ptr %t206 %t221 = call i32 @fn_module_friend_of(ptr %t219, ptr %t220) %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then50, label %ifend52 then50: br label %ret ifend52: %t223 = load ptr, ptr %t0 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 10 %t225 = load i32, ptr %t224 %t226 = icmp eq i32 %t225, 1 %t227 = zext i1 %t226 to i32 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then53, label %ifend55 then53: br label %ret ifend55: %t229 = call i32 @fn_vis_reporting() %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then56, label %ifend58 then56: %t231 = load ptr, ptr %t0 %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 9 %t233 = load ptr, ptr %t232 store i32 7354, ptr @lp_site %t234 = call ptr @lp_str_concat(ptr @.str17590, ptr %t233) store i32 0, ptr @lp_site store i32 7355, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str17591) store i32 0, ptr @lp_site call void @lp_free(ptr %t234) %t236 = load ptr, ptr %t0 %t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 8 %t238 = load i32, ptr %t237 %t239 = call ptr @fn_itoa(i32 %t238) store i32 7356, ptr @lp_site %t240 = call ptr @lp_str_concat(ptr %t235, ptr %t239) store i32 0, ptr @lp_site call void @lp_free(ptr %t235) store i32 7357, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str17592) store i32 0, ptr @lp_site call void @lp_free(ptr %t240) %t242 = load ptr, ptr %t206 store i32 7358, ptr @lp_site %t243 = call ptr @lp_str_concat(ptr %t241, ptr %t242) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) store i32 7359, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str17593) store i32 0, ptr @lp_site call void @lp_free(ptr %t243) %t245 = load ptr, ptr %t92 store i32 7360, ptr @lp_site %t246 = call ptr @lp_str_concat(ptr %t244, ptr %t245) store i32 0, ptr @lp_site call void @lp_free(ptr %t244) store i32 7361, ptr @lp_site %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str17594) store i32 0, ptr @lp_site call void @lp_free(ptr %t246) %t248 = load ptr, ptr %t94 store i32 7362, 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 7363, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str17595) store i32 0, ptr @lp_site call void @lp_free(ptr %t249) call void @fn_vis_say(ptr %t250) br label %ret ifend58: %t251 = load ptr, ptr %t92 store i32 7364, ptr @lp_site %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str17596) store i32 0, ptr @lp_site %t253 = load ptr, ptr %t206 store i32 7365, 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 7366, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str17597) store i32 0, ptr @lp_site call void @lp_free(ptr %t254) %t256 = load ptr, ptr %t0 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 9 %t258 = load ptr, ptr %t257 store i32 7367, ptr @lp_site %t259 = call ptr @lp_str_concat(ptr %t255, ptr %t258) store i32 0, ptr @lp_site call void @lp_free(ptr %t255) store i32 7368, ptr @lp_site %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str17598) store i32 0, ptr @lp_site call void @lp_free(ptr %t259) store ptr %t260, ptr %t261 %t262 = load i32, ptr @g_g_diag_json %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then59, label %ifend61 then59: %t264 = load ptr, ptr %t94 %t265 = load i32, ptr @g_g_err_line %t266 = load ptr, ptr %t261 call void @fn_diag_add(ptr %t264, i32 %t265, i32 0, ptr @.str17599, ptr %t266) br label %ret ifend61: %t267 = load ptr, ptr %t261 call void @fn_perr(ptr %t267) 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 7369, ptr @lp_site %t4 = call ptr @lp_pak_open(ptr %t3, ptr @.str17600) 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 @.str17602) %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 @.str17603) %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 @.str17604) %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 @.str17605) %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 @.str17606) %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 @.str17607) %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 @.str17608) %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 @.str17609) %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 @.str17610) %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 @.str17611) %t22 = load ptr, ptr %t1 call void @fn_sc_code(ptr %t22) %t23 = load ptr, ptr %t1 call void @fn_buf_puts(ptr %t23, ptr @.str17612) %t24 = load ptr, ptr %t1 store ptr %t24, ptr %retval br label %ret ret: %t25 = load ptr, ptr %retval ret ptr %t25 } 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 @.str17613, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17614, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str17615, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str17616, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str17617, 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 @.str17618, ptr %retval br label %ret ifend2: store ptr @.str17619, 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 7370, 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 7371, 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 7372, ptr @lp_site %t58 = call ptr @lp_str_slice(ptr %t54, i32 %t55, i32 %t57) store i32 0, ptr @lp_site store i32 7373, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str17621, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str17622, 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 7374, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str17623) 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 7375, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str17625) 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str17626, 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 7376, 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 7377, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str17627) 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 7378, 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 7379, 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 7380, 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 @.str17630, 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: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str17631, 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 7381, 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 7382, ptr @lp_site %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str17632) 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 7383, 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 @.str17634) 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 @.str17635) br label %ifend2 else1: %t5 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t5, ptr @.str17636) 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 @.str17637) %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: %t14 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str17638, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str17639, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str17640, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str17641, 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 @.str17642) br label %ifend16 ifend16: %t58 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t58, ptr @.str17643) %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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str17644, 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 @.str17645) %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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str17646, 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str17647, 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 @.str17648) 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: %t102 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str17649, 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 @.str17650) %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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str17651, 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 @.str17652) 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: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str17653, 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 @.str17654) %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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str17655, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str17656, 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 @.str17657) br label %ifend47 ifend47: %t176 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t176, ptr @.str17658) %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 @.str17659) 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 @.str17660) %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 @.str17661) %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 @.str17662) %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 @.str17663) br label %ifend2 ifend2: %t8 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t8, ptr @.str17664) %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 7384, 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 7385, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str17666, 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str17667, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str17668, 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: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str17669, 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: %t106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str17670, 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str17671, 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: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str17672, 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: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str17673, 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: %t156 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t156, ptr @.fmt_bounds, ptr @.str17674, 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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str17675, 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 @.str17676, 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 7386, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str17677) store i32 0, ptr @lp_site %t15 = load ptr, ptr %t4 store i32 7387, 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 7388, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str17679) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t12 store i32 7389, 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 7390, 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 7391, 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 7392, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str17681, 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 7393, 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 7394, 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 7395, 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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str17682, 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 7396, 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 7397, 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 7398, 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: %t276 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t276, ptr @.fmt_bounds, ptr @.str17683, 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: %t284 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t284, ptr @.fmt_bounds, ptr @.str17684, 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 @.str17685) store ptr @.str17686, 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 @.str17687, 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 @.str17688, ptr %t5 br label %ifend5 ifend5: br label %ifend2 ifend2: %t18 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t18, ptr @.str17689) %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 @.str17690) %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 @.str17691) %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 @.str17692) %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 @.str17693) %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 @.str17694) %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 @.str17695) 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 @.str17696) %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 @.str17697) 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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str17698, 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 @.str17699) br label %ifend21 ifend21: %t128 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t128, ptr @.str17700) 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 @.str17701) %t5 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t5, ptr @.str17702) %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 @.str17703) %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 @.str17704) %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 @.str17705) %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 @.str17706) %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 @.str17707) %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 @.str17708) 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 7399, 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 7400, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str17710, 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 7401, 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: %t80 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str17711, 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 7402, 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 7403, 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 @.str17712, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str17713, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str17714, 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 @.str17715) %t16 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t16, ptr @.str17716) %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str17717, 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 @.str17718) %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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str17719, 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 @.str17720) %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 @.str17721) 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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str17722, 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 @.str17723) %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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str17724, 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 @.str17725) %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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str17726, 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 @.str17727) %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 @.str17728) %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 @.str17729) %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: %t107 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str17730, 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: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str17731, 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 @.str17732) br label %ifend22 ifend22: %t125 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t125, ptr @.str17733) %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 @.str17734) br label %ifend17 ifend17: %t129 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t129, ptr @.str17735) %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 @.str17736) %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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str17737, 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 @.str17738) %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 @.str17739) %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 @.str17740) %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 @.str17741) 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: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str17742, 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 @.str17743) br label %ifend34 ifend34: %t203 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t203, ptr @.str17744) 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str17745, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str17747, 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 7404, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr @.str17746, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str17749, 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 7405, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str17750) 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str17751, 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 7406, 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 7407, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str17753, 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str17754, 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 7408, 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 @.str17755) br label %ifend20 ifend20: %t86 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t86, ptr @.str17756) %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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str17757, 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 @.str17758) %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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str17759, 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 @.str17760) br label %ifend25 ifend25: %t118 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t118, ptr @.str17761) %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 @.str17762) %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: %t130 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t130, ptr @.fmt_bounds, ptr @.str17763, 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 @.str17764) %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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str17765, 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 @.str17766) 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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str17767, 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 @.str17768) 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: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str17769, 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 @.str17770) 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 @.str17771) 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str17772, 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 @.str17773) %t19 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t19, ptr @.str17774) %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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str17775, 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 @.str17776) %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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str17777, 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 7409, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str17778) 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str17780, 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 7410, 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 @.str17781) %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 @.str17782) %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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str17783, 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: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str17784, 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 @.str17785) 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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str17786, 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 @.str17787) br label %ifend24 ifend24: %t131 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t131, ptr @.str17788) %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 @.str17789) %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 @.str17790) %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 @.str17791) %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 @.str17792) br label %ifend27 ifend27: %t169 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t169, ptr @.str17793) 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 7411, 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 7412, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str17795, 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 7413, 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 7414, 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 7415, 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 @.str17796, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str17797, 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: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str17798, 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 @.str17799) %t163 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t163, ptr @.str17800) %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 @.str17801) %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 @.str17802) %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 @.str17803) %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 @.str17804) %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 @.str17805) %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 @.str17806) %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 @.str17807) %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str17808, 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 7416, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str17810, 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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str17811, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str17812, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str17813, 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 7417, 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 7418, 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 7419, 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str17814, 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 7420, 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 7421, 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 7422, 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 @.str17815, 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: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str17816, 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: %t281 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t281, ptr @.fmt_bounds, ptr @.str17817, 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 @.str17818, ptr %t8 store ptr @.str17819, ptr %t9 store ptr @.str17820, ptr %t10 store ptr @.str17821, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str17822, 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 @.str17823, 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 @.str17824, 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 7423, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str17825) 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 7424, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t56, ptr %t59) store i32 0, ptr @lp_site store i32 7425, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str17827) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) %t62 = load ptr, ptr %t41 store i32 7426, 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 7427, 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 7428, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str17828) 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 7429, 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 7430, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str17829) 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 7431, 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 7432, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str17830) 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 7433, 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 @.str17831) %t121 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t121, ptr @.str17832) %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 @.str17833) %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 @.str17834) %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 @.str17835) %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 @.str17836) %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 @.str17837) %t155 = load ptr, ptr %t0 %t156 = load ptr, ptr %t9 store i32 7434, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str17838, ptr %t156) store i32 0, ptr @lp_site store i32 7435, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str17839) store i32 0, ptr @lp_site call void @lp_free(ptr %t157) %t159 = load ptr, ptr %t7 store i32 7436, 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 @.str17840) %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 @.str17841) %t165 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t165, ptr @.str17842) %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 7437, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr @.str17843, ptr %t170) store i32 0, ptr @lp_site store i32 7438, ptr @lp_site %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str17844) store i32 0, ptr @lp_site call void @lp_free(ptr %t171) %t173 = load ptr, ptr %t8 store i32 7439, 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 7440, ptr @lp_site %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str17845) store i32 0, ptr @lp_site call void @lp_free(ptr %t174) %t176 = load ptr, ptr %t7 store i32 7441, 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 @.str17846) %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 @.str17847) %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 @.str17848) 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 @.str17849) 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str17850, 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 7442, 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 7443, 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 7444, 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 7445, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str17852, 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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str17853, 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 @.str17854) %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 @.str17855) %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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str17856, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str17857, 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 @.str17858) %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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str17859, 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: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str17860, 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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str17861, 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: %t220 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str17862, 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: %t292 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str17863, 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 7446, 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 7447, 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 7448, 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 7449, 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 7450, 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 7451, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str17866, 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 7452, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str17867, 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 7453, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str17868) 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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str17869, 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 7454, 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 7455, 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: %t122 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t122, ptr @.fmt_bounds, ptr @.str17870, 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str17871, 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 @.str17872) %t141 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t141, ptr @.str17873) %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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str17874, 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 @.str17875) %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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str17876, 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 @.str17877) %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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str17878, 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 @.str17879) %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 @.str17880) %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 @.str17881) %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 7456, 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 7457, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str17883, 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 7458, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str17884, 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str17885, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str17886, 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: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str17887, 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 7459, 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 7460, 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 @.str17888, 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: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str17889, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str17890, 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 @.str17891) %t16 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t16, ptr @.str17892) %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str17893, 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 @.str17894) %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 @.str17895) %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: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str17896, 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 @.str17897) %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: %t58 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t58, ptr @.fmt_bounds, ptr @.str17898, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str17899, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str17900, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str17901, 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 @.str17902) %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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str17903, 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 @.str17904) %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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str17905, 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 @.str17906) %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: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str17907, 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: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str17908, 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 @.str17909) %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 @.str17910) %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 @.str17911) 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str17912, 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 @.str17913) 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: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str17914, 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: %t187 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str17915, 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 @.str17916) 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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str17917, 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 @.str17918) %t216 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t216, ptr @.str17919) %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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str17920, 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: %t234 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t234, ptr @.fmt_bounds, ptr @.str17921, 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 @.str17922) %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: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str17923, 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: %t255 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t255, ptr @.fmt_bounds, ptr @.str17924, 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 @.str17925) %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: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str17926, 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: %t279 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str17927, 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 @.str17928) %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: %t292 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str17929, 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 @.str17930) br label %ifend58 ifend58: %t301 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t301, ptr @.str17931) %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 @.str17932) %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 @.str17933) %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 @.str17934) 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str17935, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str17936, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str17937, 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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str17938, 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 @.str17939) %t62 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t62, ptr @.str17940) %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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str17941, 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: %t80 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str17942, 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 @.str17943) %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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str17944, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str17945, 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 @.str17946) %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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str17947, 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: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str17948, 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: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str17949, 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: %t145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str17950, 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 @.str17951) %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: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str17952, 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: %t168 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str17953, 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: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str17954, 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: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str17955, 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 @.str17956) br label %ifend40 ifend40: %t194 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t194, ptr @.str17957) %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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str17958, 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: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str17959, 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 @.str17960) %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 @.str17961) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str17962, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str17963, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str17964, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str17965, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str17966, 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 @.str17967) %t68 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t68, ptr @.str17968) %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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str17969, 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: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str17970, 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 @.str17971) 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: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str17972, 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 @.str17973) %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 @.str17974) br label %ifend34 ifend34: %t147 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t147, ptr @.str17975) %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 @.str17976) %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 @.str17977) %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 @.str17978) %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 @.str17979) %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 @.str17980) %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 @.str17981) %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 @.str17982) 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str17983, 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 7461, 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 7462, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str17985, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str17986, 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 7463, 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 7464, 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 @.str17987) 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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str17988, 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: %t158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str17989, 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 7465, 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 @.str17991) 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 @.str17992, ptr @.str17993) 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 7466, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str17994, ptr %t8) store i32 0, ptr @lp_site store i32 7467, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str17996) 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 7468, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str17997, ptr %t14) store i32 0, ptr @lp_site store i32 7469, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str17998) 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 7470, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str17999, ptr %t19) store i32 0, ptr @lp_site store i32 7471, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str18000) 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 7472, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str18001, ptr %t24) store i32 0, ptr @lp_site store i32 7473, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str18002) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t12 store i32 7474, 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 @.str18003) 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 @.str18004) 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 @.str18005) %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 @.str18006) %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 @.str18007) %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 @.str18008) 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 @.str18009) %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 @.str18010) %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 @.str18011) %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 @.str18012) %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 @.str18013) %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 @.str18014) 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 7475, 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 7476, 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 7477, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str18016, 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 7478, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str18017) 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str18018, 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 7479, 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 7480, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str18019) 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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str18020, 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 7481, 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 7482, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str18021) 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str18022, 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 7483, 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 7484, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str18023, 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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str18024, 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: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str18025, 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: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str18026, 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 @.str18027) store i32 0, ptr %t118 %t191 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t191, ptr @.str18028) %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 @.str18029) %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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str18030, 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: %t212 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str18031, 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 @.str18032) 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: %t239 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str18033, 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: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str18034, 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 @.str18035) 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 @.str18036) %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: %t285 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str18037, 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 @.str18038) 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: %t303 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str18039, 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 7485, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str18040) 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: %t314 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t314, ptr @.fmt_bounds, ptr @.str18041, 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 7486, 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 7487, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str18042) 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: %t327 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t327, ptr @.fmt_bounds, ptr @.str18043, 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 7488, 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 @.str18044) %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 @.str18045) %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 @.str18046) %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: %t359 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str18047, 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 @.str18048) br label %ifend70 ifend70: %t363 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t363, ptr @.str18049) %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: %t380 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t380, ptr @.fmt_bounds, ptr @.str18050, 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 @.str18051) %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: %t401 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t401, ptr @.fmt_bounds, ptr @.str18052, 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 @.str18053) br label %ifend79 ifend79: %t405 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t405, ptr @.str18054) %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 7489, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str18056, 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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str18057, 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 7490, 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 @.str18058) 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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str18059, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str18060, 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 7491, 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 7492, 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 7493, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str18062, 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 7494, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str18063) 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str18064, 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 7495, 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 7496, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str18065, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str18066, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str18067, 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: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str18068, 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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str18069, 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: %t191 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str18070, 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 @.str18071) store i32 0, ptr %t95 %t204 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t204, ptr @.str18072) %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: %t216 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str18073, 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: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str18074, 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 @.str18075) %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 @.str18076) 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: %t252 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str18077, 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: %t260 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str18078, 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 @.str18079) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str18080, 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 7497, 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 @.str18082) 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 7498, 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 7499, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str18083) store i32 0, ptr @lp_site %t61 = load ptr, ptr %t24 store i32 7500, 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 @.str18084) 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 7501, 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 @.str18085) %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 @.str18086) %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 @.str18087) %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 @.str18088) %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 @.str18089) 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 7502, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str18091, 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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str18092, 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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str18093, 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 7503, 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: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str18094, 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: %t141 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t141, ptr @.fmt_bounds, ptr @.str18095, 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 7504, 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: %t187 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t187, ptr @.fmt_bounds, ptr @.str18096, 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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str18097, 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 7505, 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 7506, 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 7507, 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 @.str18098) 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: %t286 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str18099, 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: %t294 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t294, ptr @.fmt_bounds, ptr @.str18100, 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_cx_emit(ptr %arg_n) { entry: %t0 = alloca ptr store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr @g_g_cx_emits %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 7508, 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 void @fn_cx_fnref(ptr %arg_n) { entry: %t0 = alloca ptr store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr @g_g_cx_fnrefs %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 7509, 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 void @fn_cx_handler(ptr %arg_h, ptr %arg_name, ptr %arg_hook, ptr %arg_target, ptr %arg_q, i32 %arg_pub, ptr %arg_scene, ptr %arg_layer) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca ptr %t7 = alloca ptr store ptr %arg_h, ptr %t0 store ptr %arg_name, ptr %t1 store ptr %arg_hook, ptr %t2 store ptr %arg_target, ptr %t3 store ptr %arg_q, ptr %t4 store i32 %arg_pub, ptr %t5 store ptr %arg_scene, ptr %t6 store ptr %arg_layer, ptr %t7 %t8 = load ptr, ptr @g_g_cx_h %t9 = load ptr, ptr %t0 %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 %grow0, label %put1 grow0: %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 7510, 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 %put1 put1: %t25 = load ptr, ptr %t12 %t26 = getelementptr inbounds ptr, ptr %t25, i32 %t13 store ptr %t9, ptr %t26 %t27 = add i32 %t13, 1 store i32 %t27, ptr %t10 %t28 = load ptr, ptr @g_g_cx_hname %t29 = load ptr, ptr %t1 %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 %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 7511, 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_cx_hhook %t49 = load ptr, ptr %t2 %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 7512, 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 %t68 = load ptr, ptr @g_g_cx_htarget %t69 = load ptr, ptr %t3 %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 %grow6, label %put7 grow6: %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 7513, 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 %put7 put7: %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_cx_hq %t89 = load ptr, ptr %t4 %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 %grow8, label %put9 grow8: %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 7514, 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 %put9 put9: %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_cx_hpub %t109 = load i32, ptr %t5 %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 %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 i32, 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 7515, 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 i32, ptr %t125, i32 %t113 store i32 %t109, ptr %t126 %t127 = add i32 %t113, 1 store i32 %t127, ptr %t110 %t128 = load ptr, ptr @g_g_cx_hscene %t129 = load ptr, ptr %t6 %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 %grow12, label %put13 grow12: %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 7516, 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 %put13 put13: %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_cx_hlayer %t149 = load ptr, ptr %t7 %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 %grow14, label %put15 grow14: %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 7517, 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 %put15 put15: %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_cx_hlisten %t169 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t170 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 2 %t171 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t172 = load i32, ptr %t169 %t173 = load i32, ptr %t170 %t174 = icmp sge i32 %t172, %t173 br i1 %t174, label %grow16, label %put17 grow16: %t175 = mul i32 %t173, 2 %t176 = icmp eq i32 %t173, 0 %t177 = select i1 %t176, i32 8, i32 %t175 %t178 = getelementptr ptr, ptr null, i32 1 %t179 = ptrtoint ptr %t178 to i64 %t180 = zext i32 %t177 to i64 %t181 = mul i64 %t180, %t179 %t182 = load ptr, ptr %t171 store i32 7518, ptr @lp_site %t183 = call ptr @lp_realloc(ptr %t182, i64 %t181) store i32 0, ptr @lp_site store ptr %t183, ptr %t171 store i32 %t177, ptr %t170 br label %put17 put17: %t184 = load ptr, ptr %t171 %t185 = getelementptr inbounds ptr, ptr %t184, i32 %t172 store ptr null, ptr %t185 %t186 = add i32 %t172, 1 store i32 %t186, ptr %t169 br label %ret ret: ret void } define void @fn_cx_listened() { entry: %t4 = alloca i32 %t5 = alloca i32 %t0 = load ptr, ptr @g_g_cx_hlisten %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 %t3 = sub i32 %t2, 1 store i32 %t3, ptr %t4 %t6 = load i32, ptr %t4 %t7 = icmp sge 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 %sc0, label %scend1 sc0: %t11 = load ptr, ptr @g_g_onlisten %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp sgt 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 %scend1 scend1: %t18 = load i32, ptr %t5 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then2, label %ifend4 then2: %t20 = load ptr, ptr @g_g_cx_hlisten %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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str18104, i32 %t21, i32 %t25) call void @exit(i32 1) unreachable ixok5: %t28 = getelementptr inbounds ptr, ptr %t23, i32 %t21 %t29 = load ptr, ptr @g_g_onlisten %t30 = load ptr, ptr @g_g_onlisten %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = sub i32 %t32, 1 %t34 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t33, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str18105, i32 %t33, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 %t33 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t28 br label %ifend4 ifend4: br label %ret ret: ret void } define void @fn_cx_scene(ptr %arg_layers, ptr %arg_then_scene, ptr %arg_loads, i32 %arg_pub) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 store ptr %arg_layers, ptr %t0 store ptr %arg_then_scene, ptr %t1 store ptr %arg_loads, ptr %t2 store i32 %arg_pub, ptr %t3 %t4 = load ptr, ptr @g_g_cx_slayers %t5 = load ptr, ptr %t0 %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 7519, 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_cx_sthen %t25 = load ptr, ptr %t1 %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 %grow2, label %put3 grow2: %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 7520, 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 %put3 put3: %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 @g_g_cx_sloads %t45 = load ptr, ptr %t2 %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 %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 7521, 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 %t45, ptr %t62 %t63 = add i32 %t49, 1 store i32 %t63, ptr %t46 %t64 = load ptr, ptr @g_g_cx_spub %t65 = load i32, ptr %t3 %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 %grow6, label %put7 grow6: %t72 = mul i32 %t70, 2 %t73 = icmp eq i32 %t70, 0 %t74 = select i1 %t73, i32 8, i32 %t72 %t75 = getelementptr i32, 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 7522, 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 %put7 put7: %t81 = load ptr, ptr %t68 %t82 = getelementptr inbounds i32, ptr %t81, i32 %t69 store i32 %t65, ptr %t82 %t83 = add i32 %t69, 1 store i32 %t83, ptr %t66 br label %ret ret: ret void } define void @fn_sc_code(ptr %arg_b) { entry: %t0 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t1, ptr @.str18107) %t2 = load ptr, ptr %t0 call void @fn_cx_modules(ptr %t2) %t3 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t3, ptr @.str18108) %t4 = load ptr, ptr %t0 call void @fn_cx_decls(ptr %t4, i32 2) %t5 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t5, ptr @.str18109) %t6 = load ptr, ptr %t0 call void @fn_cx_decls(ptr %t6, i32 3) %t7 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t7, ptr @.str18110) %t8 = load ptr, ptr %t0 call void @fn_cx_reducers(ptr %t8) %t9 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t9, ptr @.str18111) %t10 = load ptr, ptr %t0 call void @fn_cx_row_reducers(ptr %t10) %t11 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t11, ptr @.str18112) %t12 = load ptr, ptr %t0 call void @fn_cx_row_verbs(ptr %t12) %t13 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t13, ptr @.str18113) %t14 = load ptr, ptr %t0 call void @fn_cx_machines(ptr %t14) %t15 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t15, ptr @.str18114) %t16 = load ptr, ptr %t0 call void @fn_cx_dispatch(ptr %t16) %t17 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t17, ptr @.str18115) %t18 = load ptr, ptr %t0 call void @fn_cx_events(ptr %t18) %t19 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t19, ptr @.str18116) %t20 = load ptr, ptr %t0 call void @fn_cx_ports(ptr %t20) %t21 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t21, ptr @.str18117) %t22 = load ptr, ptr %t0 call void @fn_cx_binds(ptr %t22) %t23 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t23, ptr @.str18118) %t24 = load ptr, ptr %t0 call void @fn_cx_handlers(ptr %t24) %t25 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t25, ptr @.str18119) %t26 = load ptr, ptr %t0 call void @fn_cx_models(ptr %t26) %t27 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t27, ptr @.str18120) %t28 = load ptr, ptr %t0 call void @fn_cx_prefabs(ptr %t28) %t29 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t29, ptr @.str18121) %t30 = load ptr, ptr %t0 call void @fn_cx_scenes(ptr %t30) %t31 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t31, ptr @.str18122) %t32 = load ptr, ptr %t0 call void @fn_cx_fn_refs(ptr %t32) %t33 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t33, ptr @.str18123) br label %ret ret: ret void } define ptr @fn_cx_at_text(ptr %arg_n) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 9 %t3 = load ptr, ptr %t2 store i32 7523, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str18124) store i32 0, ptr @lp_site %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 8 %t7 = load i32, ptr %t6 %t8 = call ptr @fn_itoa(i32 %t7) store i32 7524, 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 7525, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str18126) store i32 0, ptr @lp_site call void @lp_free(ptr %t9) %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 18 %t13 = load i32, ptr %t12 %t14 = call ptr @fn_itoa(i32 %t13) store i32 7526, 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 ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define void @fn_cx_at(ptr %arg_b, ptr %arg_n) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_n, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t2, ptr @.str18127) %t4 = load ptr, ptr %t1 %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 = 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 br i1 %t17, label %then2, label %else3 then2: %t18 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t18, ptr @.str18128) br label %ifend4 else3: %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t1 %t21 = call ptr @fn_cx_at_text(ptr %t20) call void @fn_jq_put(ptr %t19, ptr %t21) br label %ifend4 ifend4: br label %ret ret: ret void } define ptr @fn_cx_at_key(ptr %arg_n) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr store ptr %arg_n, 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 %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 @.str18129, ptr %t4 br label %ifend2 ifend2: %t9 = load ptr, ptr %t4 store i32 7527, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str18130) 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 = add i32 1000000, %t13 %t15 = call ptr @fn_itoa(i32 %t14) store i32 7528, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t10, ptr %t15) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) store i32 7529, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str18132) 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 18 %t20 = load i32, ptr %t19 %t21 = add i32 1000000, %t20 %t22 = call ptr @fn_itoa(i32 %t21) store i32 7530, 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 ptr %t23, ptr %retval br label %ret ret: %t24 = load ptr, ptr %retval ret ptr %t24 } define i32 @fn_cx_written(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_n, ptr %t0 %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 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br i1 %t17, label %sc2, label %scend3 sc2: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 13 %t21 = load i32, ptr %t20 %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 %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 %sc4, label %scend5 sc4: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 9 %t31 = load ptr, ptr %t30 %t32 = call i32 @fn_is_runtime_file(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 %t1 br label %scend5 scend5: %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_cx_written_or_data(ptr %arg_n) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca i32 %t24 = alloca i32 %t25 = alloca i32 store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_cx_written(ptr %t1) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %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 %scend4, label %sc3 sc3: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 9 %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 %t4 br label %scend4 scend4: %t17 = load i32, ptr %t4 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then5, label %ifend7 then5: store i32 0, ptr %retval br label %ret ifend7: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 9 %t21 = load ptr, ptr %t20 %t22 = call i64 @strlen(ptr %t21) %t23 = trunc i64 %t22 to i32 store i32 %t23, ptr %t24 %t26 = load i32, ptr %t24 %t27 = icmp sgt 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 %t25 br i1 %t29, label %sc8, label %scend9 sc8: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 9 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t24 %t35 = sub i32 %t34, 5 %t36 = load i32, ptr %t24 store i32 7531, ptr @lp_site %t37 = call ptr @lp_str_slice(ptr %t33, i32 %t35, i32 %t36) store i32 0, ptr @lp_site %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str18134) call void @lp_free(ptr %t37) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t25 br label %scend9 scend9: %t41 = load i32, ptr %t25 store i32 %t41, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define void @fn_cx_module(ptr %arg_b, ptr %arg_file) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_file, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t2, ptr @.str18135) %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = call ptr @fn_sc_mod(ptr %t4) call void @fn_sc_str(ptr %t3, ptr %t5) br label %ret ret: ret void } define void @fn_cx_list(ptr %arg_b, ptr %arg_list) { entry: %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t5 = alloca i32 %t6 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t47 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_list, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t2, ptr @.str18136) %t3 = call ptr @fn_ss_new(i32 64) store ptr %t3, ptr %t4 store i32 0, ptr %t5 store i32 1, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t1 %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 %wbody1, label %wend2 wbody1: %t14 = load i32, ptr %t6 store i32 %t14, ptr %t15 br label %wcond3 wcond3: %t17 = load i32, ptr %t15 %t18 = load ptr, ptr %t1 %t19 = call i64 @strlen(ptr %t18) %t20 = trunc i64 %t19 to i32 %t21 = icmp slt i32 %t17, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t16 br i1 %t23, label %sc6, label %scend7 sc6: %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 = icmp ne i32 %t29, 44 %t31 = zext i1 %t30 to i32 %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 %wbody4, label %wend5 wbody4: %t36 = load i32, ptr %t15 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t15 br label %wcond3 wend5: %t38 = load i32, ptr %t15 %t39 = load i32, ptr %t6 %t40 = icmp sgt i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then8, label %ifend10 then8: %t43 = load ptr, ptr %t1 %t44 = load i32, ptr %t6 %t45 = load i32, ptr %t15 store i32 7532, 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 %t47 %t48 = load ptr, ptr %t4 %t49 = load ptr, ptr %t47 %t50 = call i32 @fn_ss_add(ptr %t48, ptr %t49) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then11, label %ifend13 then11: %t52 = load i32, ptr %t5 %t53 = icmp sgt i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: %t56 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t56, ptr @.str18138) br label %ifend16 ifend16: %t57 = load ptr, ptr %t0 %t58 = load ptr, ptr %t47 call void @fn_jq_put(ptr %t57, ptr %t58) %t59 = load i32, ptr %t5 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t5 br label %ifend13 ifend13: br label %ifend10 ifend10: %t61 = load i32, ptr %t15 %t62 = add i32 %t61, 1 store i32 %t62, ptr %t6 br label %wcond0 wend2: %t63 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t63, ptr @.str18139) br label %ret ret: ret void } define ptr @fn_cx_order(ptr %arg_keys) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 store ptr %arg_keys, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7533, 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 %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 %t0 %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18141, 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 = icmp ne 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 %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 7534, 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: %t51 = load ptr, ptr %t7 %t52 = load ptr, ptr %t0 call void @fn_sc_sort(ptr %t51, ptr %t52) %t53 = load ptr, ptr %t7 store ptr %t53, ptr %retval br label %ret ret: %t54 = load ptr, ptr %retval ret ptr %t54 } define void @fn_cx_mod_names(ptr %arg_names, ptr %arg_seen, ptr %arg_from) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 store ptr %arg_names, ptr %t0 store ptr %arg_seen, ptr %t1 store ptr %arg_from, 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: %t13 = load ptr, ptr %t2 %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 %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str18142, 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 = 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 i1 %t25, label %sc5, label %scend6 sc5: %t27 = load ptr, ptr %t2 %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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str18143, 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 i64 @strlen(ptr %t36) %t38 = trunc i64 %t37 to i32 %t39 = icmp sgt 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 %t12 br label %scend6 scend6: %t43 = load i32, ptr %t12 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t11 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr %t1 %t47 = load ptr, ptr %t2 %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 %ixok11, label %ixbad12 ixbad12: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str18144, 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 = call i32 @fn_ss_add(ptr %t46, ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t11 br label %scend10 scend10: %t60 = load i32, ptr %t11 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then13, label %ifend15 then13: %t62 = load ptr, ptr %t0 %t63 = load ptr, ptr %t2 %t64 = load i32, ptr %t3 %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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str18145, i32 %t64, i32 %t68) call void @exit(i32 1) unreachable ixok16: %t71 = getelementptr inbounds ptr, ptr %t66, i32 %t64 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t74 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 %t75 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t76 = load i32, ptr %t73 %t77 = load i32, ptr %t74 %t78 = icmp sge i32 %t76, %t77 br i1 %t78, label %grow18, label %put19 grow18: %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 7535, 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 %put19 put19: %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 br label %ifend15 ifend15: %t91 = load i32, ptr %t3 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t3 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_cx_modules(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t21 = alloca ptr %t22 = alloca i32 %t49 = alloca ptr %t63 = alloca ptr %t64 = alloca i32 %t72 = alloca i32 %t135 = alloca ptr %t136 = alloca i32 %t177 = alloca ptr %t190 = alloca i32 %t244 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7536, 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 = call ptr @fn_ss_new(i32 256) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t7 %t11 = load ptr, ptr %t9 %t12 = load ptr, ptr @g_g_mod_name call void @fn_cx_mod_names(ptr %t10, ptr %t11, ptr %t12) %t13 = load ptr, ptr %t7 %t14 = load ptr, ptr %t9 %t15 = load ptr, ptr @g_g_mu_mod call void @fn_cx_mod_names(ptr %t13, ptr %t14, ptr %t15) %t16 = load ptr, ptr %t7 %t17 = load ptr, ptr %t9 %t18 = load ptr, ptr @g_g_mod_friends call void @fn_cx_mod_names(ptr %t16, ptr %t17, ptr %t18) %t19 = load ptr, ptr %t7 %t20 = call ptr @fn_cx_order(ptr %t19) store ptr %t20, ptr %t21 store i32 0, ptr %t22 br label %wcond0 wcond0: %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 %wbody1, label %wend2 wbody1: %t30 = load ptr, ptr %t7 %t31 = load ptr, ptr %t21 %t32 = load i32, ptr %t22 %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 %ixok3, label %ixbad4 ixbad4: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str18148, i32 %t32, i32 %t36) call void @exit(i32 1) unreachable ixok3: %t39 = getelementptr inbounds i32, ptr %t34, i32 %t32 %t40 = load i32, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t40, %t44 br i1 %t45, label %ixok5, label %ixbad6 ixbad6: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str18149, i32 %t40, i32 %t44) call void @exit(i32 1) unreachable ixok5: %t47 = getelementptr inbounds ptr, ptr %t42, i32 %t40 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = load i32, ptr %t22 %t52 = icmp eq i32 %t51, 0 %t53 = zext i1 %t52 to i32 call void @fn_sc_sep(ptr %t50, i32 %t53, ptr @.str18150) %t54 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t54, ptr @.str18151) %t55 = load ptr, ptr %t0 %t56 = load ptr, ptr %t49 call void @fn_jq_put(ptr %t55, ptr %t56) %t57 = getelementptr %LSlice, ptr null, i32 1 %t58 = ptrtoint ptr %t57 to i64 store i32 7537, ptr @lp_site %t59 = call ptr @lp_malloc(i64 %t58) store i32 0, ptr @lp_site %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 store ptr null, ptr %t60 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 store i32 0, ptr %t61 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2 store i32 0, ptr %t62 store ptr %t59, ptr %t63 store i32 0, ptr %t64 br label %wcond7 wcond7: %t65 = load i32, ptr %t64 %t66 = load ptr, ptr @g_g_mod_file %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 %wbody8, label %wend9 wbody8: %t73 = load ptr, ptr @g_g_mod_name %t74 = load i32, ptr %t64 %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: %t80 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str18152, 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 ptr, ptr %t49 %t84 = call i32 @lp_str_eq(ptr %t82, ptr %t83) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t72 br i1 %t85, label %sc12, label %scend13 sc12: %t87 = load ptr, ptr @g_g_mod_file %t88 = load i32, ptr %t64 %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 %ixok14, label %ixbad15 ixbad15: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str18153, i32 %t88, i32 %t92) call void @exit(i32 1) unreachable ixok14: %t95 = getelementptr inbounds ptr, ptr %t90, i32 %t88 %t96 = load ptr, ptr %t95 %t97 = call i32 @fn_is_runtime_file(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 %t72 br label %scend13 scend13: %t102 = load i32, ptr %t72 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then16, label %ifend18 then16: %t104 = load ptr, ptr %t63 %t105 = load ptr, ptr @g_g_mod_file %t106 = load i32, ptr %t64 %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 %ixok19, label %ixbad20 ixbad20: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str18154, i32 %t106, i32 %t110) call void @exit(i32 1) unreachable ixok19: %t113 = getelementptr inbounds ptr, ptr %t108, i32 %t106 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t116 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 %t117 = getelementptr inbounds %LSlice, ptr %t104, 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 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 7538, 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 ptr, ptr %t130, i32 %t118 store ptr %t114, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 br label %ifend18 ifend18: %t133 = load i32, ptr %t64 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t64 br label %wcond7 wend9: store ptr null, ptr %t135 %t137 = load ptr, ptr %t63 %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp sgt i32 %t139, 0 %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 %sc23, label %scend24 sc23: %t144 = load ptr, ptr %t63 %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 %ixok25, label %ixbad26 ixbad26: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str18155, i32 0, i32 %t148) call void @exit(i32 1) unreachable ixok25: %t151 = getelementptr inbounds ptr, ptr %t146, i32 0 %t152 = load ptr, ptr %t151 %t153 = call ptr @fn_pkg_of_file(ptr %t152) %t154 = call i64 @strlen(ptr %t153) %t155 = trunc i64 %t154 to i32 %t156 = icmp sgt 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 %t136 br label %scend24 scend24: %t160 = load i32, ptr %t136 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then27, label %ifend29 then27: %t162 = load ptr, ptr %t63 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t166 = load i32, ptr %t165 %t167 = icmp ult i32 0, %t166 br i1 %t167, label %ixok30, label %ixbad31 ixbad31: %t168 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str18156, i32 0, i32 %t166) call void @exit(i32 1) unreachable ixok30: %t169 = getelementptr inbounds ptr, ptr %t164, i32 0 %t170 = load ptr, ptr %t169 %t171 = call ptr @fn_pkg_of_file(ptr %t170) store ptr %t171, ptr %t135 br label %ifend29 ifend29: %t172 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t172, ptr @.str18157) %t173 = load ptr, ptr %t0 %t174 = load ptr, ptr %t135 call void @fn_sc_str(ptr %t173, ptr %t174) %t175 = load ptr, ptr %t49 %t176 = call ptr @fn_mod_layer(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t178, ptr @.str18158) %t179 = load ptr, ptr %t177 %t180 = call i64 @strlen(ptr %t179) %t181 = trunc i64 %t180 to i32 %t182 = icmp eq i32 %t181, 0 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then32, label %else33 then32: %t185 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t185, ptr @.str18159) br label %ifend34 else33: %t186 = load ptr, ptr %t0 %t187 = load ptr, ptr %t177 call void @fn_jq_put(ptr %t186, ptr %t187) br label %ifend34 ifend34: %t188 = load ptr, ptr %t49 %t189 = call i32 @fn_mod_find_uses(ptr %t188) store i32 %t189, ptr %t190 %t191 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t191, ptr @.str18160) %t192 = load i32, ptr %t190 %t193 = icmp slt i32 %t192, 0 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then35, label %else36 then35: %t196 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t196, ptr @.str18161) br label %ifend37 else36: %t197 = load ptr, ptr %t0 %t198 = load ptr, ptr @g_g_mu_list %t199 = load i32, ptr %t190 %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: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str18162, i32 %t199, i32 %t203) call void @exit(i32 1) unreachable ixok38: %t206 = getelementptr inbounds ptr, ptr %t201, i32 %t199 %t207 = load ptr, ptr %t206 call void @fn_cx_list(ptr %t197, ptr %t207) br label %ifend37 ifend37: %t208 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t208, ptr @.str18163) %t209 = load i32, ptr %t190 %t210 = icmp slt i32 %t209, 0 %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then40, label %else41 then40: %t213 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t213, ptr @.str18164) br label %ifend42 else41: %t214 = load ptr, ptr %t0 %t215 = load ptr, ptr @g_g_mu_file %t216 = load i32, ptr %t190 %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: %t222 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str18165, 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 i32 7539, ptr @lp_site %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str18166) store i32 0, ptr @lp_site %t226 = load ptr, ptr @g_g_mu_line %t227 = load i32, ptr %t190 %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 %ixok45, label %ixbad46 ixbad46: %t233 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t233, ptr @.fmt_bounds, ptr @.str18167, i32 %t227, i32 %t231) call void @exit(i32 1) unreachable ixok45: %t234 = getelementptr inbounds i32, ptr %t229, i32 %t227 %t235 = load i32, ptr %t234 %t236 = call ptr @fn_itoa(i32 %t235) store i32 7540, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr %t225, ptr %t236) store i32 0, ptr @lp_site call void @lp_free(ptr %t225) call void @fn_jq_put(ptr %t214, ptr %t237) br label %ifend42 ifend42: %t238 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t238, ptr @.str18168) %t239 = load ptr, ptr %t0 %t240 = load ptr, ptr %t49 call void @fn_cx_friend(ptr %t239, ptr %t240) %t241 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t241, ptr @.str18169) %t242 = load ptr, ptr %t63 %t243 = call ptr @fn_cx_order(ptr %t242) store ptr %t243, ptr %t244 store i32 0, ptr %t64 br label %wcond47 wcond47: %t245 = load i32, ptr %t64 %t246 = load ptr, ptr %t244 %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp slt i32 %t245, %t248 %t250 = zext i1 %t249 to i32 %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %wbody48, label %wend49 wbody48: %t252 = load i32, ptr %t64 %t253 = icmp sgt i32 %t252, 0 %t254 = zext i1 %t253 to i32 %t255 = icmp ne i32 %t254, 0 br i1 %t255, label %then50, label %ifend52 then50: %t256 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t256, ptr @.str18170) br label %ifend52 ifend52: %t257 = load ptr, ptr %t0 %t258 = load ptr, ptr %t63 %t259 = load ptr, ptr %t244 %t260 = load i32, ptr %t64 %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: %t266 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t266, ptr @.fmt_bounds, ptr @.str18171, i32 %t260, i32 %t264) call void @exit(i32 1) unreachable ixok53: %t267 = getelementptr inbounds i32, ptr %t262, i32 %t260 %t268 = load i32, ptr %t267 %t269 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t272 = load i32, ptr %t271 %t273 = icmp ult i32 %t268, %t272 br i1 %t273, label %ixok55, label %ixbad56 ixbad56: %t274 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str18172, i32 %t268, i32 %t272) call void @exit(i32 1) unreachable ixok55: %t275 = getelementptr inbounds ptr, ptr %t270, i32 %t268 %t276 = load ptr, ptr %t275 call void @fn_jq_put(ptr %t257, ptr %t276) %t277 = load i32, ptr %t64 %t278 = add i32 %t277, 1 store i32 %t278, ptr %t64 br label %wcond47 wend49: %t279 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t279, ptr @.str18173) %t280 = load i32, ptr %t22 %t281 = add i32 %t280, 1 store i32 %t281, ptr %t22 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_cx_friend(ptr %arg_b, ptr %arg_m) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca i32 %t68 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_m, ptr %t1 store i32 0, ptr %t2 store ptr null, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_g_mod_friends %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr @g_g_mod_friends %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 %ixok3, label %ixbad4 ixbad4: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str18174, 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 %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 @g_g_fr_scope %t26 = load i32, ptr %t4 %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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str18175, 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 = call i64 @strlen(ptr %t34) %t36 = trunc i64 %t35 to i32 %t37 = icmp eq i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %else11 then10: store i32 1, ptr %t2 br label %ifend12 else11: %t40 = load ptr, ptr %t3 %t41 = icmp eq ptr %t40, null %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then13, label %else14 then13: %t44 = load ptr, ptr @g_g_fr_scope %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 %ixok16, label %ixbad17 ixbad17: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str18176, i32 %t45, i32 %t49) call void @exit(i32 1) unreachable ixok16: %t52 = getelementptr inbounds ptr, ptr %t47, i32 %t45 %t53 = load ptr, ptr %t52 store ptr %t53, ptr %t3 br label %ifend15 else14: %t54 = load ptr, ptr %t3 %t55 = load ptr, ptr @g_g_fr_scope %t56 = load i32, ptr %t4 %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 %ixok18, label %ixbad19 ixbad19: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str18177, i32 %t56, i32 %t60) call void @exit(i32 1) unreachable ixok18: %t63 = getelementptr inbounds ptr, ptr %t58, i32 %t56 %t64 = load ptr, ptr %t63 store i32 7541, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t54, ptr %t64) store i32 0, ptr @lp_site store ptr %t65, ptr %t3 br label %ifend15 ifend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t66 = load i32, ptr %t4 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t4 br label %wcond0 wend2: %t69 = load i32, ptr %t2 %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 %t68 br i1 %t72, label %sc20, label %scend21 sc20: %t74 = load ptr, ptr %t3 %t75 = icmp eq 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 %t68 br label %scend21 scend21: %t79 = load i32, ptr %t68 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then22, label %ifend24 then22: %t81 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t81, ptr @.str18179) br label %ret ifend24: %t82 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t82, ptr @.str18180) %t83 = load i32, ptr %t2 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then25, label %else26 then25: %t85 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t85, ptr @.str18181) br label %ifend27 else26: %t86 = load ptr, ptr %t0 %t87 = load ptr, ptr %t3 call void @fn_cx_list(ptr %t86, ptr %t87) br label %ifend27 ifend27: %t88 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t88, ptr @.str18182) br label %ret ret: ret void } define void @fn_cx_decls(ptr %arg_b, i32 %arg_uns) { entry: %t0 = alloca ptr %t1 = alloca i32 %t8 = alloca ptr %t9 = alloca i32 %t27 = alloca ptr %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t118 = alloca ptr %t145 = alloca ptr store ptr %arg_b, ptr %t0 store i32 %arg_uns, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 store i32 7542, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str18184, 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 %t31 = load ptr, ptr %t27 %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 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t30 br i1 %t36, label %sc5, label %scend6 sc5: %t38 = load ptr, ptr %t27 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 12 %t40 = load i32, ptr %t39 %t41 = load i32, ptr %t1 %t42 = icmp eq i32 %t40, %t41 %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 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t29 br i1 %t47, label %sc7, label %scend8 sc7: %t49 = load ptr, ptr %t27 %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 %t29 br label %scend8 scend8: %t56 = load i32, ptr %t29 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t28 br i1 %t57, label %sc9, label %scend10 sc9: %t59 = load ptr, ptr %t27 %t60 = call i32 @fn_cx_written(ptr %t59) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t28 br label %scend10 scend10: %t63 = load i32, ptr %t28 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then11, label %else12 then11: %t65 = load ptr, ptr %t8 %t66 = load ptr, ptr %t27 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_sc_name(ptr %t68) %t70 = load ptr, ptr %t27 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 9 %t72 = load ptr, ptr %t71 %t73 = load ptr, ptr %t27 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 8 %t75 = load i32, ptr %t74 %t76 = call ptr @fn_sc_key(ptr %t69, ptr %t72, i32 %t75) %t77 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t78 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 %t79 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t80 = load i32, ptr %t77 %t81 = load i32, ptr %t78 %t82 = icmp sge i32 %t80, %t81 br i1 %t82, label %grow14, label %put15 grow14: %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 7543, 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 %put15 put15: %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 br label %ifend13 else12: %t95 = load ptr, ptr %t8 %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 %grow16, label %put17 grow16: %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 7544, 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 %put17 put17: %t111 = load ptr, ptr %t98 %t112 = getelementptr inbounds ptr, ptr %t111, i32 %t99 store ptr null, ptr %t112 %t113 = add i32 %t99, 1 store i32 %t113, ptr %t96 br label %ifend13 ifend13: %t114 = load i32, ptr %t9 %t115 = add i32 %t114, 1 store i32 %t115, ptr %t9 br label %wcond0 wend2: %t116 = load ptr, ptr %t8 %t117 = call ptr @fn_cx_order(ptr %t116) store ptr %t117, ptr %t118 store i32 0, ptr %t9 br label %wcond18 wcond18: %t119 = load i32, ptr %t9 %t120 = load ptr, ptr %t118 %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 %wbody19, label %wend20 wbody19: %t126 = load ptr, ptr @g_prog %t127 = load ptr, ptr %t118 %t128 = load i32, ptr %t9 %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 %ixok21, label %ixbad22 ixbad22: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str18185, i32 %t128, i32 %t132) call void @exit(i32 1) unreachable ixok21: %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 %ixok23, label %ixbad24 ixbad24: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str18186, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok23: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t0 %t147 = load i32, ptr %t9 %t148 = icmp eq i32 %t147, 0 %t149 = zext i1 %t148 to i32 call void @fn_sc_sep(ptr %t146, i32 %t149, ptr @.str18187) %t150 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t150, ptr @.str18188) %t151 = load ptr, ptr %t0 %t152 = load ptr, ptr %t145 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_sc_name(ptr %t154) call void @fn_jq_put(ptr %t151, ptr %t155) %t156 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t156, ptr @.str18189) %t157 = load ptr, ptr %t0 %t158 = load ptr, ptr %t145 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 9 %t160 = load ptr, ptr %t159 call void @fn_cx_module(ptr %t157, ptr %t160) %t161 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t161, ptr @.str18190) %t162 = load ptr, ptr %t0 %t163 = load ptr, ptr %t145 call void @fn_cx_at(ptr %t162, ptr %t163) %t164 = load i32, ptr %t1 %t165 = icmp eq i32 %t164, 3 %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 @.str18191) %t169 = load ptr, ptr %t0 %t170 = load ptr, ptr %t145 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1 %t172 = load ptr, ptr %t171 %t173 = call ptr @fn_rr_target(ptr %t172) call void @fn_sc_str(ptr %t169, ptr %t173) br label %ifend27 ifend27: %t174 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t174, ptr @.str18192) %t175 = load i32, ptr %t9 %t176 = add i32 %t175, 1 store i32 %t176, ptr %t9 br label %wcond18 wend20: br label %ret ret: ret void } define void @fn_cx_reducers(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t116 = alloca ptr %t134 = alloca i32 %t145 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7545, 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_nodes %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18194, 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 %t28 = load ptr, ptr %t26 %t29 = call i32 @fn_cx_written(ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t27 br i1 %t30, label %sc5, label %scend6 sc5: %t32 = load ptr, ptr @g_g_red_rec %t33 = load i32, ptr %t8 %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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str18195, 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 = 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 %t27 br label %scend6 scend6: %t46 = load i32, ptr %t27 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %else10 then9: %t48 = load ptr, ptr %t7 %t49 = load ptr, ptr @g_g_red_state %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 %ixok12, label %ixbad13 ixbad13: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str18196, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok12: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store i32 7546, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str18197) store i32 0, ptr @lp_site %t60 = load ptr, ptr @g_g_red_action %t61 = load i32, ptr %t8 %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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str18198, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok14: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 store i32 7547, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t59, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 7548, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str18199) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t26 %t73 = call ptr @fn_cx_at_key(ptr %t72) store i32 7549, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t71, ptr %t73) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) %t75 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t76 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2 %t77 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t78 = load i32, ptr %t75 %t79 = load i32, ptr %t76 %t80 = icmp sge i32 %t78, %t79 br i1 %t80, label %grow16, label %put17 grow16: %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 7550, 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 %put17 put17: %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 br label %ifend11 else10: %t93 = load ptr, ptr %t7 %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2 %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t97 = load i32, ptr %t94 %t98 = load i32, ptr %t95 %t99 = icmp sge i32 %t97, %t98 br i1 %t99, label %grow18, label %put19 grow18: %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 7551, 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 %put19 put19: %t109 = load ptr, ptr %t96 %t110 = getelementptr inbounds ptr, ptr %t109, i32 %t97 store ptr null, ptr %t110 %t111 = add i32 %t97, 1 store i32 %t111, ptr %t94 br label %ifend11 ifend11: %t112 = load i32, ptr %t8 %t113 = add i32 %t112, 1 store i32 %t113, ptr %t8 br label %wcond0 wend2: %t114 = load ptr, ptr %t7 %t115 = call ptr @fn_cx_order(ptr %t114) store ptr %t115, ptr %t116 store i32 0, ptr %t8 br label %wcond20 wcond20: %t117 = load i32, ptr %t8 %t118 = load ptr, ptr %t116 %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 %wbody21, label %wend22 wbody21: %t124 = load ptr, ptr %t116 %t125 = load i32, ptr %t8 %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 %ixok23, label %ixbad24 ixbad24: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str18200, i32 %t125, i32 %t129) call void @exit(i32 1) unreachable ixok23: %t132 = getelementptr inbounds i32, ptr %t127, i32 %t125 %t133 = load i32, ptr %t132 store i32 %t133, ptr %t134 %t135 = load ptr, ptr @g_g_red_nodes %t136 = load i32, ptr %t134 %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: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str18201, i32 %t136, i32 %t140) call void @exit(i32 1) unreachable ixok25: %t143 = getelementptr inbounds ptr, ptr %t138, i32 %t136 %t144 = load ptr, ptr %t143 store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t0 %t147 = load i32, ptr %t8 %t148 = icmp eq i32 %t147, 0 %t149 = zext i1 %t148 to i32 call void @fn_sc_sep(ptr %t146, i32 %t149, ptr @.str18202) %t150 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t150, ptr @.str18203) %t151 = load ptr, ptr %t0 %t152 = load ptr, ptr @g_g_red_state %t153 = load i32, ptr %t134 %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 %ixok27, label %ixbad28 ixbad28: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str18204, i32 %t153, i32 %t157) call void @exit(i32 1) unreachable ixok27: %t160 = getelementptr inbounds ptr, ptr %t155, i32 %t153 %t161 = load ptr, ptr %t160 call void @fn_jq_put(ptr %t151, ptr %t161) %t162 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t162, ptr @.str18205) %t163 = load ptr, ptr %t0 %t164 = load ptr, ptr @g_g_red_action %t165 = load i32, ptr %t134 %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 %ixok29, label %ixbad30 ixbad30: %t171 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str18206, i32 %t165, i32 %t169) call void @exit(i32 1) unreachable ixok29: %t172 = getelementptr inbounds ptr, ptr %t167, i32 %t165 %t173 = load ptr, ptr %t172 call void @fn_jq_put(ptr %t163, ptr %t173) %t174 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t174, ptr @.str18207) %t175 = load ptr, ptr %t0 %t176 = load ptr, ptr %t145 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 9 %t178 = load ptr, ptr %t177 call void @fn_cx_module(ptr %t175, ptr %t178) %t179 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t179, ptr @.str18208) %t180 = load ptr, ptr %t0 %t181 = load ptr, ptr %t145 call void @fn_cx_at(ptr %t180, ptr %t181) %t182 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t182, ptr @.str18209) %t183 = load i32, ptr %t8 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t8 br label %wcond20 wend22: br label %ret ret: ret void } define void @fn_cx_row_reducers(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t140 = alloca ptr %t158 = alloca i32 %t169 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7552, 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_nodes %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18211, 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 %t28 = load ptr, ptr %t26 %t29 = call i32 @fn_cx_written(ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t27 br i1 %t30, label %sc5, label %scend6 sc5: %t32 = load ptr, ptr @g_g_red_rec %t33 = load i32, ptr %t8 %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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str18212, 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 = 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 %t27 br label %scend6 scend6: %t46 = load i32, ptr %t27 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %else10 then9: %t48 = load ptr, ptr %t7 %t49 = load ptr, ptr @g_g_red_rec %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 %ixok12, label %ixbad13 ixbad13: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str18213, i32 %t50, i32 %t54) call void @exit(i32 1) unreachable ixok12: %t57 = getelementptr inbounds ptr, ptr %t52, i32 %t50 %t58 = load ptr, ptr %t57 store i32 7553, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str18214) store i32 0, ptr @lp_site %t60 = load ptr, ptr @g_g_red_state %t61 = load i32, ptr %t8 %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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str18215, i32 %t61, i32 %t65) call void @exit(i32 1) unreachable ixok14: %t68 = getelementptr inbounds ptr, ptr %t63, i32 %t61 %t69 = load ptr, ptr %t68 store i32 7554, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr %t59, ptr %t69) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) store i32 7555, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str18216) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr @g_g_red_tbl %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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str18217, 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 i32 7556, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t71, ptr %t81) store i32 0, ptr @lp_site call void @lp_free(ptr %t71) store i32 7557, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str18218) store i32 0, ptr @lp_site call void @lp_free(ptr %t82) %t84 = load ptr, ptr @g_g_red_action %t85 = load i32, ptr %t8 %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 %ixok18, label %ixbad19 ixbad19: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str18219, i32 %t85, i32 %t89) call void @exit(i32 1) unreachable ixok18: %t92 = getelementptr inbounds ptr, ptr %t87, i32 %t85 %t93 = load ptr, ptr %t92 store i32 7558, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t83, ptr %t93) store i32 0, ptr @lp_site call void @lp_free(ptr %t83) store i32 7559, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str18220) store i32 0, ptr @lp_site call void @lp_free(ptr %t94) %t96 = load ptr, ptr %t26 %t97 = call ptr @fn_cx_at_key(ptr %t96) store i32 7560, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t95, ptr %t97) store i32 0, ptr @lp_site call void @lp_free(ptr %t95) %t99 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t100 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2 %t101 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t102 = load i32, ptr %t99 %t103 = load i32, ptr %t100 %t104 = icmp sge i32 %t102, %t103 br i1 %t104, label %grow20, label %put21 grow20: %t105 = mul i32 %t103, 2 %t106 = icmp eq i32 %t103, 0 %t107 = select i1 %t106, i32 8, i32 %t105 %t108 = getelementptr ptr, ptr null, i32 1 %t109 = ptrtoint ptr %t108 to i64 %t110 = zext i32 %t107 to i64 %t111 = mul i64 %t110, %t109 %t112 = load ptr, ptr %t101 store i32 7561, ptr @lp_site %t113 = call ptr @lp_realloc(ptr %t112, i64 %t111) store i32 0, ptr @lp_site store ptr %t113, ptr %t101 store i32 %t107, ptr %t100 br label %put21 put21: %t114 = load ptr, ptr %t101 %t115 = getelementptr inbounds ptr, ptr %t114, i32 %t102 store ptr %t98, ptr %t115 %t116 = add i32 %t102, 1 store i32 %t116, ptr %t99 br label %ifend11 else10: %t117 = load ptr, ptr %t7 %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t119 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 2 %t120 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t121 = load i32, ptr %t118 %t122 = load i32, ptr %t119 %t123 = icmp sge i32 %t121, %t122 br i1 %t123, label %grow22, label %put23 grow22: %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 7562, 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 %put23 put23: %t133 = load ptr, ptr %t120 %t134 = getelementptr inbounds ptr, ptr %t133, i32 %t121 store ptr null, ptr %t134 %t135 = add i32 %t121, 1 store i32 %t135, ptr %t118 br label %ifend11 ifend11: %t136 = load i32, ptr %t8 %t137 = add i32 %t136, 1 store i32 %t137, ptr %t8 br label %wcond0 wend2: %t138 = load ptr, ptr %t7 %t139 = call ptr @fn_cx_order(ptr %t138) store ptr %t139, ptr %t140 store i32 0, ptr %t8 br label %wcond24 wcond24: %t141 = load i32, ptr %t8 %t142 = load ptr, ptr %t140 %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 %wbody25, label %wend26 wbody25: %t148 = load ptr, ptr %t140 %t149 = load i32, ptr %t8 %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 %ixok27, label %ixbad28 ixbad28: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str18221, i32 %t149, i32 %t153) call void @exit(i32 1) unreachable ixok27: %t156 = getelementptr inbounds i32, ptr %t151, i32 %t149 %t157 = load i32, ptr %t156 store i32 %t157, ptr %t158 %t159 = load ptr, ptr @g_g_red_nodes %t160 = load i32, ptr %t158 %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 %ixok29, label %ixbad30 ixbad30: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str18222, i32 %t160, i32 %t164) call void @exit(i32 1) unreachable ixok29: %t167 = getelementptr inbounds ptr, ptr %t162, i32 %t160 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t0 %t171 = load i32, ptr %t8 %t172 = icmp eq i32 %t171, 0 %t173 = zext i1 %t172 to i32 call void @fn_sc_sep(ptr %t170, i32 %t173, ptr @.str18223) %t174 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t174, ptr @.str18224) %t175 = load ptr, ptr %t0 %t176 = load ptr, ptr @g_g_red_rec %t177 = load i32, ptr %t158 %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 %ixok31, label %ixbad32 ixbad32: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str18225, i32 %t177, i32 %t181) call void @exit(i32 1) unreachable ixok31: %t184 = getelementptr inbounds ptr, ptr %t179, i32 %t177 %t185 = load ptr, ptr %t184 call void @fn_jq_put(ptr %t175, ptr %t185) %t186 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t186, ptr @.str18226) %t187 = load ptr, ptr %t0 %t188 = load ptr, ptr @g_g_red_state %t189 = load i32, ptr %t158 %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 %ixok33, label %ixbad34 ixbad34: %t195 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str18227, i32 %t189, i32 %t193) call void @exit(i32 1) unreachable ixok33: %t196 = getelementptr inbounds ptr, ptr %t191, i32 %t189 %t197 = load ptr, ptr %t196 store i32 7563, ptr @lp_site %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str18228) store i32 0, ptr @lp_site %t199 = load ptr, ptr @g_g_red_tbl %t200 = load i32, ptr %t158 %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 %ixok35, label %ixbad36 ixbad36: %t206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str18229, i32 %t200, i32 %t204) call void @exit(i32 1) unreachable ixok35: %t207 = getelementptr inbounds ptr, ptr %t202, i32 %t200 %t208 = load ptr, ptr %t207 store i32 7564, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t198, ptr %t208) store i32 0, ptr @lp_site call void @lp_free(ptr %t198) call void @fn_jq_put(ptr %t187, ptr %t209) %t210 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t210, ptr @.str18230) %t211 = load ptr, ptr %t0 %t212 = load ptr, ptr @g_g_red_state %t213 = load i32, ptr %t158 %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 %ixok37, label %ixbad38 ixbad38: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str18231, i32 %t213, i32 %t217) call void @exit(i32 1) unreachable ixok37: %t220 = getelementptr inbounds ptr, ptr %t215, i32 %t213 %t221 = load ptr, ptr %t220 call void @fn_jq_put(ptr %t211, ptr %t221) %t222 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t222, ptr @.str18232) %t223 = load ptr, ptr %t0 %t224 = load ptr, ptr @g_g_red_action %t225 = load i32, ptr %t158 %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 %ixok39, label %ixbad40 ixbad40: %t231 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str18233, i32 %t225, i32 %t229) call void @exit(i32 1) unreachable ixok39: %t232 = getelementptr inbounds ptr, ptr %t227, i32 %t225 %t233 = load ptr, ptr %t232 call void @fn_jq_put(ptr %t223, ptr %t233) %t234 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t234, ptr @.str18234) %t235 = load ptr, ptr %t0 %t236 = load ptr, ptr @g_g_red_tgt %t237 = load i32, ptr %t158 %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: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str18235, i32 %t237, i32 %t241) call void @exit(i32 1) unreachable ixok41: %t244 = getelementptr inbounds ptr, ptr %t239, i32 %t237 %t245 = load ptr, ptr %t244 call void @fn_sc_str(ptr %t235, ptr %t245) %t246 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t246, ptr @.str18236) %t247 = load ptr, ptr %t0 %t248 = load ptr, ptr %t169 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 9 %t250 = load ptr, ptr %t249 call void @fn_cx_module(ptr %t247, ptr %t250) %t251 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t251, ptr @.str18237) %t252 = load ptr, ptr %t0 %t253 = load ptr, ptr %t169 call void @fn_cx_at(ptr %t252, ptr %t253) %t254 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t254, ptr @.str18238) %t255 = load i32, ptr %t8 %t256 = add i32 %t255, 1 store i32 %t256, ptr %t8 br label %wcond24 wend26: br label %ret ret: ret void } define void @fn_cx_machines(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t36 = alloca ptr %t99 = alloca ptr %t117 = alloca i32 %t138 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7565, 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_mc_reg %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_rg_var %t17 = load ptr, ptr @g_g_mc_reg %t18 = load i32, ptr %t8 %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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str18240, 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 = call i32 @fn_reg_find(ptr %t26) %t28 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t27, %t31 br i1 %t32, label %ixok5, label %ixbad6 ixbad6: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str18241, 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 %t37 = load ptr, ptr %t36 %t38 = call i32 @fn_cx_written(ptr %t37) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %else8 then7: %t40 = load ptr, ptr %t7 %t41 = load ptr, ptr @g_g_mc_reg %t42 = load i32, ptr %t8 %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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str18242, i32 %t42, i32 %t46) call void @exit(i32 1) unreachable ixok10: %t49 = getelementptr inbounds ptr, ptr %t44, i32 %t42 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t36 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 9 %t53 = load ptr, ptr %t52 %t54 = load ptr, ptr %t36 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 8 %t56 = load i32, ptr %t55 %t57 = call ptr @fn_sc_key(ptr %t50, ptr %t53, i32 %t56) %t58 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t59 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 %t60 = getelementptr inbounds %LSlice, ptr %t40, 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 7566, 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 %t57, ptr %t74 %t75 = add i32 %t61, 1 store i32 %t75, ptr %t58 br label %ifend9 else8: %t76 = load ptr, ptr %t7 %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 %grow14, label %put15 grow14: %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 7567, 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 %put15 put15: %t92 = load ptr, ptr %t79 %t93 = getelementptr inbounds ptr, ptr %t92, i32 %t80 store ptr null, ptr %t93 %t94 = add i32 %t80, 1 store i32 %t94, ptr %t77 br label %ifend9 ifend9: %t95 = load i32, ptr %t8 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t8 br label %wcond0 wend2: %t97 = load ptr, ptr %t7 %t98 = call ptr @fn_cx_order(ptr %t97) store ptr %t98, ptr %t99 store i32 0, ptr %t8 br label %wcond16 wcond16: %t100 = load i32, ptr %t8 %t101 = load ptr, ptr %t99 %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 br i1 %t106, label %wbody17, label %wend18 wbody17: %t107 = load ptr, ptr %t99 %t108 = load i32, ptr %t8 %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 %ixok19, label %ixbad20 ixbad20: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str18243, i32 %t108, i32 %t112) call void @exit(i32 1) unreachable ixok19: %t115 = getelementptr inbounds i32, ptr %t110, i32 %t108 %t116 = load i32, ptr %t115 store i32 %t116, ptr %t117 %t118 = load ptr, ptr @g_g_rg_var %t119 = load ptr, ptr @g_g_mc_reg %t120 = load i32, ptr %t117 %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 %ixok21, label %ixbad22 ixbad22: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str18244, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok21: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 %t129 = call i32 @fn_reg_find(ptr %t128) %t130 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 %t129, %t133 br i1 %t134, label %ixok23, label %ixbad24 ixbad24: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str18245, i32 %t129, i32 %t133) call void @exit(i32 1) unreachable ixok23: %t136 = getelementptr inbounds ptr, ptr %t131, i32 %t129 %t137 = load ptr, ptr %t136 store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t0 %t140 = load i32, ptr %t8 %t141 = icmp eq i32 %t140, 0 %t142 = zext i1 %t141 to i32 call void @fn_sc_sep(ptr %t139, i32 %t142, ptr @.str18246) %t143 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t143, ptr @.str18247) %t144 = load ptr, ptr %t0 %t145 = load ptr, ptr @g_g_mc_reg %t146 = load i32, ptr %t117 %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 %ixok25, label %ixbad26 ixbad26: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str18248, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok25: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 %t154 = load ptr, ptr %t153 call void @fn_jq_put(ptr %t144, ptr %t154) %t155 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t155, ptr @.str18249) %t156 = load ptr, ptr %t0 %t157 = load ptr, ptr @g_g_mc_rec %t158 = load i32, ptr %t117 %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 %ixok27, label %ixbad28 ixbad28: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str18250, i32 %t158, i32 %t162) call void @exit(i32 1) unreachable ixok27: %t165 = getelementptr inbounds ptr, ptr %t160, i32 %t158 %t166 = load ptr, ptr %t165 call void @fn_jq_put(ptr %t156, ptr %t166) %t167 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t167, ptr @.str18251) %t168 = load ptr, ptr %t0 %t169 = load ptr, ptr @g_g_mc_field %t170 = load i32, ptr %t117 %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 %ixok29, label %ixbad30 ixbad30: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str18252, i32 %t170, i32 %t174) call void @exit(i32 1) unreachable ixok29: %t177 = getelementptr inbounds ptr, ptr %t172, i32 %t170 %t178 = load ptr, ptr %t177 call void @fn_jq_put(ptr %t168, ptr %t178) %t179 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t179, ptr @.str18253) %t180 = load ptr, ptr %t0 %t181 = load ptr, ptr @g_g_mc_enum %t182 = load i32, ptr %t117 %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 %ixok31, label %ixbad32 ixbad32: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str18254, i32 %t182, i32 %t186) call void @exit(i32 1) unreachable ixok31: %t189 = getelementptr inbounds ptr, ptr %t184, i32 %t182 %t190 = load ptr, ptr %t189 call void @fn_sc_str(ptr %t180, ptr %t190) %t191 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t191, ptr @.str18255) %t192 = load ptr, ptr @g_g_mc_state %t193 = load i32, ptr %t117 %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 %ixok33, label %ixbad34 ixbad34: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str18256, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok33: %t200 = getelementptr inbounds ptr, ptr %t195, i32 %t193 %t201 = load ptr, ptr %t200 %t202 = icmp eq ptr %t201, null %t203 = zext i1 %t202 to i32 %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then35, label %else36 then35: %t205 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t205, ptr @.str18257) br label %ifend37 else36: %t206 = load ptr, ptr %t0 %t207 = load ptr, ptr @g_g_mc_state %t208 = load i32, ptr %t117 %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 %ixok38, label %ixbad39 ixbad39: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str18258, i32 %t208, i32 %t212) call void @exit(i32 1) unreachable ixok38: %t215 = getelementptr inbounds ptr, ptr %t210, i32 %t208 %t216 = load ptr, ptr %t215 store i32 7568, ptr @lp_site %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str18259) store i32 0, ptr @lp_site %t218 = load ptr, ptr @g_g_mc_path %t219 = load i32, ptr %t117 %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 %ixok40, label %ixbad41 ixbad41: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str18260, i32 %t219, i32 %t223) call void @exit(i32 1) unreachable ixok40: %t226 = getelementptr inbounds ptr, ptr %t221, i32 %t219 %t227 = load ptr, ptr %t226 store i32 7569, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr %t217, ptr %t227) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) call void @fn_jq_put(ptr %t206, ptr %t228) br label %ifend37 ifend37: %t229 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t229, ptr @.str18261) %t230 = load ptr, ptr %t0 %t231 = load ptr, ptr @g_g_mc_start %t232 = load i32, ptr %t117 %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: %t238 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str18262, i32 %t232, i32 %t236) call void @exit(i32 1) unreachable ixok42: %t239 = getelementptr inbounds ptr, ptr %t234, i32 %t232 %t240 = load ptr, ptr %t239 call void @fn_sc_str(ptr %t230, ptr %t240) %t241 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t241, ptr @.str18263) %t242 = load ptr, ptr %t0 %t243 = load ptr, ptr @g_g_mc_enum %t244 = load i32, ptr %t117 %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 %ixok44, label %ixbad45 ixbad45: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str18264, i32 %t244, i32 %t248) call void @exit(i32 1) unreachable ixok44: %t251 = getelementptr inbounds ptr, ptr %t246, i32 %t244 %t252 = load ptr, ptr %t251 call void @fn_cx_mc_states(ptr %t242, ptr %t252) %t253 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t253, ptr @.str18265) %t254 = load ptr, ptr %t0 %t255 = load ptr, ptr @g_g_mc_acts %t256 = load i32, ptr %t117 %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 %ixok46, label %ixbad47 ixbad47: %t262 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str18266, i32 %t256, i32 %t260) call void @exit(i32 1) unreachable ixok46: %t263 = getelementptr inbounds ptr, ptr %t258, i32 %t256 %t264 = load ptr, ptr %t263 call void @fn_cx_list(ptr %t254, ptr %t264) %t265 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t265, ptr @.str18267) %t266 = load ptr, ptr %t0 %t267 = load ptr, ptr @g_g_mc_tick %t268 = load i32, ptr %t117 %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 %ixok48, label %ixbad49 ixbad49: %t274 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str18268, i32 %t268, i32 %t272) call void @exit(i32 1) unreachable ixok48: %t275 = getelementptr inbounds ptr, ptr %t270, i32 %t268 %t276 = load ptr, ptr %t275 call void @fn_sc_str(ptr %t266, ptr %t276) %t277 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t277, ptr @.str18269) %t278 = load ptr, ptr %t0 %t279 = load ptr, ptr %t138 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 9 %t281 = load ptr, ptr %t280 call void @fn_cx_module(ptr %t278, ptr %t281) %t282 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t282, ptr @.str18270) %t283 = load ptr, ptr %t0 %t284 = load ptr, ptr %t138 call void @fn_cx_at(ptr %t283, ptr %t284) %t285 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t285, ptr @.str18271) %t286 = load i32, ptr %t8 %t287 = add i32 %t286, 1 store i32 %t287, ptr %t8 br label %wcond16 wend18: br label %ret ret: ret void } define void @fn_cx_mc_states(ptr %arg_b, ptr %arg_en) { entry: %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_en, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t2, ptr @.str18272) %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: %t7 = load ptr, ptr %t1 %t8 = call ptr @fn_mc_enum_decl(ptr %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond3 wcond3: %t12 = load ptr, ptr %t9 %t13 = icmp ne 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 %t11 br i1 %t15, label %sc6, label %scend7 sc6: %t17 = load i32, ptr %t10 %t18 = load ptr, ptr %t9 %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 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t11 br label %scend7 scend7: %t27 = load i32, ptr %t11 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody4, label %wend5 wbody4: %t29 = load i32, ptr %t10 %t30 = icmp sgt 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 %t0 call void @fn_buf_puts(ptr %t33, ptr @.str18273) br label %ifend10 ifend10: %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t9 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t10 %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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str18274, 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 1 %t48 = load ptr, ptr %t47 call void @fn_jq_put(ptr %t34, ptr %t48) %t49 = load i32, ptr %t10 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t10 br label %wcond3 wend5: br label %ifend2 ifend2: %t51 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t51, ptr @.str18275) br label %ret ret: ret void } define void @fn_cx_row_verbs(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t82 = alloca ptr %t109 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7570, 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_rv_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_rv_nodes %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18277, 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 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_cx_written(ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %else6 then5: %t30 = load ptr, ptr %t7 %t31 = load ptr, ptr %t26 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 %t34 = load ptr, ptr %t26 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 9 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t26 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 8 %t39 = load i32, ptr %t38 %t40 = call ptr @fn_sc_key(ptr %t33, ptr %t36, i32 %t39) %t41 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t42 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t43 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t44 = load i32, ptr %t41 %t45 = load i32, ptr %t42 %t46 = icmp sge i32 %t44, %t45 br i1 %t46, label %grow8, label %put9 grow8: %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 7571, 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 %put9 put9: %t56 = load ptr, ptr %t43 %t57 = getelementptr inbounds ptr, ptr %t56, i32 %t44 store ptr %t40, ptr %t57 %t58 = add i32 %t44, 1 store i32 %t58, ptr %t41 br label %ifend7 else6: %t59 = load ptr, ptr %t7 %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t63 = load i32, ptr %t60 %t64 = load i32, ptr %t61 %t65 = icmp sge i32 %t63, %t64 br i1 %t65, label %grow10, label %put11 grow10: %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 7572, 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 %put11 put11: %t75 = load ptr, ptr %t62 %t76 = getelementptr inbounds ptr, ptr %t75, i32 %t63 store ptr null, ptr %t76 %t77 = add i32 %t63, 1 store i32 %t77, ptr %t60 br label %ifend7 ifend7: %t78 = load i32, ptr %t8 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t8 br label %wcond0 wend2: %t80 = load ptr, ptr %t7 %t81 = call ptr @fn_cx_order(ptr %t80) store ptr %t81, ptr %t82 store i32 0, ptr %t8 br label %wcond12 wcond12: %t83 = load i32, ptr %t8 %t84 = load ptr, ptr %t82 %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp slt i32 %t83, %t86 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %wbody13, label %wend14 wbody13: %t90 = load ptr, ptr @g_g_rv_nodes %t91 = load ptr, ptr %t82 %t92 = load i32, ptr %t8 %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 %ixok15, label %ixbad16 ixbad16: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str18278, i32 %t92, i32 %t96) call void @exit(i32 1) unreachable ixok15: %t99 = getelementptr inbounds i32, ptr %t94, i32 %t92 %t100 = load i32, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t104 = load i32, ptr %t103 %t105 = icmp ult i32 %t100, %t104 br i1 %t105, label %ixok17, label %ixbad18 ixbad18: %t106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t106, ptr @.fmt_bounds, ptr @.str18279, i32 %t100, i32 %t104) call void @exit(i32 1) unreachable ixok17: %t107 = getelementptr inbounds ptr, ptr %t102, i32 %t100 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t0 %t111 = load i32, ptr %t8 %t112 = icmp eq i32 %t111, 0 %t113 = zext i1 %t112 to i32 call void @fn_sc_sep(ptr %t110, i32 %t113, ptr @.str18280) %t114 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t114, ptr @.str18281) %t115 = load ptr, ptr %t0 %t116 = load ptr, ptr %t109 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 call void @fn_jq_put(ptr %t115, ptr %t118) %t119 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t119, ptr @.str18282) %t120 = load ptr, ptr %t0 %t121 = load ptr, ptr %t109 %t122 = call ptr @fn_rv_record(ptr %t121) call void @fn_sc_str(ptr %t120, ptr %t122) %t123 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t123, ptr @.str18283) %t124 = load ptr, ptr %t0 %t125 = load ptr, ptr %t109 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 9 %t127 = load ptr, ptr %t126 call void @fn_cx_module(ptr %t124, ptr %t127) %t128 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t128, ptr @.str18284) %t129 = load ptr, ptr %t0 %t130 = load ptr, ptr %t109 call void @fn_cx_at(ptr %t129, ptr %t130) %t131 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t131, ptr @.str18285) %t132 = load i32, ptr %t8 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t8 br label %wcond12 wend14: br label %ret ret: ret void } define void @fn_cx_dispatch(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t74 = alloca ptr %t101 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7573, 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_dsp_at %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_dsp_at %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18287, 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 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_cx_written(ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %else6 then5: %t30 = load ptr, ptr %t7 %t31 = load ptr, ptr %t26 %t32 = call ptr @fn_cx_at_key(ptr %t31) %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t35 = getelementptr inbounds %LSlice, ptr %t30, 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 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 7574, 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 ptr, ptr %t48, i32 %t36 store ptr %t32, ptr %t49 %t50 = add i32 %t36, 1 store i32 %t50, ptr %t33 br label %ifend7 else6: %t51 = load ptr, ptr %t7 %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 %grow10, label %put11 grow10: %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 7575, 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 %put11 put11: %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 br label %ifend7 ifend7: %t70 = load i32, ptr %t8 %t71 = add i32 %t70, 1 store i32 %t71, ptr %t8 br label %wcond0 wend2: %t72 = load ptr, ptr %t7 %t73 = call ptr @fn_cx_order(ptr %t72) store ptr %t73, ptr %t74 store i32 0, ptr %t8 br label %wcond12 wcond12: %t75 = load i32, ptr %t8 %t76 = load ptr, ptr %t74 %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 %wbody13, label %wend14 wbody13: %t82 = load ptr, ptr @g_g_dsp_at %t83 = load ptr, ptr %t74 %t84 = load i32, ptr %t8 %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 %ixok15, label %ixbad16 ixbad16: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str18288, i32 %t84, i32 %t88) call void @exit(i32 1) unreachable ixok15: %t91 = getelementptr inbounds i32, ptr %t86, i32 %t84 %t92 = load i32, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t92, %t96 br i1 %t97, label %ixok17, label %ixbad18 ixbad18: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str18289, i32 %t92, i32 %t96) call void @exit(i32 1) unreachable ixok17: %t99 = getelementptr inbounds ptr, ptr %t94, i32 %t92 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t0 %t103 = load i32, ptr %t8 %t104 = icmp eq i32 %t103, 0 %t105 = zext i1 %t104 to i32 call void @fn_sc_sep(ptr %t102, i32 %t105, ptr @.str18290) %t106 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t106, ptr @.str18291) %t107 = load ptr, ptr %t0 %t108 = load ptr, ptr @g_g_dsp_names %t109 = load ptr, ptr %t74 %t110 = load i32, ptr %t8 %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 %ixok19, label %ixbad20 ixbad20: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str18292, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok19: %t117 = getelementptr inbounds i32, ptr %t112, i32 %t110 %t118 = load i32, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t118, %t122 br i1 %t123, label %ixok21, label %ixbad22 ixbad22: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str18293, i32 %t118, i32 %t122) call void @exit(i32 1) unreachable ixok21: %t125 = getelementptr inbounds ptr, ptr %t120, i32 %t118 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_sc_name(ptr %t126) call void @fn_jq_put(ptr %t107, ptr %t127) %t128 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t128, ptr @.str18294) %t129 = load ptr, ptr %t0 %t130 = load ptr, ptr %t101 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 9 %t132 = load ptr, ptr %t131 call void @fn_cx_module(ptr %t129, ptr %t132) %t133 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t133, ptr @.str18295) %t134 = load ptr, ptr %t0 %t135 = load ptr, ptr %t101 call void @fn_cx_at(ptr %t134, ptr %t135) %t136 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t136, ptr @.str18296) %t137 = load i32, ptr %t8 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t8 br label %wcond12 wend14: br label %ret ret: ret void } define void @fn_cx_events(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t98 = alloca ptr %t171 = alloca ptr %t178 = alloca ptr %t186 = alloca i32 %t269 = alloca ptr %t272 = alloca ptr %t299 = alloca ptr %t331 = alloca i32 %t332 = alloca i32 %t359 = alloca ptr %t398 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7576, 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_events %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_events %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18298, 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 %t28 = load ptr, ptr %t26 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = icmp ne ptr %t30, null %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 %t26 %t36 = call i32 @fn_cx_written(ptr %t35) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t27 br label %scend6 scend6: %t39 = load i32, ptr %t27 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then7, label %else8 then7: %t41 = load ptr, ptr %t7 %t42 = load ptr, ptr %t26 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_sc_name(ptr %t44) %t46 = load ptr, ptr %t26 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 9 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t26 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 8 %t51 = load i32, ptr %t50 %t52 = call ptr @fn_sc_key(ptr %t45, ptr %t48, i32 %t51) %t53 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t54 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 %t55 = getelementptr inbounds %LSlice, ptr %t41, 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 7577, 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 %ifend9 else8: %t71 = load ptr, ptr %t7 %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 %grow12, label %put13 grow12: %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 7578, 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 %put13 put13: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75 store ptr null, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 br label %ifend9 ifend9: %t90 = load i32, ptr %t8 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t8 br label %wcond0 wend2: %t92 = getelementptr %LSlice, ptr null, i32 1 %t93 = ptrtoint ptr %t92 to i64 store i32 7579, ptr @lp_site %t94 = call ptr @lp_malloc(i64 %t93) store i32 0, ptr @lp_site %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 store ptr null, ptr %t95 %t96 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 store i32 0, ptr %t96 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 2 store i32 0, ptr %t97 store ptr %t94, ptr %t98 store i32 0, ptr %t8 br label %wcond14 wcond14: %t99 = load i32, ptr %t8 %t100 = load ptr, ptr @g_g_cx_emits %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 %wbody15, label %wend16 wbody15: %t106 = load ptr, ptr @g_g_cx_emits %t107 = load i32, ptr %t8 %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 %ixok17, label %ixbad18 ixbad18: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str18299, i32 %t107, i32 %t111) call void @exit(i32 1) unreachable ixok17: %t114 = getelementptr inbounds ptr, ptr %t109, i32 %t107 %t115 = load ptr, ptr %t114 %t116 = call i32 @fn_cx_written(ptr %t115) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then19, label %else20 then19: %t118 = load ptr, ptr %t98 %t119 = load ptr, ptr @g_g_cx_emits %t120 = load i32, ptr %t8 %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 %ixok22, label %ixbad23 ixbad23: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str18300, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok22: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_cx_at_key(ptr %t128) %t130 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t131 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 2 %t132 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t133 = load i32, ptr %t130 %t134 = load i32, ptr %t131 %t135 = icmp sge i32 %t133, %t134 br i1 %t135, label %grow24, label %put25 grow24: %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 7580, 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 %put25 put25: %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 %ifend21 else20: %t148 = load ptr, ptr %t98 %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 2 %t151 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 %t152 = load i32, ptr %t149 %t153 = load i32, ptr %t150 %t154 = icmp sge i32 %t152, %t153 br i1 %t154, label %grow26, label %put27 grow26: %t155 = mul i32 %t153, 2 %t156 = icmp eq i32 %t153, 0 %t157 = select i1 %t156, i32 8, i32 %t155 %t158 = getelementptr ptr, 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 7581, 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 %put27 put27: %t164 = load ptr, ptr %t151 %t165 = getelementptr inbounds ptr, ptr %t164, i32 %t152 store ptr null, ptr %t165 %t166 = add i32 %t152, 1 store i32 %t166, ptr %t149 br label %ifend21 ifend21: %t167 = load i32, ptr %t8 %t168 = add i32 %t167, 1 store i32 %t168, ptr %t8 br label %wcond14 wend16: %t169 = load ptr, ptr %t98 %t170 = call ptr @fn_cx_order(ptr %t169) store ptr %t170, ptr %t171 %t172 = getelementptr %LSlice, ptr null, i32 1 %t173 = ptrtoint ptr %t172 to i64 store i32 7582, ptr @lp_site %t174 = call ptr @lp_malloc(i64 %t173) store i32 0, ptr @lp_site %t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 store ptr null, ptr %t175 %t176 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 1 store i32 0, ptr %t176 %t177 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 2 store i32 0, ptr %t177 store ptr %t174, ptr %t178 store i32 0, ptr %t8 br label %wcond28 wcond28: %t179 = load i32, ptr %t8 %t180 = load ptr, ptr @g_g_cx_h %t181 = getelementptr inbounds %LSlice, ptr %t180, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp slt i32 %t179, %t182 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %wbody29, label %wend30 wbody29: %t187 = load ptr, ptr @g_g_cx_hlisten %t188 = load i32, ptr %t8 %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 %ixok31, label %ixbad32 ixbad32: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str18301, i32 %t188, i32 %t192) call void @exit(i32 1) unreachable ixok31: %t195 = getelementptr inbounds ptr, ptr %t190, i32 %t188 %t196 = load ptr, ptr %t195 %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 %t186 br i1 %t199, label %sc33, label %scend34 sc33: %t201 = load ptr, ptr @g_g_cx_h %t202 = load i32, ptr %t8 %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 %ixok35, label %ixbad36 ixbad36: %t208 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t208, ptr @.fmt_bounds, ptr @.str18302, i32 %t202, i32 %t206) call void @exit(i32 1) unreachable ixok35: %t209 = getelementptr inbounds ptr, ptr %t204, i32 %t202 %t210 = load ptr, ptr %t209 %t211 = call i32 @fn_cx_written(ptr %t210) %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t186 br label %scend34 scend34: %t214 = load i32, ptr %t186 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then37, label %else38 then37: %t216 = load ptr, ptr %t178 %t217 = load ptr, ptr @g_g_cx_h %t218 = load i32, ptr %t8 %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 %ixok40, label %ixbad41 ixbad41: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str18303, i32 %t218, i32 %t222) call void @exit(i32 1) unreachable ixok40: %t225 = getelementptr inbounds ptr, ptr %t220, i32 %t218 %t226 = load ptr, ptr %t225 %t227 = call ptr @fn_cx_at_key(ptr %t226) %t228 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t229 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 2 %t230 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t231 = load i32, ptr %t228 %t232 = load i32, ptr %t229 %t233 = icmp sge i32 %t231, %t232 br i1 %t233, label %grow42, label %put43 grow42: %t234 = mul i32 %t232, 2 %t235 = icmp eq i32 %t232, 0 %t236 = select i1 %t235, i32 8, i32 %t234 %t237 = getelementptr ptr, ptr null, i32 1 %t238 = ptrtoint ptr %t237 to i64 %t239 = zext i32 %t236 to i64 %t240 = mul i64 %t239, %t238 %t241 = load ptr, ptr %t230 store i32 7583, ptr @lp_site %t242 = call ptr @lp_realloc(ptr %t241, i64 %t240) store i32 0, ptr @lp_site store ptr %t242, ptr %t230 store i32 %t236, ptr %t229 br label %put43 put43: %t243 = load ptr, ptr %t230 %t244 = getelementptr inbounds ptr, ptr %t243, i32 %t231 store ptr %t227, ptr %t244 %t245 = add i32 %t231, 1 store i32 %t245, ptr %t228 br label %ifend39 else38: %t246 = load ptr, ptr %t178 %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t248 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 2 %t249 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t250 = load i32, ptr %t247 %t251 = load i32, ptr %t248 %t252 = icmp sge i32 %t250, %t251 br i1 %t252, label %grow44, label %put45 grow44: %t253 = mul i32 %t251, 2 %t254 = icmp eq i32 %t251, 0 %t255 = select i1 %t254, i32 8, i32 %t253 %t256 = getelementptr ptr, ptr null, i32 1 %t257 = ptrtoint ptr %t256 to i64 %t258 = zext i32 %t255 to i64 %t259 = mul i64 %t258, %t257 %t260 = load ptr, ptr %t249 store i32 7584, ptr @lp_site %t261 = call ptr @lp_realloc(ptr %t260, i64 %t259) store i32 0, ptr @lp_site store ptr %t261, ptr %t249 store i32 %t255, ptr %t248 br label %put45 put45: %t262 = load ptr, ptr %t249 %t263 = getelementptr inbounds ptr, ptr %t262, i32 %t250 store ptr null, ptr %t263 %t264 = add i32 %t250, 1 store i32 %t264, ptr %t247 br label %ifend39 ifend39: %t265 = load i32, ptr %t8 %t266 = add i32 %t265, 1 store i32 %t266, ptr %t8 br label %wcond28 wend30: %t267 = load ptr, ptr %t178 %t268 = call ptr @fn_cx_order(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t7 %t271 = call ptr @fn_cx_order(ptr %t270) store ptr %t271, ptr %t272 store i32 0, ptr %t8 br label %wcond46 wcond46: %t273 = load i32, ptr %t8 %t274 = load ptr, ptr %t272 %t275 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 1 %t276 = load i32, ptr %t275 %t277 = icmp slt i32 %t273, %t276 %t278 = zext i1 %t277 to i32 %t279 = icmp ne i32 %t278, 0 br i1 %t279, label %wbody47, label %wend48 wbody47: %t280 = load ptr, ptr @g_g_events %t281 = load ptr, ptr %t272 %t282 = load i32, ptr %t8 %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 %ixok49, label %ixbad50 ixbad50: %t288 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t288, ptr @.fmt_bounds, ptr @.str18304, i32 %t282, i32 %t286) call void @exit(i32 1) unreachable ixok49: %t289 = getelementptr inbounds i32, ptr %t284, i32 %t282 %t290 = load i32, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t294 = load i32, ptr %t293 %t295 = icmp ult i32 %t290, %t294 br i1 %t295, label %ixok51, label %ixbad52 ixbad52: %t296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str18305, i32 %t290, i32 %t294) call void @exit(i32 1) unreachable ixok51: %t297 = getelementptr inbounds ptr, ptr %t292, i32 %t290 %t298 = load ptr, ptr %t297 store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t0 %t301 = load i32, ptr %t8 %t302 = icmp eq i32 %t301, 0 %t303 = zext i1 %t302 to i32 call void @fn_sc_sep(ptr %t300, i32 %t303, ptr @.str18306) %t304 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t304, ptr @.str18307) %t305 = load ptr, ptr %t0 %t306 = load ptr, ptr %t299 %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 1 %t308 = load ptr, ptr %t307 %t309 = call ptr @fn_sc_name(ptr %t308) call void @fn_jq_put(ptr %t305, ptr %t309) %t310 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t310, ptr @.str18308) %t311 = load ptr, ptr %t0 %t312 = load ptr, ptr %t299 %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 9 %t314 = load ptr, ptr %t313 call void @fn_cx_module(ptr %t311, ptr %t314) %t315 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t315, ptr @.str18309) %t316 = load ptr, ptr %t0 %t317 = load ptr, ptr %t299 call void @fn_cx_at(ptr %t316, ptr %t317) %t318 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t318, ptr @.str18310) %t319 = load ptr, ptr %t0 %t320 = load ptr, ptr %t299 %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 2 %t322 = load i32, ptr %t321 %t323 = icmp eq i32 %t322, 1 %t324 = zext i1 %t323 to i32 call void @fn_sc_bool(ptr %t319, i32 %t324) %t325 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t325, ptr @.str18311) %t326 = load ptr, ptr %t0 %t327 = load ptr, ptr %t299 %t328 = getelementptr inbounds %Cmp_Node, ptr %t327, i32 0, i32 3 %t329 = load ptr, ptr %t328 call void @fn_sc_str(ptr %t326, ptr %t329) %t330 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t330, ptr @.str18312) store i32 0, ptr %t331 store i32 0, ptr %t332 br label %wcond53 wcond53: %t333 = load i32, ptr %t332 %t334 = load ptr, ptr %t171 %t335 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 1 %t336 = load i32, ptr %t335 %t337 = icmp slt i32 %t333, %t336 %t338 = zext i1 %t337 to i32 %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %wbody54, label %wend55 wbody54: %t340 = load ptr, ptr @g_g_cx_emits %t341 = load ptr, ptr %t171 %t342 = load i32, ptr %t332 %t343 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 1 %t346 = load i32, ptr %t345 %t347 = icmp ult i32 %t342, %t346 br i1 %t347, label %ixok56, label %ixbad57 ixbad57: %t348 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t348, ptr @.fmt_bounds, ptr @.str18313, i32 %t342, i32 %t346) call void @exit(i32 1) unreachable ixok56: %t349 = getelementptr inbounds i32, ptr %t344, i32 %t342 %t350 = load i32, ptr %t349 %t351 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 0 %t352 = load ptr, ptr %t351 %t353 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1 %t354 = load i32, ptr %t353 %t355 = icmp ult i32 %t350, %t354 br i1 %t355, label %ixok58, label %ixbad59 ixbad59: %t356 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t356, ptr @.fmt_bounds, ptr @.str18314, i32 %t350, i32 %t354) call void @exit(i32 1) unreachable ixok58: %t357 = getelementptr inbounds ptr, ptr %t352, i32 %t350 %t358 = load ptr, ptr %t357 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 %t361 %t363 = load ptr, ptr %t299 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 1 %t365 = load ptr, ptr %t364 %t366 = call i32 @lp_str_eq(ptr %t362, ptr %t365) %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then60, label %ifend62 then60: %t368 = load i32, ptr %t331 %t369 = icmp sgt i32 %t368, 0 %t370 = zext i1 %t369 to i32 %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then63, label %ifend65 then63: %t372 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t372, ptr @.str18315) br label %ifend65 ifend65: %t373 = load ptr, ptr %t0 %t374 = load ptr, ptr %t359 %t375 = call ptr @fn_cx_at_text(ptr %t374) call void @fn_jq_put(ptr %t373, ptr %t375) %t376 = load i32, ptr %t331 %t377 = add i32 %t376, 1 store i32 %t377, ptr %t331 br label %ifend62 ifend62: %t378 = load i32, ptr %t332 %t379 = add i32 %t378, 1 store i32 %t379, ptr %t332 br label %wcond53 wend55: %t380 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t380, ptr @.str18316) store i32 0, ptr %t331 store i32 0, ptr %t332 br label %wcond66 wcond66: %t381 = load i32, ptr %t332 %t382 = load ptr, ptr %t269 %t383 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 1 %t384 = load i32, ptr %t383 %t385 = icmp slt i32 %t381, %t384 %t386 = zext i1 %t385 to i32 %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %wbody67, label %wend68 wbody67: %t388 = load ptr, ptr %t269 %t389 = load i32, ptr %t332 %t390 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 1 %t393 = load i32, ptr %t392 %t394 = icmp ult i32 %t389, %t393 br i1 %t394, label %ixok69, label %ixbad70 ixbad70: %t395 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str18317, i32 %t389, i32 %t393) call void @exit(i32 1) unreachable ixok69: %t396 = getelementptr inbounds i32, ptr %t391, i32 %t389 %t397 = load i32, ptr %t396 store i32 %t397, ptr %t398 %t399 = load ptr, ptr @g_g_cx_hlisten %t400 = load i32, ptr %t398 %t401 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 0 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 1 %t404 = load i32, ptr %t403 %t405 = icmp ult i32 %t400, %t404 br i1 %t405, label %ixok71, label %ixbad72 ixbad72: %t406 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t406, ptr @.fmt_bounds, ptr @.str18318, i32 %t400, i32 %t404) call void @exit(i32 1) unreachable ixok71: %t407 = getelementptr inbounds ptr, ptr %t402, i32 %t400 %t408 = load ptr, ptr %t407 %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 1 %t410 = load ptr, ptr %t409 %t411 = load ptr, ptr %t299 %t412 = getelementptr inbounds %Cmp_Node, ptr %t411, i32 0, i32 1 %t413 = load ptr, ptr %t412 %t414 = call i32 @lp_str_eq(ptr %t410, ptr %t413) %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then73, label %ifend75 then73: %t416 = load i32, ptr %t331 %t417 = icmp sgt i32 %t416, 0 %t418 = zext i1 %t417 to i32 %t419 = icmp ne i32 %t418, 0 br i1 %t419, label %then76, label %ifend78 then76: %t420 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t420, ptr @.str18319) br label %ifend78 ifend78: %t421 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t421, ptr @.str18320) %t422 = load ptr, ptr %t0 %t423 = load ptr, ptr @g_g_cx_hname %t424 = load i32, ptr %t398 %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 %ixok79, label %ixbad80 ixbad80: %t430 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t430, ptr @.fmt_bounds, ptr @.str18321, i32 %t424, i32 %t428) call void @exit(i32 1) unreachable ixok79: %t431 = getelementptr inbounds ptr, ptr %t426, i32 %t424 %t432 = load ptr, ptr %t431 call void @fn_jq_put(ptr %t422, ptr %t432) %t433 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t433, ptr @.str18322) %t434 = load ptr, ptr %t0 %t435 = load ptr, ptr @g_g_cx_h %t436 = load i32, ptr %t398 %t437 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 0 %t438 = load ptr, ptr %t437 %t439 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 1 %t440 = load i32, ptr %t439 %t441 = icmp ult i32 %t436, %t440 br i1 %t441, label %ixok81, label %ixbad82 ixbad82: %t442 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t442, ptr @.fmt_bounds, ptr @.str18323, i32 %t436, i32 %t440) call void @exit(i32 1) unreachable ixok81: %t443 = getelementptr inbounds ptr, ptr %t438, i32 %t436 %t444 = load ptr, ptr %t443 %t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 9 %t446 = load ptr, ptr %t445 call void @fn_cx_module(ptr %t434, ptr %t446) %t447 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t447, ptr @.str18324) %t448 = load ptr, ptr %t0 %t449 = load ptr, ptr @g_g_cx_h %t450 = load i32, ptr %t398 %t451 = getelementptr inbounds %LSlice, ptr %t449, i32 0, i32 0 %t452 = load ptr, ptr %t451 %t453 = getelementptr inbounds %LSlice, ptr %t449, i32 0, i32 1 %t454 = load i32, ptr %t453 %t455 = icmp ult i32 %t450, %t454 br i1 %t455, label %ixok83, label %ixbad84 ixbad84: %t456 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t456, ptr @.fmt_bounds, ptr @.str18325, i32 %t450, i32 %t454) call void @exit(i32 1) unreachable ixok83: %t457 = getelementptr inbounds ptr, ptr %t452, i32 %t450 %t458 = load ptr, ptr %t457 call void @fn_cx_at(ptr %t448, ptr %t458) %t459 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t459, ptr @.str18326) %t460 = load i32, ptr %t331 %t461 = add i32 %t460, 1 store i32 %t461, ptr %t331 br label %ifend75 ifend75: %t462 = load i32, ptr %t332 %t463 = add i32 %t462, 1 store i32 %t463, ptr %t332 br label %wcond66 wend68: %t464 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t464, ptr @.str18327) %t465 = load i32, ptr %t8 %t466 = add i32 %t465, 1 store i32 %t466, ptr %t8 br label %wcond46 wend48: br label %ret ret: ret void } define void @fn_cx_ports(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t89 = alloca ptr %t107 = alloca i32 %t118 = alloca ptr %t158 = alloca i32 %t180 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7585, 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_pt_name %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_pt_comp %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18329, 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 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_cx_written(ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %else6 then5: %t30 = load ptr, ptr %t7 %t31 = load ptr, ptr @g_g_pt_name %t32 = load i32, ptr %t8 %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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str18330, 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 = load ptr, ptr %t26 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 9 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr %t26 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 8 %t46 = load i32, ptr %t45 %t47 = call ptr @fn_sc_key(ptr %t40, ptr %t43, i32 %t46) %t48 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t49 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t50 = getelementptr inbounds %LSlice, ptr %t30, 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 7586, 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 br label %ifend7 else6: %t66 = load ptr, ptr %t7 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow12, label %put13 grow12: %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 7587, 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 %put13 put13: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds ptr, ptr %t82, i32 %t70 store ptr null, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 br label %ifend7 ifend7: %t85 = load i32, ptr %t8 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t8 br label %wcond0 wend2: %t87 = load ptr, ptr %t7 %t88 = call ptr @fn_cx_order(ptr %t87) store ptr %t88, ptr %t89 store i32 0, ptr %t8 br label %wcond14 wcond14: %t90 = load i32, ptr %t8 %t91 = load ptr, ptr %t89 %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 %wbody15, label %wend16 wbody15: %t97 = load ptr, ptr %t89 %t98 = load i32, ptr %t8 %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 %ixok17, label %ixbad18 ixbad18: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str18331, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok17: %t105 = getelementptr inbounds i32, ptr %t100, i32 %t98 %t106 = load i32, ptr %t105 store i32 %t106, ptr %t107 %t108 = load ptr, ptr @g_g_pt_comp %t109 = load i32, ptr %t107 %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 %ixok19, label %ixbad20 ixbad20: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str18332, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok19: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t0 %t120 = load i32, ptr %t8 %t121 = icmp eq i32 %t120, 0 %t122 = zext i1 %t121 to i32 call void @fn_sc_sep(ptr %t119, i32 %t122, ptr @.str18333) %t123 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t123, ptr @.str18334) %t124 = load ptr, ptr %t0 %t125 = load ptr, ptr @g_g_pt_name %t126 = load i32, ptr %t107 %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 %ixok21, label %ixbad22 ixbad22: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str18335, i32 %t126, i32 %t130) call void @exit(i32 1) unreachable ixok21: %t133 = getelementptr inbounds ptr, ptr %t128, i32 %t126 %t134 = load ptr, ptr %t133 call void @fn_jq_put(ptr %t124, ptr %t134) %t135 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t135, ptr @.str18336) %t136 = load ptr, ptr %t0 %t137 = load ptr, ptr %t118 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 9 %t139 = load ptr, ptr %t138 call void @fn_cx_module(ptr %t136, ptr %t139) %t140 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t140, ptr @.str18337) %t141 = load ptr, ptr %t0 %t142 = load ptr, ptr %t118 call void @fn_cx_at(ptr %t141, ptr %t142) %t143 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t143, ptr @.str18338) %t144 = load ptr, ptr %t0 %t145 = load ptr, ptr @g_g_pt_bind %t146 = load i32, ptr %t107 %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 %ixok23, label %ixbad24 ixbad24: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str18339, i32 %t146, i32 %t150) call void @exit(i32 1) unreachable ixok23: %t153 = getelementptr inbounds ptr, ptr %t148, i32 %t146 %t154 = load ptr, ptr %t153 %t155 = icmp ne ptr %t154, null %t156 = zext i1 %t155 to i32 call void @fn_sc_bool(ptr %t144, i32 %t156) %t157 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t157, ptr @.str18340) store i32 0, ptr %t158 br label %wcond25 wcond25: %t159 = load i32, ptr %t158 %t160 = load ptr, ptr %t118 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp slt i32 %t159, %t164 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %wbody26, label %wend27 wbody26: %t168 = load ptr, ptr %t118 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 7 %t170 = load ptr, ptr %t169 %t171 = load i32, ptr %t158 %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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str18341, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok28: %t178 = getelementptr inbounds ptr, ptr %t173, i32 %t171 %t179 = load ptr, ptr %t178 store ptr %t179, ptr %t180 %t181 = load i32, ptr %t158 %t182 = icmp sgt i32 %t181, 0 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then30, label %ifend32 then30: %t185 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t185, ptr @.str18342) br label %ifend32 ifend32: %t186 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t186, ptr @.str18343) %t187 = load ptr, ptr %t0 %t188 = load ptr, ptr %t180 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 call void @fn_jq_put(ptr %t187, ptr %t190) %t191 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t191, ptr @.str18344) %t192 = load ptr, ptr %t0 %t193 = load ptr, ptr %t180 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 3 %t195 = load ptr, ptr %t194 %t196 = call ptr @fn_sc_ty(ptr %t195) call void @fn_jq_put(ptr %t192, ptr %t196) %t197 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t197, ptr @.str18345) %t198 = load ptr, ptr %t0 %t199 = load ptr, ptr %t180 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 9 %t201 = load ptr, ptr %t200 %t202 = load ptr, ptr %t180 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 20 %t204 = load i32, ptr %t203 %t205 = load ptr, ptr %t180 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 21 %t207 = load i32, ptr %t206 %t208 = call ptr @fn_sc_text(ptr %t201, i32 %t204, i32 %t207) call void @fn_sc_str(ptr %t198, ptr %t208) %t209 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t209, ptr @.str18346) %t210 = load ptr, ptr %t0 %t211 = load ptr, ptr %t180 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 4 %t213 = load ptr, ptr %t212 %t214 = icmp eq ptr %t213, null %t215 = zext i1 %t214 to i32 call void @fn_sc_bool(ptr %t210, i32 %t215) %t216 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t216, ptr @.str18347) %t217 = load i32, ptr %t158 %t218 = add i32 %t217, 1 store i32 %t218, ptr %t158 br label %wcond25 wend27: %t219 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t219, ptr @.str18348) %t220 = load i32, ptr %t8 %t221 = add i32 %t220, 1 store i32 %t221, ptr %t8 br label %wcond14 wend16: br label %ret ret: ret void } define void @fn_cx_binds(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 %t55 = alloca i32 %t81 = alloca ptr %t157 = alloca ptr %t184 = alloca ptr %t216 = alloca i32 %t217 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7588, 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 7589, 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 7590, 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_g_bd %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_g_bd %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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str18350, 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 %t42 = load ptr, ptr %t40 %t43 = call i32 @fn_cx_written(ptr %t42) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t41 br i1 %t44, label %sc5, label %scend6 sc5: %t46 = load ptr, ptr %t40 %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 %t41 br label %scend6 scend6: %t53 = load i32, ptr %t41 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then7, label %ifend9 then7: store i32 0, ptr %t55 br label %wcond10 wcond10: %t56 = load i32, ptr %t55 %t57 = load ptr, ptr %t40 %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 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 %t56, %t63 %t65 = zext i1 %t64 to i32 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %wbody11, label %wend12 wbody11: %t67 = load ptr, ptr %t40 %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 7 %t71 = load ptr, ptr %t70 %t72 = load i32, ptr %t55 %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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str18351, i32 %t72, i32 %t76) call void @exit(i32 1) unreachable ixok13: %t79 = getelementptr inbounds ptr, ptr %t74, i32 %t72 %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0 %t84 = load i32, ptr %t83 %t85 = icmp eq i32 %t84, 42 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then15, label %ifend17 then15: %t88 = load ptr, ptr %t7 %t89 = load ptr, ptr %t81 %t90 = call ptr @fn_cx_at_key(ptr %t89) %t91 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 2 %t93 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 %t94 = load i32, ptr %t91 %t95 = load i32, ptr %t92 %t96 = icmp sge i32 %t94, %t95 br i1 %t96, label %grow18, label %put19 grow18: %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 7591, 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 %put19 put19: %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 %t14 %t110 = load ptr, ptr %t81 %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 %grow20, label %put21 grow20: %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 7592, 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 %put21 put21: %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 %t21 %t130 = load ptr, ptr %t40 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t134 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 2 %t135 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t136 = load i32, ptr %t133 %t137 = load i32, ptr %t134 %t138 = icmp sge i32 %t136, %t137 br i1 %t138, label %grow22, label %put23 grow22: %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 7593, 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 %put23 put23: %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 br label %ifend17 ifend17: %t151 = load i32, ptr %t55 %t152 = add i32 %t151, 1 store i32 %t152, ptr %t55 br label %wcond10 wend12: br label %ifend9 ifend9: %t153 = load i32, ptr %t22 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t22 br label %wcond0 wend2: %t155 = load ptr, ptr %t7 %t156 = call ptr @fn_cx_order(ptr %t155) store ptr %t156, ptr %t157 store i32 0, ptr %t22 br label %wcond24 wcond24: %t158 = load i32, ptr %t22 %t159 = load ptr, ptr %t157 %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 br i1 %t164, label %wbody25, label %wend26 wbody25: %t165 = load ptr, ptr %t14 %t166 = load ptr, ptr %t157 %t167 = load i32, ptr %t22 %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 %ixok27, label %ixbad28 ixbad28: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str18352, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok27: %t174 = getelementptr inbounds i32, ptr %t169, i32 %t167 %t175 = load i32, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp ult i32 %t175, %t179 br i1 %t180, label %ixok29, label %ixbad30 ixbad30: %t181 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t181, ptr @.fmt_bounds, ptr @.str18353, i32 %t175, i32 %t179) call void @exit(i32 1) unreachable ixok29: %t182 = getelementptr inbounds ptr, ptr %t177, i32 %t175 %t183 = load ptr, ptr %t182 store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t0 %t186 = load i32, ptr %t22 %t187 = icmp eq i32 %t186, 0 %t188 = zext i1 %t187 to i32 call void @fn_sc_sep(ptr %t185, i32 %t188, ptr @.str18354) %t189 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t189, ptr @.str18355) %t190 = load ptr, ptr %t0 %t191 = load ptr, ptr %t21 %t192 = load ptr, ptr %t157 %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 %ixok31, label %ixbad32 ixbad32: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str18356, i32 %t193, i32 %t197) call void @exit(i32 1) unreachable ixok31: %t200 = getelementptr inbounds i32, ptr %t195, i32 %t193 %t201 = load i32, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t205 = load i32, ptr %t204 %t206 = icmp ult i32 %t201, %t205 br i1 %t206, label %ixok33, label %ixbad34 ixbad34: %t207 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t207, ptr @.fmt_bounds, ptr @.str18357, i32 %t201, i32 %t205) call void @exit(i32 1) unreachable ixok33: %t208 = getelementptr inbounds ptr, ptr %t203, i32 %t201 %t209 = load ptr, ptr %t208 call void @fn_jq_put(ptr %t190, ptr %t209) %t210 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t210, ptr @.str18358) %t211 = load ptr, ptr %t0 %t212 = load ptr, ptr %t184 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1 %t214 = load ptr, ptr %t213 call void @fn_jq_put(ptr %t211, ptr %t214) %t215 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t215, ptr @.str18359) %t218 = load ptr, ptr %t184 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 4 %t220 = load ptr, ptr %t219 %t221 = icmp ne ptr %t220, null %t222 = zext i1 %t221 to i32 %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t217 br i1 %t223, label %sc35, label %scend36 sc35: %t225 = load ptr, ptr %t184 %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 0 %t229 = load i32, ptr %t228 %t230 = icmp eq i32 %t229, 55 %t231 = zext i1 %t230 to i32 %t232 = icmp ne i32 %t231, 0 %t233 = zext i1 %t232 to i32 store i32 %t233, ptr %t217 br label %scend36 scend36: %t234 = load i32, ptr %t217 %t235 = icmp ne i32 %t234, 0 %t236 = zext i1 %t235 to i32 store i32 %t236, ptr %t216 br i1 %t235, label %sc37, label %scend38 sc37: %t237 = load ptr, ptr %t184 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 4 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 13 %t241 = load i32, ptr %t240 %t242 = icmp sge i32 %t241, 0 %t243 = zext i1 %t242 to i32 %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t216 br label %scend38 scend38: %t246 = load i32, ptr %t216 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then39, label %else40 then39: %t248 = load ptr, ptr %t0 %t249 = load ptr, ptr %t184 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 4 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 1 %t253 = load ptr, ptr %t252 %t254 = call ptr @fn_sc_name(ptr %t253) call void @fn_jq_put(ptr %t248, ptr %t254) br label %ifend41 else40: %t255 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t255, ptr @.str18360) br label %ifend41 ifend41: %t256 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t256, ptr @.str18361) %t257 = load ptr, ptr %t0 %t258 = load ptr, ptr %t184 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 9 %t260 = load ptr, ptr %t259 %t261 = load ptr, ptr %t184 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 20 %t263 = load i32, ptr %t262 %t264 = load ptr, ptr %t184 %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 21 %t266 = load i32, ptr %t265 %t267 = call ptr @fn_sc_text(ptr %t260, i32 %t263, i32 %t266) call void @fn_sc_str(ptr %t257, ptr %t267) %t268 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t268, ptr @.str18362) %t269 = load ptr, ptr %t0 %t270 = load ptr, ptr %t184 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 9 %t272 = load ptr, ptr %t271 call void @fn_cx_module(ptr %t269, ptr %t272) %t273 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t273, ptr @.str18363) %t274 = load ptr, ptr %t0 %t275 = load ptr, ptr %t184 call void @fn_cx_at(ptr %t274, ptr %t275) %t276 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t276, ptr @.str18364) %t277 = load i32, ptr %t22 %t278 = add i32 %t277, 1 store i32 %t278, ptr %t22 br label %wcond24 wend26: br label %ret ret: ret void } define void @fn_cx_handlers(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t89 = alloca ptr %t107 = alloca i32 %t118 = alloca ptr %t129 = alloca ptr %t155 = alloca i32 %t156 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7594, 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_cx_h %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_cx_h %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18366, 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 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_cx_written(ptr %t27) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %else6 then5: %t30 = load ptr, ptr %t7 %t31 = load ptr, ptr @g_g_cx_hname %t32 = load i32, ptr %t8 %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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str18367, 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 = load ptr, ptr %t26 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 9 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr %t26 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 8 %t46 = load i32, ptr %t45 %t47 = call ptr @fn_sc_key(ptr %t40, ptr %t43, i32 %t46) %t48 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t49 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t50 = getelementptr inbounds %LSlice, ptr %t30, 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 7595, 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 br label %ifend7 else6: %t66 = load ptr, ptr %t7 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow12, label %put13 grow12: %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 7596, 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 %put13 put13: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds ptr, ptr %t82, i32 %t70 store ptr null, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 br label %ifend7 ifend7: %t85 = load i32, ptr %t8 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t8 br label %wcond0 wend2: %t87 = load ptr, ptr %t7 %t88 = call ptr @fn_cx_order(ptr %t87) store ptr %t88, ptr %t89 store i32 0, ptr %t8 br label %wcond14 wcond14: %t90 = load i32, ptr %t8 %t91 = load ptr, ptr %t89 %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 %wbody15, label %wend16 wbody15: %t97 = load ptr, ptr %t89 %t98 = load i32, ptr %t8 %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 %ixok17, label %ixbad18 ixbad18: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str18368, i32 %t98, i32 %t102) call void @exit(i32 1) unreachable ixok17: %t105 = getelementptr inbounds i32, ptr %t100, i32 %t98 %t106 = load i32, ptr %t105 store i32 %t106, ptr %t107 %t108 = load ptr, ptr @g_g_cx_h %t109 = load i32, ptr %t107 %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 %ixok19, label %ixbad20 ixbad20: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str18369, i32 %t109, i32 %t113) call void @exit(i32 1) unreachable ixok19: %t116 = getelementptr inbounds ptr, ptr %t111, i32 %t109 %t117 = load ptr, ptr %t116 store ptr %t117, ptr %t118 %t119 = load ptr, ptr @g_g_cx_hhook %t120 = load i32, ptr %t107 %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 %ixok21, label %ixbad22 ixbad22: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str18370, i32 %t120, i32 %t124) call void @exit(i32 1) unreachable ixok21: %t127 = getelementptr inbounds ptr, ptr %t122, i32 %t120 %t128 = load ptr, ptr %t127 store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t0 %t131 = load i32, ptr %t8 %t132 = icmp eq i32 %t131, 0 %t133 = zext i1 %t132 to i32 call void @fn_sc_sep(ptr %t130, i32 %t133, ptr @.str18371) %t134 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t134, ptr @.str18372) %t135 = load ptr, ptr %t0 %t136 = load ptr, ptr @g_g_cx_hname %t137 = load i32, ptr %t107 %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 %ixok23, label %ixbad24 ixbad24: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str18373, i32 %t137, i32 %t141) call void @exit(i32 1) unreachable ixok23: %t144 = getelementptr inbounds ptr, ptr %t139, i32 %t137 %t145 = load ptr, ptr %t144 call void @fn_jq_put(ptr %t135, ptr %t145) %t146 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t146, ptr @.str18374) %t147 = load ptr, ptr %t0 %t148 = load ptr, ptr %t118 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 9 %t150 = load ptr, ptr %t149 call void @fn_cx_module(ptr %t147, ptr %t150) %t151 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t151, ptr @.str18375) %t152 = load ptr, ptr %t0 %t153 = load ptr, ptr %t118 call void @fn_cx_at(ptr %t152, ptr %t153) %t154 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t154, ptr @.str18376) %t157 = load ptr, ptr %t129 %t158 = icmp eq 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 %t156 br i1 %t160, label %scend26, label %sc25 sc25: %t162 = load ptr, ptr %t129 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str18377) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t156 br label %scend26 scend26: %t166 = load i32, ptr %t156 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t155 br i1 %t167, label %scend28, label %sc27 sc27: %t169 = load ptr, ptr %t129 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str18378) %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t155 br label %scend28 scend28: %t173 = load i32, ptr %t155 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then29, label %else30 then29: %t175 = load ptr, ptr %t0 %t176 = load ptr, ptr %t118 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 3 %t178 = load ptr, ptr %t177 call void @fn_sc_str(ptr %t175, ptr %t178) br label %ifend31 else30: %t179 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t179, ptr @.str18379) br label %ifend31 ifend31: %t180 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t180, ptr @.str18380) %t181 = load ptr, ptr %t0 %t182 = load ptr, ptr %t129 call void @fn_sc_str(ptr %t181, ptr %t182) %t183 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t183, ptr @.str18381) %t184 = load ptr, ptr %t0 %t185 = load ptr, ptr @g_g_cx_htarget %t186 = load i32, ptr %t107 %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 %ixok32, label %ixbad33 ixbad33: %t192 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t192, ptr @.fmt_bounds, ptr @.str18382, i32 %t186, i32 %t190) call void @exit(i32 1) unreachable ixok32: %t193 = getelementptr inbounds ptr, ptr %t188, i32 %t186 %t194 = load ptr, ptr %t193 call void @fn_sc_str(ptr %t184, ptr %t194) %t195 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t195, ptr @.str18383) %t196 = load ptr, ptr %t0 %t197 = load ptr, ptr @g_g_cx_hpub %t198 = load i32, ptr %t107 %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 %ixok34, label %ixbad35 ixbad35: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str18384, i32 %t198, i32 %t202) call void @exit(i32 1) unreachable ixok34: %t205 = getelementptr inbounds i32, ptr %t200, i32 %t198 %t206 = load i32, ptr %t205 call void @fn_sc_bool(ptr %t196, i32 %t206) %t207 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t207, ptr @.str18385) %t208 = load ptr, ptr %t118 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 2 %t210 = load i32, ptr %t209 %t211 = icmp eq i32 %t210, 1 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then36, label %else37 then36: %t214 = load ptr, ptr %t0 call void @fn_jq_put(ptr %t214, ptr @.str18386) br label %ifend38 else37: %t215 = load ptr, ptr %t118 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 2 %t217 = load i32, ptr %t216 %t218 = icmp eq i32 %t217, 2 %t219 = zext i1 %t218 to i32 %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then39, label %else40 then39: %t221 = load ptr, ptr %t0 call void @fn_jq_put(ptr %t221, ptr @.str18387) br label %ifend41 else40: %t222 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t222, ptr @.str18388) br label %ifend41 ifend41: br label %ifend38 ifend38: %t223 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t223, ptr @.str18389) %t224 = load ptr, ptr %t0 %t225 = load ptr, ptr @g_g_cx_hq %t226 = load i32, ptr %t107 %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 %ixok42, label %ixbad43 ixbad43: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str18390, i32 %t226, i32 %t230) call void @exit(i32 1) unreachable ixok42: %t233 = getelementptr inbounds ptr, ptr %t228, i32 %t226 %t234 = load ptr, ptr %t233 call void @fn_cx_queries(ptr %t224, ptr %t234) %t235 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t235, ptr @.str18391) %t236 = load ptr, ptr %t0 %t237 = load ptr, ptr @g_g_cx_hscene %t238 = load i32, ptr %t107 %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 %ixok44, label %ixbad45 ixbad45: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str18392, i32 %t238, i32 %t242) call void @exit(i32 1) unreachable ixok44: %t245 = getelementptr inbounds ptr, ptr %t240, i32 %t238 %t246 = load ptr, ptr %t245 call void @fn_sc_str(ptr %t236, ptr %t246) %t247 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t247, ptr @.str18393) %t248 = load ptr, ptr %t0 %t249 = load ptr, ptr @g_g_cx_hlayer %t250 = load i32, ptr %t107 %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 %ixok46, label %ixbad47 ixbad47: %t256 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t256, ptr @.fmt_bounds, ptr @.str18394, i32 %t250, i32 %t254) call void @exit(i32 1) unreachable ixok46: %t257 = getelementptr inbounds ptr, ptr %t252, i32 %t250 %t258 = load ptr, ptr %t257 call void @fn_sc_str(ptr %t248, ptr %t258) %t259 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t259, ptr @.str18395) %t260 = load i32, ptr %t8 %t261 = add i32 %t260, 1 store i32 %t261, ptr %t8 br label %wcond14 wend16: br label %ret ret: ret void } define void @fn_cx_queries(ptr %arg_b, ptr %arg_q) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t47 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_q, 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 %t1 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 6 %t10 = load ptr, ptr %t9 %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: %t17 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t17, ptr @.str18396) br label %ret ifend4: %t18 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t18, ptr @.str18397) store ptr null, ptr %t19 store i32 0, ptr %t20 store i32 0, ptr %t21 br label %wcond5 wcond5: %t22 = load i32, ptr %t21 %t23 = load ptr, ptr %t1 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 6 %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 %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 6 %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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str18398, i32 %t38, i32 %t42) call void @exit(i32 1) unreachable ixok8: %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 2 %t50 = load i32, ptr %t49 %t51 = icmp eq i32 %t50, 1 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then10, label %else11 then10: %t54 = load ptr, ptr %t47 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 store ptr %t56, ptr %t19 br label %ifend12 else11: %t57 = load i32, ptr %t20 %t58 = icmp sgt i32 %t57, 0 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then13, label %ifend15 then13: %t61 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t61, ptr @.str18399) br label %ifend15 ifend15: %t62 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t62, ptr @.str18400) %t63 = load ptr, ptr %t0 %t64 = load ptr, ptr %t47 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 call void @fn_jq_put(ptr %t63, ptr %t66) %t67 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t67, ptr @.str18401) %t68 = load ptr, ptr %t0 %t69 = load ptr, ptr %t47 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 9 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t47 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 20 %t74 = load i32, ptr %t73 %t75 = load ptr, ptr %t47 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 21 %t77 = load i32, ptr %t76 %t78 = call ptr @fn_sc_text(ptr %t71, i32 %t74, i32 %t77) call void @fn_sc_str(ptr %t68, ptr %t78) %t79 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t79, ptr @.str18402) %t80 = load i32, ptr %t20 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t20 br label %ifend12 ifend12: %t82 = load i32, ptr %t21 %t83 = add i32 %t82, 1 store i32 %t83, ptr %t21 br label %wcond5 wend7: %t84 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t84, ptr @.str18403) %t85 = load ptr, ptr %t0 %t86 = load ptr, ptr %t19 call void @fn_sc_str(ptr %t85, ptr %t86) %t87 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t87, ptr @.str18404) br label %ret ret: ret void } define void @fn_cx_models(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t28 = alloca i32 %t105 = alloca ptr %t132 = alloca ptr %t159 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7597, 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: %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18406, 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, 10 %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 %sc5, label %scend6 sc5: %t36 = load ptr, ptr %t26 %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 %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 = call i32 @fn_cx_written(ptr %t46) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t27 br label %scend8 scend8: %t50 = load i32, ptr %t27 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then9, label %else10 then9: %t52 = load ptr, ptr %t7 %t53 = load ptr, ptr %t26 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_sc_name(ptr %t55) %t57 = load ptr, ptr %t26 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 9 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t26 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 8 %t62 = load i32, ptr %t61 %t63 = call ptr @fn_sc_key(ptr %t56, ptr %t59, i32 %t62) %t64 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t65 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 %t66 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t67 = load i32, ptr %t64 %t68 = load i32, ptr %t65 %t69 = icmp sge i32 %t67, %t68 br i1 %t69, label %grow12, label %put13 grow12: %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 7598, 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 %put13 put13: %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 br label %ifend11 else10: %t82 = load ptr, ptr %t7 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow14, label %put15 grow14: %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 7599, 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 %put15 put15: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds ptr, ptr %t98, i32 %t86 store ptr null, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 br label %ifend11 ifend11: %t101 = load i32, ptr %t8 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t8 br label %wcond0 wend2: %t103 = load ptr, ptr %t7 %t104 = call ptr @fn_cx_order(ptr %t103) store ptr %t104, ptr %t105 store i32 0, ptr %t8 br label %wcond16 wcond16: %t106 = load i32, ptr %t8 %t107 = load ptr, ptr %t105 %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 %wbody17, label %wend18 wbody17: %t113 = load ptr, ptr @g_prog %t114 = load ptr, ptr %t105 %t115 = load i32, ptr %t8 %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 %ixok19, label %ixbad20 ixbad20: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str18407, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok19: %t122 = getelementptr inbounds i32, ptr %t117, i32 %t115 %t123 = load i32, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t123, %t127 br i1 %t128, label %ixok21, label %ixbad22 ixbad22: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str18408, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok21: %t130 = getelementptr inbounds ptr, ptr %t125, i32 %t123 %t131 = load ptr, ptr %t130 store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t0 %t134 = load i32, ptr %t8 %t135 = icmp eq i32 %t134, 0 %t136 = zext i1 %t135 to i32 call void @fn_sc_sep(ptr %t133, i32 %t136, ptr @.str18409) %t137 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t137, ptr @.str18410) %t138 = load ptr, ptr %t0 %t139 = load ptr, ptr %t132 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 %t142 = call ptr @fn_sc_name(ptr %t141) call void @fn_jq_put(ptr %t138, ptr %t142) %t143 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t143, ptr @.str18411) %t144 = load ptr, ptr %t0 %t145 = load ptr, ptr %t132 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 9 %t147 = load ptr, ptr %t146 call void @fn_cx_module(ptr %t144, ptr %t147) %t148 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t148, ptr @.str18412) %t149 = load ptr, ptr %t0 %t150 = load ptr, ptr %t132 call void @fn_cx_at(ptr %t149, ptr %t150) %t151 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t151, ptr @.str18413) %t152 = load ptr, ptr %t0 %t153 = load ptr, ptr %t132 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 2 %t155 = load i32, ptr %t154 %t156 = icmp eq i32 %t155, 1 %t157 = zext i1 %t156 to i32 call void @fn_sc_bool(ptr %t152, i32 %t157) %t158 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t158, ptr @.str18414) store i32 0, ptr %t159 br label %wcond23 wcond23: %t160 = load i32, ptr %t159 %t161 = load ptr, ptr %t132 %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 %wbody24, label %wend25 wbody24: %t169 = load i32, ptr %t159 %t170 = icmp sgt i32 %t169, 0 %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then26, label %ifend28 then26: %t173 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t173, ptr @.str18415) br label %ifend28 ifend28: %t174 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t174, ptr @.str18416) %t175 = load ptr, ptr %t0 %t176 = load ptr, ptr %t132 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7 %t178 = load ptr, ptr %t177 %t179 = load i32, ptr %t159 %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 %ixok29, label %ixbad30 ixbad30: %t185 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str18417, i32 %t179, i32 %t183) call void @exit(i32 1) unreachable ixok29: %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_sc_name(ptr %t189) call void @fn_jq_put(ptr %t175, ptr %t190) %t191 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t191, ptr @.str18418) %t192 = load ptr, ptr %t0 %t193 = load ptr, ptr %t132 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 %t196 = load i32, ptr %t159 %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 %ixok31, label %ixbad32 ixbad32: %t202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str18419, i32 %t196, i32 %t200) call void @exit(i32 1) unreachable ixok31: %t203 = getelementptr inbounds ptr, ptr %t198, i32 %t196 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 2 %t206 = load i32, ptr %t205 %t207 = icmp eq i32 %t206, 1 %t208 = zext i1 %t207 to i32 call void @fn_sc_bool(ptr %t192, i32 %t208) %t209 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t209, ptr @.str18420) %t210 = load i32, ptr %t159 %t211 = add i32 %t210, 1 store i32 %t211, ptr %t159 br label %wcond23 wend25: %t212 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t212, ptr @.str18421) %t213 = load i32, ptr %t8 %t214 = add i32 %t213, 1 store i32 %t214, ptr %t8 br label %wcond16 wend18: br label %ret ret: ret void } define void @fn_cx_prefabs(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t28 = alloca i32 %t105 = alloca ptr %t132 = alloca ptr %t158 = alloca i32 %t180 = alloca ptr %t193 = alloca i32 %t194 = alloca i32 %t230 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7600, 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: %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18423, 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, 53 %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 %sc5, label %scend6 sc5: %t36 = load ptr, ptr %t26 %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 %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 = call i32 @fn_cx_written(ptr %t46) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t27 br label %scend8 scend8: %t50 = load i32, ptr %t27 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then9, label %else10 then9: %t52 = load ptr, ptr %t7 %t53 = load ptr, ptr %t26 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_sc_name(ptr %t55) %t57 = load ptr, ptr %t26 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 9 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t26 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 8 %t62 = load i32, ptr %t61 %t63 = call ptr @fn_sc_key(ptr %t56, ptr %t59, i32 %t62) %t64 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t65 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 %t66 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t67 = load i32, ptr %t64 %t68 = load i32, ptr %t65 %t69 = icmp sge i32 %t67, %t68 br i1 %t69, label %grow12, label %put13 grow12: %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 7601, 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 %put13 put13: %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 br label %ifend11 else10: %t82 = load ptr, ptr %t7 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow14, label %put15 grow14: %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 7602, 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 %put15 put15: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds ptr, ptr %t98, i32 %t86 store ptr null, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 br label %ifend11 ifend11: %t101 = load i32, ptr %t8 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t8 br label %wcond0 wend2: %t103 = load ptr, ptr %t7 %t104 = call ptr @fn_cx_order(ptr %t103) store ptr %t104, ptr %t105 store i32 0, ptr %t8 br label %wcond16 wcond16: %t106 = load i32, ptr %t8 %t107 = load ptr, ptr %t105 %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 %wbody17, label %wend18 wbody17: %t113 = load ptr, ptr @g_prog %t114 = load ptr, ptr %t105 %t115 = load i32, ptr %t8 %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 %ixok19, label %ixbad20 ixbad20: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str18424, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok19: %t122 = getelementptr inbounds i32, ptr %t117, i32 %t115 %t123 = load i32, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t123, %t127 br i1 %t128, label %ixok21, label %ixbad22 ixbad22: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str18425, i32 %t123, i32 %t127) call void @exit(i32 1) unreachable ixok21: %t130 = getelementptr inbounds ptr, ptr %t125, i32 %t123 %t131 = load ptr, ptr %t130 store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t0 %t134 = load i32, ptr %t8 %t135 = icmp eq i32 %t134, 0 %t136 = zext i1 %t135 to i32 call void @fn_sc_sep(ptr %t133, i32 %t136, ptr @.str18426) %t137 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t137, ptr @.str18427) %t138 = load ptr, ptr %t0 %t139 = load ptr, ptr %t132 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 %t142 = call ptr @fn_sc_name(ptr %t141) call void @fn_jq_put(ptr %t138, ptr %t142) %t143 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t143, ptr @.str18428) %t144 = load ptr, ptr %t0 %t145 = load ptr, ptr %t132 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 3 %t147 = load ptr, ptr %t146 %t148 = call ptr @fn_sc_name(ptr %t147) call void @fn_sc_str(ptr %t144, ptr %t148) %t149 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t149, ptr @.str18429) %t150 = load ptr, ptr %t0 %t151 = load ptr, ptr %t132 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 9 %t153 = load ptr, ptr %t152 call void @fn_cx_module(ptr %t150, ptr %t153) %t154 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t154, ptr @.str18430) %t155 = load ptr, ptr %t0 %t156 = load ptr, ptr %t132 call void @fn_cx_at(ptr %t155, ptr %t156) %t157 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t157, ptr @.str18431) store i32 0, ptr %t158 br label %wcond23 wcond23: %t159 = load i32, ptr %t158 %t160 = load ptr, ptr %t132 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp slt i32 %t159, %t164 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %wbody24, label %wend25 wbody24: %t168 = load ptr, ptr %t132 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 7 %t170 = load ptr, ptr %t169 %t171 = load i32, ptr %t158 %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 %ixok26, label %ixbad27 ixbad27: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str18432, i32 %t171, i32 %t175) call void @exit(i32 1) unreachable ixok26: %t178 = getelementptr inbounds ptr, ptr %t173, i32 %t171 %t179 = load ptr, ptr %t178 store ptr %t179, ptr %t180 %t181 = load i32, ptr %t158 %t182 = icmp sgt i32 %t181, 0 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then28, label %ifend30 then28: %t185 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t185, ptr @.str18433) br label %ifend30 ifend30: %t186 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t186, ptr @.str18434) %t187 = load ptr, ptr %t0 %t188 = load ptr, ptr %t180 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call ptr @fn_sc_name(ptr %t190) call void @fn_jq_put(ptr %t187, ptr %t191) %t192 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t192, ptr @.str18435) store i32 0, ptr %t193 br label %wcond31 wcond31: %t195 = load ptr, ptr %t180 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 4 %t197 = load ptr, ptr %t196 %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 %t194 br i1 %t200, label %sc34, label %scend35 sc34: %t202 = load i32, ptr %t193 %t203 = load ptr, ptr %t180 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 4 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 7 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 1 %t209 = load i32, ptr %t208 %t210 = icmp slt i32 %t202, %t209 %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t194 br label %scend35 scend35: %t214 = load i32, ptr %t194 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %wbody32, label %wend33 wbody32: %t216 = load ptr, ptr %t180 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 4 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 %t220 = load ptr, ptr %t219 %t221 = load i32, ptr %t193 %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 %ixok36, label %ixbad37 ixbad37: %t227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str18436, i32 %t221, i32 %t225) call void @exit(i32 1) unreachable ixok36: %t228 = getelementptr inbounds ptr, ptr %t223, i32 %t221 %t229 = load ptr, ptr %t228 store ptr %t229, ptr %t230 %t231 = load i32, ptr %t193 %t232 = icmp sgt i32 %t231, 0 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then38, label %ifend40 then38: %t235 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t235, ptr @.str18437) br label %ifend40 ifend40: %t236 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t236, ptr @.str18438) %t237 = load ptr, ptr %t0 %t238 = load ptr, ptr %t230 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1 %t240 = load ptr, ptr %t239 call void @fn_jq_put(ptr %t237, ptr %t240) %t241 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t241, ptr @.str18439) %t242 = load ptr, ptr %t0 %t243 = load ptr, ptr %t230 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 9 %t245 = load ptr, ptr %t244 %t246 = load ptr, ptr %t230 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 20 %t248 = load i32, ptr %t247 %t249 = load ptr, ptr %t230 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 21 %t251 = load i32, ptr %t250 %t252 = call ptr @fn_sc_text(ptr %t245, i32 %t248, i32 %t251) call void @fn_sc_str(ptr %t242, ptr %t252) %t253 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t253, ptr @.str18440) %t254 = load i32, ptr %t193 %t255 = add i32 %t254, 1 store i32 %t255, ptr %t193 br label %wcond31 wend33: %t256 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t256, ptr @.str18441) %t257 = load i32, ptr %t158 %t258 = add i32 %t257, 1 store i32 %t258, ptr %t158 br label %wcond23 wend25: %t259 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t259, ptr @.str18442) %t260 = load i32, ptr %t8 %t261 = add i32 %t260, 1 store i32 %t261, ptr %t8 br label %wcond16 wend18: br label %ret ret: ret void } define void @fn_cx_scenes(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t95 = alloca ptr %t113 = alloca i32 %t124 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7603, 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_scenes %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_scenes %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18444, 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 %t28 = load ptr, ptr %t26 %t29 = call i32 @fn_cx_written(ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t27 br i1 %t30, label %sc5, label %scend6 sc5: %t32 = load i32, ptr %t8 %t33 = load ptr, ptr @g_g_cx_slayers %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 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t27 br label %scend6 scend6: %t40 = load i32, ptr %t27 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then7, label %else8 then7: %t42 = load ptr, ptr %t7 %t43 = load ptr, ptr %t26 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_sc_name(ptr %t45) %t47 = load ptr, ptr %t26 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 9 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t26 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 8 %t52 = load i32, ptr %t51 %t53 = call ptr @fn_sc_key(ptr %t46, ptr %t49, i32 %t52) %t54 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t55 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 %t56 = getelementptr inbounds %LSlice, ptr %t42, 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 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 7604, 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 ptr, ptr %t69, i32 %t57 store ptr %t53, ptr %t70 %t71 = add i32 %t57, 1 store i32 %t71, ptr %t54 br label %ifend9 else8: %t72 = load ptr, ptr %t7 %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t74 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 2 %t75 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t76 = load i32, ptr %t73 %t77 = load i32, ptr %t74 %t78 = icmp sge i32 %t76, %t77 br i1 %t78, label %grow12, label %put13 grow12: %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 7605, 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 %put13 put13: %t88 = load ptr, ptr %t75 %t89 = getelementptr inbounds ptr, ptr %t88, i32 %t76 store ptr null, ptr %t89 %t90 = add i32 %t76, 1 store i32 %t90, ptr %t73 br label %ifend9 ifend9: %t91 = load i32, ptr %t8 %t92 = add i32 %t91, 1 store i32 %t92, ptr %t8 br label %wcond0 wend2: %t93 = load ptr, ptr %t7 %t94 = call ptr @fn_cx_order(ptr %t93) store ptr %t94, ptr %t95 store i32 0, ptr %t8 br label %wcond14 wcond14: %t96 = load i32, ptr %t8 %t97 = load ptr, ptr %t95 %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 %wbody15, label %wend16 wbody15: %t103 = load ptr, ptr %t95 %t104 = load i32, ptr %t8 %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 %ixok17, label %ixbad18 ixbad18: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str18445, i32 %t104, i32 %t108) call void @exit(i32 1) unreachable ixok17: %t111 = getelementptr inbounds i32, ptr %t106, i32 %t104 %t112 = load i32, ptr %t111 store i32 %t112, ptr %t113 %t114 = load ptr, ptr @g_g_scenes %t115 = load i32, ptr %t113 %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 %ixok19, label %ixbad20 ixbad20: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str18446, i32 %t115, i32 %t119) call void @exit(i32 1) unreachable ixok19: %t122 = getelementptr inbounds ptr, ptr %t117, i32 %t115 %t123 = load ptr, ptr %t122 store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t0 %t126 = load i32, ptr %t8 %t127 = icmp eq i32 %t126, 0 %t128 = zext i1 %t127 to i32 call void @fn_sc_sep(ptr %t125, i32 %t128, ptr @.str18447) %t129 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t129, ptr @.str18448) %t130 = load ptr, ptr %t0 %t131 = load ptr, ptr %t124 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_sc_name(ptr %t133) call void @fn_jq_put(ptr %t130, ptr %t134) %t135 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t135, ptr @.str18449) %t136 = load ptr, ptr %t0 %t137 = load ptr, ptr %t124 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 9 %t139 = load ptr, ptr %t138 call void @fn_cx_module(ptr %t136, ptr %t139) %t140 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t140, ptr @.str18450) %t141 = load ptr, ptr %t0 %t142 = load ptr, ptr %t124 call void @fn_cx_at(ptr %t141, ptr %t142) %t143 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t143, ptr @.str18451) %t144 = load ptr, ptr %t0 %t145 = load ptr, ptr %t124 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 %t147 = load i32, ptr %t146 %t148 = load i32, ptr @g_g_start_scene %t149 = icmp eq i32 %t147, %t148 %t150 = zext i1 %t149 to i32 call void @fn_sc_bool(ptr %t144, i32 %t150) %t151 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t151, ptr @.str18452) %t152 = load ptr, ptr %t0 %t153 = load ptr, ptr @g_g_cx_spub %t154 = load i32, ptr %t113 %t155 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t158 = load i32, ptr %t157 %t159 = icmp ult i32 %t154, %t158 br i1 %t159, label %ixok21, label %ixbad22 ixbad22: %t160 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t160, ptr @.fmt_bounds, ptr @.str18453, i32 %t154, i32 %t158) call void @exit(i32 1) unreachable ixok21: %t161 = getelementptr inbounds i32, ptr %t156, i32 %t154 %t162 = load i32, ptr %t161 call void @fn_sc_bool(ptr %t152, i32 %t162) %t163 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t163, ptr @.str18454) %t164 = load ptr, ptr %t0 %t165 = load ptr, ptr %t124 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 3 %t167 = load ptr, ptr %t166 call void @fn_sc_str(ptr %t164, ptr %t167) %t168 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t168, ptr @.str18455) %t169 = load ptr, ptr %t0 %t170 = load ptr, ptr %t124 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 9 %t172 = load ptr, ptr %t171 %t173 = load ptr, ptr %t124 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 20 %t175 = load i32, ptr %t174 %t176 = load ptr, ptr %t124 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 21 %t178 = load i32, ptr %t177 %t179 = call ptr @fn_sc_text(ptr %t172, i32 %t175, i32 %t178) call void @fn_sc_str(ptr %t169, ptr %t179) %t180 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t180, ptr @.str18456) %t181 = load ptr, ptr %t0 %t182 = load ptr, ptr @g_g_cx_sthen %t183 = load i32, ptr %t113 %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 %ixok23, label %ixbad24 ixbad24: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str18457, i32 %t183, i32 %t187) call void @exit(i32 1) unreachable ixok23: %t190 = getelementptr inbounds ptr, ptr %t185, i32 %t183 %t191 = load ptr, ptr %t190 call void @fn_sc_str(ptr %t181, ptr %t191) %t192 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t192, ptr @.str18458) %t193 = load ptr, ptr %t0 %t194 = load ptr, ptr @g_g_cx_sloads %t195 = load i32, ptr %t113 %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 %ixok25, label %ixbad26 ixbad26: %t201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str18459, i32 %t195, i32 %t199) call void @exit(i32 1) unreachable ixok25: %t202 = getelementptr inbounds ptr, ptr %t197, i32 %t195 %t203 = load ptr, ptr %t202 call void @fn_sc_str(ptr %t193, ptr %t203) %t204 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t204, ptr @.str18460) %t205 = load ptr, ptr %t0 %t206 = load ptr, ptr %t124 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 4 %t208 = load ptr, ptr %t207 %t209 = icmp ne ptr %t208, null %t210 = zext i1 %t209 to i32 call void @fn_sc_bool(ptr %t205, i32 %t210) %t211 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t211, ptr @.str18461) %t212 = load ptr, ptr %t0 %t213 = load ptr, ptr %t124 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 5 %t215 = load ptr, ptr %t214 %t216 = icmp ne ptr %t215, null %t217 = zext i1 %t216 to i32 call void @fn_sc_bool(ptr %t212, i32 %t217) %t218 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t218, ptr @.str18462) %t219 = load ptr, ptr %t0 %t220 = load ptr, ptr @g_g_cx_slayers %t221 = load i32, ptr %t113 %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 %ixok27, label %ixbad28 ixbad28: %t227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str18463, i32 %t221, i32 %t225) call void @exit(i32 1) unreachable ixok27: %t228 = getelementptr inbounds ptr, ptr %t223, i32 %t221 %t229 = load ptr, ptr %t228 call void @fn_cx_list(ptr %t219, ptr %t229) %t230 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t230, ptr @.str18464) %t231 = load i32, ptr %t8 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t8 br label %wcond14 wend16: br label %ret ret: ret void } define void @fn_cx_fn_refs(ptr %arg_b) { entry: %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t90 = alloca ptr %t91 = alloca i32 %t92 = alloca ptr %t119 = alloca ptr %t139 = alloca ptr %t140 = alloca i32 %t156 = alloca i32 %t157 = alloca i32 store ptr %arg_b, ptr %t0 call void @fn_cx_walk_all() %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 store i32 7606, 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_cx_fnrefs %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_cx_fnrefs %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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str18466, 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 %t28 = load ptr, ptr %t26 %t29 = call i32 @fn_cx_written_or_data(ptr %t28) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t27 br i1 %t30, label %sc5, label %scend6 sc5: %t32 = load ptr, ptr %t26 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = icmp ne ptr %t34, null %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t27 br label %scend6 scend6: %t39 = load i32, ptr %t27 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then7, label %else8 then7: %t41 = load ptr, ptr %t7 %t42 = load ptr, ptr %t26 %t43 = call ptr @fn_cx_at_key(ptr %t42) store i32 7607, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str18467) store i32 0, ptr @lp_site %t45 = load ptr, ptr %t26 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store i32 7608, 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 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t50 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 %t51 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t52 = load i32, ptr %t49 %t53 = load i32, ptr %t50 %t54 = icmp sge i32 %t52, %t53 br i1 %t54, label %grow10, label %put11 grow10: %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 7609, 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 %put11 put11: %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 %ifend9 else8: %t67 = load ptr, ptr %t7 %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 2 %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t71 = load i32, ptr %t68 %t72 = load i32, ptr %t69 %t73 = icmp sge i32 %t71, %t72 br i1 %t73, label %grow12, label %put13 grow12: %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 7610, 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 %put13 put13: %t83 = load ptr, ptr %t70 %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 store ptr null, ptr %t84 %t85 = add i32 %t71, 1 store i32 %t85, ptr %t68 br label %ifend9 ifend9: %t86 = load i32, ptr %t8 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t8 br label %wcond0 wend2: %t88 = load ptr, ptr %t7 %t89 = call ptr @fn_cx_order(ptr %t88) store ptr %t89, ptr %t90 store i32 0, ptr %t8 store i32 1, ptr %t91 store ptr null, ptr %t92 br label %wcond14 wcond14: %t93 = load i32, ptr %t8 %t94 = load ptr, ptr %t90 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp slt i32 %t93, %t96 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %wbody15, label %wend16 wbody15: %t100 = load ptr, ptr @g_g_cx_fnrefs %t101 = load ptr, ptr %t90 %t102 = load i32, ptr %t8 %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 %ixok17, label %ixbad18 ixbad18: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str18468, i32 %t102, i32 %t106) call void @exit(i32 1) unreachable ixok17: %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 %ixok19, label %ixbad20 ixbad20: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str18469, i32 %t110, i32 %t114) call void @exit(i32 1) unreachable ixok19: %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 %t90 %t122 = load i32, ptr %t8 %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 %ixok21, label %ixbad22 ixbad22: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str18470, i32 %t122, i32 %t126) call void @exit(i32 1) unreachable ixok21: %t129 = getelementptr inbounds i32, ptr %t124, i32 %t122 %t130 = load i32, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 %t130, %t134 br i1 %t135, label %ixok23, label %ixbad24 ixbad24: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str18471, i32 %t130, i32 %t134) call void @exit(i32 1) unreachable ixok23: %t137 = getelementptr inbounds ptr, ptr %t132, i32 %t130 %t138 = load ptr, ptr %t137 store ptr %t138, ptr %t139 %t141 = load ptr, ptr %t92 %t142 = icmp eq ptr %t141, null %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 %scend26, label %sc25 sc25: %t146 = load ptr, ptr %t139 %t147 = load ptr, ptr %t92 %t148 = call i32 @lp_str_eq(ptr %t146, ptr %t147) %t149 = icmp eq 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 %t140 br label %scend26 scend26: %t153 = load i32, ptr %t140 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then27, label %ifend29 then27: %t155 = load ptr, ptr %t139 store ptr %t155, ptr %t92 store i32 0, ptr %t156 br label %wcond30 wcond30: %t158 = load i32, ptr %t156 %t159 = load ptr, ptr @g_g_cx_wn %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 %sc33, label %scend34 sc33: %t166 = load ptr, ptr @g_g_cx_wn %t167 = load i32, ptr %t156 %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 %ixok35, label %ixbad36 ixbad36: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str18472, i32 %t167, i32 %t171) call void @exit(i32 1) unreachable ixok35: %t174 = getelementptr inbounds ptr, ptr %t169, i32 %t167 %t175 = load ptr, ptr %t174 %t176 = load ptr, ptr %t119 %t177 = icmp ne ptr %t175, %t176 %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t157 br label %scend34 scend34: %t181 = load i32, ptr %t157 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody31, label %wend32 wbody31: %t183 = load i32, ptr %t156 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t156 br label %wcond30 wend32: %t185 = load ptr, ptr %t0 %t186 = load i32, ptr %t91 call void @fn_sc_sep(ptr %t185, i32 %t186, ptr @.str18473) store i32 0, ptr %t91 %t187 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t187, ptr @.str18474) %t188 = load ptr, ptr %t0 %t189 = load ptr, ptr %t119 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 1 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_sc_name(ptr %t191) call void @fn_jq_put(ptr %t188, ptr %t192) %t193 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t193, ptr @.str18475) %t194 = load ptr, ptr %t0 %t195 = load ptr, ptr %t119 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 9 %t197 = load ptr, ptr %t196 call void @fn_cx_module(ptr %t194, ptr %t197) %t198 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t198, ptr @.str18476) %t199 = load ptr, ptr %t0 %t200 = load ptr, ptr %t119 call void @fn_cx_at(ptr %t199, ptr %t200) %t201 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t201, ptr @.str18477) %t202 = load i32, ptr %t156 %t203 = load ptr, ptr @g_g_cx_wn %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 %then37, label %else38 then37: %t209 = load ptr, ptr %t0 %t210 = load ptr, ptr @g_g_cx_wkind %t211 = load i32, ptr %t156 %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: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str18478, i32 %t211, i32 %t215) call void @exit(i32 1) unreachable ixok40: %t218 = getelementptr inbounds ptr, ptr %t213, i32 %t211 %t219 = load ptr, ptr %t218 call void @fn_jq_put(ptr %t209, ptr %t219) br label %ifend39 else38: %t220 = load ptr, ptr %t0 call void @fn_jq_put(ptr %t220, ptr @.str18479) br label %ifend39 ifend39: %t221 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t221, ptr @.str18480) %t222 = load i32, ptr %t156 %t223 = load ptr, ptr @g_g_cx_wn %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 %then42, label %else43 then42: %t229 = load ptr, ptr %t0 %t230 = load ptr, ptr @g_g_cx_wslot %t231 = load i32, ptr %t156 %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 %ixok45, label %ixbad46 ixbad46: %t237 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str18481, i32 %t231, i32 %t235) call void @exit(i32 1) unreachable ixok45: %t238 = getelementptr inbounds ptr, ptr %t233, i32 %t231 %t239 = load ptr, ptr %t238 call void @fn_sc_str(ptr %t229, ptr %t239) br label %ifend44 else43: %t240 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t240, ptr @.str18482) br label %ifend44 ifend44: %t241 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t241, ptr @.str18483) %t242 = load i32, ptr %t156 %t243 = load ptr, ptr @g_g_cx_wn %t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp slt i32 %t242, %t245 %t247 = zext i1 %t246 to i32 %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then47, label %else48 then47: %t249 = load ptr, ptr %t0 %t250 = load ptr, ptr @g_g_cx_wentry %t251 = load i32, ptr %t156 %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 %ixok50, label %ixbad51 ixbad51: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str18484, i32 %t251, i32 %t255) call void @exit(i32 1) unreachable ixok50: %t258 = getelementptr inbounds ptr, ptr %t253, i32 %t251 %t259 = load ptr, ptr %t258 call void @fn_sc_str(ptr %t249, ptr %t259) br label %ifend49 else48: %t260 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t260, ptr @.str18485) br label %ifend49 ifend49: %t261 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t261, ptr @.str18486) br label %ifend29 ifend29: %t262 = load i32, ptr %t8 %t263 = add i32 %t262, 1 store i32 %t263, ptr %t8 br label %wcond14 wend16: br label %ret ret: ret void } define void @fn_cx_walk_all() { entry: %t0 = alloca i32 %t105 = alloca ptr %t106 = alloca i32 %t167 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_df_rec %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_rec %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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18487, 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 @g_g_df_reg %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str18489, 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 = load ptr, ptr @g_g_df_key %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 %ixok7, label %ixbad8 ixbad8: %t35 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str18490, i32 %t29, i32 %t33) call void @exit(i32 1) unreachable ixok7: %t36 = getelementptr inbounds ptr, ptr %t31, i32 %t29 %t37 = load ptr, ptr %t36 call void @fn_cx_walk_rec(ptr %t17, ptr @.str18488, ptr %t27, ptr %t37, i32 0) %t38 = load i32, ptr %t0 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %t0 br label %wcond9 wcond9: %t40 = load i32, ptr %t0 %t41 = load ptr, ptr @g_g_bd %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 %wbody10, label %wend11 wbody10: %t47 = load ptr, ptr @g_g_bd %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: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str18491, 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 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 %t58 = load ptr, ptr %t57 %t59 = icmp ne ptr %t58, null %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then14, label %ifend16 then14: %t62 = load ptr, ptr @g_g_bd %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 %ixok17, label %ixbad18 ixbad18: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str18492, i32 %t63, i32 %t67) call void @exit(i32 1) unreachable ixok17: %t70 = getelementptr inbounds ptr, ptr %t65, i32 %t63 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 %t73 = load ptr, ptr %t72 %t74 = load ptr, ptr @g_g_bd %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 %ixok19, label %ixbad20 ixbad20: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str18494, i32 %t75, i32 %t79) call void @exit(i32 1) unreachable ixok19: %t82 = getelementptr inbounds ptr, ptr %t77, i32 %t75 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 call void @fn_cx_walk_rec(ptr %t73, ptr @.str18493, ptr %t85, ptr null, i32 0) br label %ifend16 ifend16: %t86 = load i32, ptr %t0 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t0 br label %wcond9 wend11: store i32 0, ptr %t0 br label %wcond21 wcond21: %t88 = load i32, ptr %t0 %t89 = load ptr, ptr @g_g_pt_comp %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 %wbody22, label %wend23 wbody22: %t95 = load ptr, ptr @g_g_pt_comp %t96 = load i32, ptr %t0 %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 %ixok24, label %ixbad25 ixbad25: %t102 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t102, ptr @.fmt_bounds, ptr @.str18495, i32 %t96, i32 %t100) call void @exit(i32 1) unreachable ixok24: %t103 = getelementptr inbounds ptr, ptr %t98, i32 %t96 %t104 = load ptr, ptr %t103 store ptr %t104, ptr %t105 store i32 0, ptr %t106 br label %wcond26 wcond26: %t107 = load i32, ptr %t106 %t108 = load ptr, ptr %t105 %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 1 %t112 = load i32, ptr %t111 %t113 = icmp slt i32 %t107, %t112 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %wbody27, label %wend28 wbody27: %t116 = load ptr, ptr %t105 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 7 %t118 = load ptr, ptr %t117 %t119 = load i32, ptr %t106 %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 %ixok29, label %ixbad30 ixbad30: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str18496, i32 %t119, i32 %t123) call void @exit(i32 1) unreachable ixok29: %t126 = getelementptr inbounds ptr, ptr %t121, i32 %t119 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 4 %t129 = load ptr, ptr %t128 %t130 = load ptr, ptr @g_g_pt_name %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 %ixok31, label %ixbad32 ixbad32: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str18498, i32 %t131, i32 %t135) call void @exit(i32 1) unreachable ixok31: %t138 = getelementptr inbounds ptr, ptr %t133, i32 %t131 %t139 = load ptr, ptr %t138 store i32 7611, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str18499) store i32 0, ptr @lp_site %t141 = load ptr, ptr %t105 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = load i32, ptr %t106 %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 %ixok33, label %ixbad34 ixbad34: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str18501, i32 %t144, i32 %t148) call void @exit(i32 1) unreachable ixok33: %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 store i32 7612, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t140, ptr %t154) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) call void @fn_cx_walk(ptr %t129, ptr @.str18497, ptr %t155, ptr null, i32 0) %t156 = load i32, ptr %t106 %t157 = add i32 %t156, 1 store i32 %t157, ptr %t106 br label %wcond26 wend28: %t158 = load i32, ptr %t0 %t159 = add i32 %t158, 1 store i32 %t159, ptr %t0 br label %wcond21 wend23: store i32 0, ptr %t0 br label %wcond35 wcond35: %t160 = load i32, ptr %t0 %t161 = load ptr, ptr @g_prog %t162 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp slt i32 %t160, %t163 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %wbody36, label %wend37 wbody36: %t168 = load ptr, ptr @g_prog %t169 = load i32, ptr %t0 %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 %ixok38, label %ixbad39 ixbad39: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str18502, i32 %t169, i32 %t173) call void @exit(i32 1) unreachable ixok38: %t176 = getelementptr inbounds ptr, ptr %t171, i32 %t169 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 9 %t179 = load ptr, ptr %t178 %t180 = icmp eq 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 %t167 br i1 %t182, label %scend41, label %sc40 sc40: %t184 = load ptr, ptr @g_prog %t185 = load i32, ptr %t0 %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 %ixok42, label %ixbad43 ixbad43: %t191 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str18503, i32 %t185, i32 %t189) call void @exit(i32 1) unreachable ixok42: %t192 = getelementptr inbounds ptr, ptr %t187, i32 %t185 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 9 %t195 = load ptr, ptr %t194 %t196 = call i32 @fn_is_runtime_file(ptr %t195) %t197 = icmp eq i32 %t196, 0 %t198 = zext i1 %t197 to i32 %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t167 br label %scend41 scend41: %t201 = load i32, ptr %t167 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then44, label %ifend46 then44: %t203 = load ptr, ptr @g_prog %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 %ixok47, label %ixbad48 ixbad48: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str18504, i32 %t204, i32 %t208) call void @exit(i32 1) unreachable ixok47: %t211 = getelementptr inbounds ptr, ptr %t206, i32 %t204 %t212 = load ptr, ptr %t211 call void @fn_cx_walk(ptr %t212, ptr @.str18505, ptr null, ptr null, i32 0) br label %ifend46 ifend46: %t213 = load i32, ptr %t0 %t214 = add i32 %t213, 1 store i32 %t214, ptr %t0 br label %wcond35 wend37: %t215 = load ptr, ptr @g_g_tests call void @fn_cx_walk_list(ptr %t215) %t216 = load ptr, ptr @g_g_onlisten call void @fn_cx_walk_list(ptr %t216) %t217 = load ptr, ptr @g_g_onspawn call void @fn_cx_walk_list(ptr %t217) %t218 = load ptr, ptr @g_g_ondespawn call void @fn_cx_walk_list(ptr %t218) %t219 = load ptr, ptr @g_g_onattach call void @fn_cx_walk_list(ptr %t219) %t220 = load ptr, ptr @g_g_ondetach call void @fn_cx_walk_list(ptr %t220) %t221 = load ptr, ptr @g_g_onenable call void @fn_cx_walk_list(ptr %t221) %t222 = load ptr, ptr @g_g_ondisable call void @fn_cx_walk_list(ptr %t222) %t223 = load ptr, ptr @g_g_scenes call void @fn_cx_walk_list(ptr %t223) br label %ret ret: ret void } define void @fn_cx_walk_list(ptr %arg_xs) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_xs, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str18506, 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_cx_walk(ptr %t18, ptr @.str18507, ptr null, ptr null, i32 0) %t19 = load i32, ptr %t1 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_cx_walk_rec(ptr %arg_rec, ptr %arg_kind, ptr %arg_owner, ptr %arg_entry, i32 %arg_depth) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t18 = alloca i32 %t40 = alloca ptr store ptr %arg_rec, ptr %t0 store ptr %arg_kind, ptr %t1 store ptr %arg_owner, ptr %t2 store ptr %arg_entry, ptr %t3 store i32 %arg_depth, ptr %t4 %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 i32, ptr %t4 %t12 = icmp sgt i32 %t11, 400 %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 br i1 %t17, label %then2, label %ifend4 then2: br label %ret ifend4: store i32 0, ptr %t18 br label %wcond5 wcond5: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t0 %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 %t0 %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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str18508, 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 ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 %t43 = load i32, ptr %t42 %t44 = icmp eq i32 %t43, 42 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then10, label %else11 then10: %t47 = load ptr, ptr %t40 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t1 %t51 = load ptr, ptr %t2 store i32 7613, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str18509) store i32 0, ptr @lp_site %t53 = load ptr, ptr %t40 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 store i32 7614, 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) %t57 = load ptr, ptr %t3 %t58 = load i32, ptr %t4 %t59 = add i32 %t58, 1 call void @fn_cx_walk(ptr %t49, ptr %t50, ptr %t56, ptr %t57, i32 %t59) br label %ifend12 else11: %t60 = load ptr, ptr %t40 %t61 = load i32, ptr %t4 %t62 = add i32 %t61, 1 call void @fn_cx_walk(ptr %t60, ptr @.str18511, ptr null, ptr null, i32 %t62) br label %ifend12 ifend12: %t63 = load i32, ptr %t18 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t18 br label %wcond5 wend7: br label %ret ret: ret void } define ptr @fn_cx_callee(ptr %arg_c) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca i32 %t26 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 store ptr %arg_c, 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: %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, 33 %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 1 %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 %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 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_sc_name(ptr %t24) store ptr %t25, ptr %retval br label %ret ifend7: %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, 35 %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 %sc8, label %scend9 sc8: %t37 = load ptr, ptr %t0 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t38 %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 %t29 br label %scend9 scend9: %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 %sc10, label %scend11 sc10: %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 0 %t51 = load i32, ptr %t50 %t52 = icmp eq i32 %t51, 33 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t28 br label %scend11 scend11: %t56 = load i32, ptr %t28 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t27 br i1 %t57, label %sc12, label %scend13 sc12: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 %t61 = load ptr, ptr %t60 %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 %t27 br label %scend13 scend13: %t68 = load i32, ptr %t27 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t26 br i1 %t69, label %sc14, label %scend15 sc14: %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %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 %t26 br label %scend15 scend15: %t78 = load i32, ptr %t26 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then16, label %ifend18 then16: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 store i32 7615, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str18512) 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 store i32 7616, 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 ptr %t89, ptr %retval br label %ret ifend18: store ptr null, ptr %retval br label %ret ret: %t90 = load ptr, ptr %retval ret ptr %t90 } define void @fn_cx_walk(ptr %arg_n, ptr %arg_kind, ptr %arg_slot, ptr %arg_entry, i32 %arg_depth) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t21 = alloca i32 %t24 = alloca i32 %t109 = alloca i32 %t110 = alloca i32 %t111 = alloca i32 %t160 = alloca i32 %t161 = alloca i32 %t194 = alloca i32 %t207 = alloca i32 %t229 = alloca ptr %t230 = alloca i32 %t231 = alloca i32 %t280 = alloca ptr %t285 = alloca i32 %t286 = alloca i32 %t308 = alloca ptr %t309 = alloca i32 %t348 = alloca i32 %t358 = alloca i32 %t423 = alloca i32 %t424 = alloca i32 %t459 = alloca i32 %t460 = alloca i32 %t461 = alloca i32 %t509 = alloca i32 %t569 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_kind, ptr %t1 store ptr %arg_slot, ptr %t2 store ptr %arg_entry, ptr %t3 store i32 %arg_depth, ptr %t4 %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 i32, ptr %t4 %t12 = icmp sgt i32 %t11, 400 %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 br i1 %t17, label %then2, label %ifend4 then2: br label %ret ifend4: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load i32, ptr %t4 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t24 %t25 = load i32, ptr %t21 %t26 = icmp eq i32 %t25, 55 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr @g_g_cx_wn %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 %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 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 7617, 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 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_g_cx_wkind %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 %grow10, label %put11 grow10: %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 7618, 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 %put11 put11: %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 %t69 = load ptr, ptr @g_g_cx_wslot %t70 = load ptr, ptr %t2 %t71 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 2 %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t74 = load i32, ptr %t71 %t75 = load i32, ptr %t72 %t76 = icmp sge i32 %t74, %t75 br i1 %t76, label %grow12, label %put13 grow12: %t77 = mul i32 %t75, 2 %t78 = icmp eq i32 %t75, 0 %t79 = select i1 %t78, i32 8, i32 %t77 %t80 = getelementptr ptr, ptr null, i32 1 %t81 = ptrtoint ptr %t80 to i64 %t82 = zext i32 %t79 to i64 %t83 = mul i64 %t82, %t81 %t84 = load ptr, ptr %t73 store i32 7619, ptr @lp_site %t85 = call ptr @lp_realloc(ptr %t84, i64 %t83) store i32 0, ptr @lp_site store ptr %t85, ptr %t73 store i32 %t79, ptr %t72 br label %put13 put13: %t86 = load ptr, ptr %t73 %t87 = getelementptr inbounds ptr, ptr %t86, i32 %t74 store ptr %t70, ptr %t87 %t88 = add i32 %t74, 1 store i32 %t88, ptr %t71 %t89 = load ptr, ptr @g_g_cx_wentry %t90 = load ptr, ptr %t3 %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 %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 7620, 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 %ret ifend7: %t112 = load i32, ptr %t21 %t113 = icmp eq i32 %t112, 39 %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t111 br i1 %t115, label %sc16, label %scend17 sc16: %t117 = load ptr, ptr %t0 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 4 %t119 = load ptr, ptr %t118 %t120 = icmp ne ptr %t119, null %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t111 br label %scend17 scend17: %t124 = load i32, ptr %t111 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t110 br i1 %t125, label %sc18, label %scend19 sc18: %t127 = load ptr, ptr %t0 %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, 41 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t110 br label %scend19 scend19: %t136 = load i32, ptr %t110 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t109 br i1 %t137, label %sc20, label %scend21 sc20: %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 %t142 = icmp ne ptr %t141, null %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t109 br label %scend21 scend21: %t146 = load i32, ptr %t109 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then22, label %ifend24 then22: %t148 = load ptr, ptr %t0 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 4 %t150 = load ptr, ptr %t149 %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 %t154 = call ptr @fn_sc_name(ptr %t153) %t155 = load i32, ptr %t24 call void @fn_cx_walk_rec(ptr %t150, ptr @.str18515, ptr %t154, ptr null, i32 %t155) %t156 = load ptr, ptr %t0 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 5 %t158 = load ptr, ptr %t157 %t159 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t158, ptr @.str18516, ptr null, ptr null, i32 %t159) br label %ret ifend24: %t162 = load i32, ptr %t21 %t163 = icmp eq i32 %t162, 49 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t161 br i1 %t165, label %sc25, label %scend26 sc25: %t167 = load ptr, ptr %t0 %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 %t161 br label %scend26 scend26: %t174 = load i32, ptr %t161 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t160 br i1 %t175, label %sc27, label %scend28 sc27: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %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 %t160 br label %scend28 scend28: %t184 = load i32, ptr %t160 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then29, label %ifend31 then29: %t186 = load ptr, ptr %t0 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 4 %t188 = load ptr, ptr %t187 %t189 = load ptr, ptr %t0 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 1 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_sc_name(ptr %t191) %t193 = load i32, ptr %t24 call void @fn_cx_walk_rec(ptr %t188, ptr @.str18517, ptr %t192, ptr null, i32 %t193) br label %ret ifend31: %t195 = load i32, ptr %t21 %t196 = icmp eq i32 %t195, 22 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t194 br i1 %t198, label %scend33, label %sc32 sc32: %t200 = load i32, ptr %t21 %t201 = icmp eq i32 %t200, 53 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t194 br label %scend33 scend33: %t205 = load i32, ptr %t194 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then34, label %ifend36 then34: store i32 0, ptr %t207 br label %wcond37 wcond37: %t208 = load i32, ptr %t207 %t209 = load ptr, ptr %t0 %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 1 %t213 = load i32, ptr %t212 %t214 = icmp slt i32 %t208, %t213 %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %wbody38, label %wend39 wbody38: %t217 = load ptr, ptr %t0 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 7 %t219 = load ptr, ptr %t218 %t220 = load i32, ptr %t207 %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 %ixok40, label %ixbad41 ixbad41: %t226 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str18518, i32 %t220, i32 %t224) call void @exit(i32 1) unreachable ixok40: %t227 = getelementptr inbounds ptr, ptr %t222, i32 %t220 %t228 = load ptr, ptr %t227 store ptr %t228, ptr %t229 %t232 = load ptr, ptr %t229 %t233 = getelementptr inbounds %Cmp_Node, ptr %t232, i32 0, i32 0 %t234 = load i32, ptr %t233 %t235 = icmp eq i32 %t234, 42 %t236 = zext i1 %t235 to i32 %t237 = icmp ne i32 %t236, 0 %t238 = zext i1 %t237 to i32 store i32 %t238, ptr %t231 br i1 %t237, label %sc42, label %scend43 sc42: %t239 = load ptr, ptr %t229 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 4 %t241 = load ptr, ptr %t240 %t242 = icmp ne ptr %t241, null %t243 = zext i1 %t242 to i32 %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t231 br label %scend43 scend43: %t246 = load i32, ptr %t231 %t247 = icmp ne i32 %t246, 0 %t248 = zext i1 %t247 to i32 store i32 %t248, ptr %t230 br i1 %t247, label %sc44, label %scend45 sc44: %t249 = load ptr, ptr %t229 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 4 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 0 %t253 = load i32, ptr %t252 %t254 = icmp eq i32 %t253, 41 %t255 = zext i1 %t254 to i32 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t230 br label %scend45 scend45: %t258 = load i32, ptr %t230 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then46, label %else47 then46: %t260 = load ptr, ptr %t229 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 4 %t262 = load ptr, ptr %t261 %t263 = load ptr, ptr %t229 %t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 1 %t265 = load ptr, ptr %t264 %t266 = call ptr @fn_sc_name(ptr %t265) %t267 = load i32, ptr %t24 call void @fn_cx_walk_rec(ptr %t262, ptr @.str18519, ptr %t266, ptr null, i32 %t267) br label %ifend48 else47: %t268 = load ptr, ptr %t229 %t269 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t268, ptr @.str18520, ptr null, ptr null, i32 %t269) br label %ifend48 ifend48: %t270 = load i32, ptr %t207 %t271 = add i32 %t270, 1 store i32 %t271, ptr %t207 br label %wcond37 wend39: br label %ret ifend36: %t272 = load i32, ptr %t21 %t273 = icmp eq i32 %t272, 34 %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then49, label %ifend51 then49: %t276 = load ptr, ptr %t0 %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 4 %t278 = load ptr, ptr %t277 %t279 = call ptr @fn_cx_callee(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t0 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 4 %t283 = load ptr, ptr %t282 %t284 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t283, ptr @.str18521, ptr null, ptr null, i32 %t284) store i32 0, ptr %t285 store i32 0, ptr %t286 br label %wcond52 wcond52: %t287 = load i32, ptr %t285 %t288 = load ptr, ptr %t0 %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 %wbody53, label %wend54 wbody53: %t296 = load ptr, ptr %t0 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7 %t298 = load ptr, ptr %t297 %t299 = load i32, ptr %t285 %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 %ixok55, label %ixbad56 ixbad56: %t305 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t305, ptr @.fmt_bounds, ptr @.str18522, i32 %t299, i32 %t303) call void @exit(i32 1) unreachable ixok55: %t306 = getelementptr inbounds ptr, ptr %t301, i32 %t299 %t307 = load ptr, ptr %t306 store ptr %t307, ptr %t308 %t310 = load ptr, ptr %t308 %t311 = icmp ne ptr %t310, null %t312 = zext i1 %t311 to i32 %t313 = icmp ne i32 %t312, 0 %t314 = zext i1 %t313 to i32 store i32 %t314, ptr %t309 br i1 %t313, label %sc57, label %scend58 sc57: %t315 = load ptr, ptr %t308 %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 13 %t317 = load i32, ptr %t316 %t318 = icmp sge i32 %t317, 0 %t319 = zext i1 %t318 to i32 %t320 = icmp ne i32 %t319, 0 %t321 = zext i1 %t320 to i32 store i32 %t321, ptr %t309 br label %scend58 scend58: %t322 = load i32, ptr %t309 %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then59, label %else60 then59: %t324 = load ptr, ptr %t280 %t325 = icmp ne ptr %t324, null %t326 = zext i1 %t325 to i32 %t327 = icmp ne i32 %t326, 0 br i1 %t327, label %then62, label %else63 then62: %t328 = load ptr, ptr %t308 %t329 = load ptr, ptr %t280 store i32 7621, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str18524) store i32 0, ptr @lp_site %t331 = load i32, ptr %t286 %t332 = call ptr @fn_itoa(i32 %t331) store i32 7622, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr %t330, ptr %t332) store i32 0, ptr @lp_site call void @lp_free(ptr %t330) store i32 7623, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str18525) store i32 0, ptr @lp_site call void @lp_free(ptr %t333) %t335 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t328, ptr @.str18523, ptr %t334, ptr null, i32 %t335) br label %ifend64 else63: %t336 = load ptr, ptr %t308 %t337 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t336, ptr @.str18526, ptr null, ptr null, i32 %t337) br label %ifend64 ifend64: %t338 = load i32, ptr %t286 %t339 = add i32 %t338, 1 store i32 %t339, ptr %t286 br label %ifend61 else60: %t340 = load ptr, ptr %t308 %t341 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t340, ptr @.str18527, ptr null, ptr null, i32 %t341) br label %ifend61 ifend61: %t342 = load i32, ptr %t285 %t343 = add i32 %t342, 1 store i32 %t343, ptr %t285 br label %wcond52 wend54: br label %ret ifend51: %t344 = load i32, ptr %t21 %t345 = icmp eq i32 %t344, 8 %t346 = zext i1 %t345 to i32 %t347 = icmp ne i32 %t346, 0 br i1 %t347, label %then65, label %ifend67 then65: store i32 0, ptr %t348 br label %wcond68 wcond68: %t349 = load i32, ptr %t348 %t350 = load ptr, ptr %t0 %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 7 %t352 = load ptr, ptr %t351 %t353 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 1 %t354 = load i32, ptr %t353 %t355 = icmp slt i32 %t349, %t354 %t356 = zext i1 %t355 to i32 %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %wbody69, label %wend70 wbody69: %t359 = load ptr, ptr %t0 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 1 %t361 = load ptr, ptr %t360 %t362 = icmp ne ptr %t361, null %t363 = zext i1 %t362 to i32 %t364 = icmp ne i32 %t363, 0 %t365 = zext i1 %t364 to i32 store i32 %t365, ptr %t358 br i1 %t364, label %sc71, label %scend72 sc71: %t366 = load ptr, ptr %t0 %t367 = getelementptr inbounds %Cmp_Node, ptr %t366, i32 0, i32 7 %t368 = load ptr, ptr %t367 %t369 = load i32, ptr %t348 %t370 = getelementptr inbounds %LSlice, ptr %t368, i32 0, i32 0 %t371 = load ptr, ptr %t370 %t372 = getelementptr inbounds %LSlice, ptr %t368, i32 0, i32 1 %t373 = load i32, ptr %t372 %t374 = icmp ult i32 %t369, %t373 br i1 %t374, label %ixok73, label %ixbad74 ixbad74: %t375 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t375, ptr @.fmt_bounds, ptr @.str18528, i32 %t369, i32 %t373) call void @exit(i32 1) unreachable ixok73: %t376 = getelementptr inbounds ptr, ptr %t371, i32 %t369 %t377 = load ptr, ptr %t376 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 1 %t379 = load ptr, ptr %t378 %t380 = icmp ne ptr %t379, null %t381 = zext i1 %t380 to i32 %t382 = icmp ne i32 %t381, 0 %t383 = zext i1 %t382 to i32 store i32 %t383, ptr %t358 br label %scend72 scend72: %t384 = load i32, ptr %t358 %t385 = icmp ne i32 %t384, 0 br i1 %t385, label %then75, label %ifend77 then75: %t386 = load ptr, ptr %t0 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 7 %t388 = load ptr, ptr %t387 %t389 = load i32, ptr %t348 %t390 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = getelementptr inbounds %LSlice, ptr %t388, i32 0, i32 1 %t393 = load i32, ptr %t392 %t394 = icmp ult i32 %t389, %t393 br i1 %t394, label %ixok78, label %ixbad79 ixbad79: %t395 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str18529, i32 %t389, i32 %t393) call void @exit(i32 1) unreachable ixok78: %t396 = getelementptr inbounds ptr, ptr %t391, i32 %t389 %t397 = load ptr, ptr %t396 %t398 = getelementptr inbounds %Cmp_Node, ptr %t397, i32 0, i32 4 %t399 = load ptr, ptr %t398 %t400 = load ptr, ptr %t0 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 1 %t402 = load ptr, ptr %t401 %t403 = call ptr @fn_sc_name(ptr %t402) store i32 7624, ptr @lp_site %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str18531) store i32 0, ptr @lp_site %t405 = load ptr, ptr %t0 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 7 %t407 = load ptr, ptr %t406 %t408 = load i32, ptr %t348 %t409 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 0 %t410 = load ptr, ptr %t409 %t411 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 1 %t412 = load i32, ptr %t411 %t413 = icmp ult i32 %t408, %t412 br i1 %t413, label %ixok80, label %ixbad81 ixbad81: %t414 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t414, ptr @.fmt_bounds, ptr @.str18532, i32 %t408, i32 %t412) call void @exit(i32 1) unreachable ixok80: %t415 = getelementptr inbounds ptr, ptr %t410, i32 %t408 %t416 = load ptr, ptr %t415 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1 %t418 = load ptr, ptr %t417 store i32 7625, ptr @lp_site %t419 = call ptr @lp_str_concat(ptr %t404, ptr %t418) store i32 0, ptr @lp_site call void @lp_free(ptr %t404) %t420 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t399, ptr @.str18530, ptr %t419, ptr null, i32 %t420) br label %ifend77 ifend77: %t421 = load i32, ptr %t348 %t422 = add i32 %t421, 1 store i32 %t422, ptr %t348 br label %wcond68 wend70: br label %ret ifend67: %t425 = load i32, ptr %t21 %t426 = icmp eq i32 %t425, 11 %t427 = zext i1 %t426 to i32 %t428 = icmp ne i32 %t427, 0 %t429 = zext i1 %t428 to i32 store i32 %t429, ptr %t424 br i1 %t428, label %sc82, label %scend83 sc82: %t430 = load ptr, ptr %t0 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 5 %t432 = load ptr, ptr %t431 %t433 = icmp ne ptr %t432, null %t434 = zext i1 %t433 to i32 %t435 = icmp ne i32 %t434, 0 %t436 = zext i1 %t435 to i32 store i32 %t436, ptr %t424 br label %scend83 scend83: %t437 = load i32, ptr %t424 %t438 = icmp ne i32 %t437, 0 %t439 = zext i1 %t438 to i32 store i32 %t439, ptr %t423 br i1 %t438, label %sc84, label %scend85 sc84: %t440 = load ptr, ptr %t0 %t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 5 %t442 = load ptr, ptr %t441 %t443 = getelementptr inbounds %Cmp_Node, ptr %t442, i32 0, i32 0 %t444 = load i32, ptr %t443 %t445 = icmp eq i32 %t444, 55 %t446 = zext i1 %t445 to i32 %t447 = icmp ne i32 %t446, 0 %t448 = zext i1 %t447 to i32 store i32 %t448, ptr %t423 br label %scend85 scend85: %t449 = load i32, ptr %t423 %t450 = icmp ne i32 %t449, 0 br i1 %t450, label %then86, label %ifend88 then86: %t451 = load ptr, ptr %t0 %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 5 %t453 = load ptr, ptr %t452 %t454 = load ptr, ptr %t0 %t455 = getelementptr inbounds %Cmp_Node, ptr %t454, i32 0, i32 4 %t456 = load ptr, ptr %t455 %t457 = call ptr @fn_cx_callee(ptr %t456) %t458 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t453, ptr @.str18533, ptr %t457, ptr null, i32 %t458) br label %ret ifend88: %t462 = load i32, ptr %t21 %t463 = icmp eq i32 %t462, 10 %t464 = zext i1 %t463 to i32 %t465 = icmp ne i32 %t464, 0 %t466 = zext i1 %t465 to i32 store i32 %t466, ptr %t461 br i1 %t465, label %sc89, label %scend90 sc89: %t467 = load ptr, ptr %t0 %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 4 %t469 = load ptr, ptr %t468 %t470 = icmp ne ptr %t469, null %t471 = zext i1 %t470 to i32 %t472 = icmp ne i32 %t471, 0 %t473 = zext i1 %t472 to i32 store i32 %t473, ptr %t461 br label %scend90 scend90: %t474 = load i32, ptr %t461 %t475 = icmp ne i32 %t474, 0 %t476 = zext i1 %t475 to i32 store i32 %t476, ptr %t460 br i1 %t475, label %sc91, label %scend92 sc91: %t477 = load ptr, ptr %t0 %t478 = getelementptr inbounds %Cmp_Node, ptr %t477, i32 0, i32 4 %t479 = load ptr, ptr %t478 %t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 0 %t481 = load i32, ptr %t480 %t482 = icmp eq i32 %t481, 55 %t483 = zext i1 %t482 to i32 %t484 = icmp ne i32 %t483, 0 %t485 = zext i1 %t484 to i32 store i32 %t485, ptr %t460 br label %scend92 scend92: %t486 = load i32, ptr %t460 %t487 = icmp ne i32 %t486, 0 %t488 = zext i1 %t487 to i32 store i32 %t488, ptr %t459 br i1 %t487, label %sc93, label %scend94 sc93: %t489 = load ptr, ptr %t0 %t490 = getelementptr inbounds %Cmp_Node, ptr %t489, i32 0, i32 1 %t491 = load ptr, ptr %t490 %t492 = icmp ne ptr %t491, null %t493 = zext i1 %t492 to i32 %t494 = icmp ne i32 %t493, 0 %t495 = zext i1 %t494 to i32 store i32 %t495, ptr %t459 br label %scend94 scend94: %t496 = load i32, ptr %t459 %t497 = icmp ne i32 %t496, 0 br i1 %t497, label %then95, label %ifend97 then95: %t498 = load ptr, ptr %t0 %t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 4 %t500 = load ptr, ptr %t499 %t501 = load ptr, ptr %t0 %t502 = getelementptr inbounds %Cmp_Node, ptr %t501, i32 0, i32 1 %t503 = load ptr, ptr %t502 %t504 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t500, ptr @.str18534, ptr %t503, ptr null, i32 %t504) br label %ret ifend97: %t505 = load i32, ptr %t21 %t506 = icmp eq i32 %t505, 54 %t507 = zext i1 %t506 to i32 %t508 = icmp ne i32 %t507, 0 br i1 %t508, label %then98, label %ifend100 then98: store i32 0, ptr %t509 br label %wcond101 wcond101: %t510 = load i32, ptr %t509 %t511 = load ptr, ptr %t0 %t512 = getelementptr inbounds %Cmp_Node, ptr %t511, i32 0, i32 7 %t513 = load ptr, ptr %t512 %t514 = getelementptr inbounds %LSlice, ptr %t513, i32 0, i32 1 %t515 = load i32, ptr %t514 %t516 = icmp slt i32 %t510, %t515 %t517 = zext i1 %t516 to i32 %t518 = icmp ne i32 %t517, 0 br i1 %t518, label %wbody102, label %wend103 wbody102: %t519 = load ptr, ptr %t0 %t520 = getelementptr inbounds %Cmp_Node, ptr %t519, i32 0, i32 7 %t521 = load ptr, ptr %t520 %t522 = load i32, ptr %t509 %t523 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 0 %t524 = load ptr, ptr %t523 %t525 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 1 %t526 = load i32, ptr %t525 %t527 = icmp ult i32 %t522, %t526 br i1 %t527, label %ixok104, label %ixbad105 ixbad105: %t528 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t528, ptr @.fmt_bounds, ptr @.str18535, i32 %t522, i32 %t526) call void @exit(i32 1) unreachable ixok104: %t529 = getelementptr inbounds ptr, ptr %t524, i32 %t522 %t530 = load ptr, ptr %t529 %t531 = load ptr, ptr %t1 %t532 = load ptr, ptr %t2 %t533 = load ptr, ptr %t3 %t534 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t530, ptr %t531, ptr %t532, ptr %t533, i32 %t534) %t535 = load i32, ptr %t509 %t536 = add i32 %t535, 1 store i32 %t536, ptr %t509 br label %wcond101 wend103: br label %ret ifend100: %t537 = load i32, ptr %t21 %t538 = icmp eq i32 %t537, 9 %t539 = zext i1 %t538 to i32 %t540 = icmp ne i32 %t539, 0 br i1 %t540, label %then106, label %ifend108 then106: %t541 = load ptr, ptr %t0 %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 4 %t543 = load ptr, ptr %t542 %t544 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t543, ptr @.str18536, ptr null, ptr null, i32 %t544) br label %ret ifend108: %t545 = load i32, ptr %t21 %t546 = icmp eq i32 %t545, 45 %t547 = zext i1 %t546 to i32 %t548 = icmp ne i32 %t547, 0 br i1 %t548, label %then109, label %ifend111 then109: %t549 = load ptr, ptr %t0 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 4 %t551 = load ptr, ptr %t550 %t552 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t551, ptr @.str18537, ptr null, ptr null, i32 %t552) %t553 = load ptr, ptr %t0 %t554 = getelementptr inbounds %Cmp_Node, ptr %t553, i32 0, i32 5 %t555 = load ptr, ptr %t554 %t556 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t555, ptr @.str18538, ptr null, ptr null, i32 %t556) br label %ret ifend111: %t557 = load ptr, ptr %t0 %t558 = getelementptr inbounds %Cmp_Node, ptr %t557, i32 0, i32 4 %t559 = load ptr, ptr %t558 %t560 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t559, ptr @.str18539, ptr null, ptr null, i32 %t560) %t561 = load ptr, ptr %t0 %t562 = getelementptr inbounds %Cmp_Node, ptr %t561, i32 0, i32 5 %t563 = load ptr, ptr %t562 %t564 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t563, ptr @.str18540, ptr null, ptr null, i32 %t564) %t565 = load ptr, ptr %t0 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 6 %t567 = load ptr, ptr %t566 %t568 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t567, ptr @.str18541, ptr null, ptr null, i32 %t568) store i32 0, ptr %t569 br label %wcond112 wcond112: %t570 = load i32, ptr %t569 %t571 = load ptr, ptr %t0 %t572 = getelementptr inbounds %Cmp_Node, ptr %t571, i32 0, i32 7 %t573 = load ptr, ptr %t572 %t574 = getelementptr inbounds %LSlice, ptr %t573, i32 0, i32 1 %t575 = load i32, ptr %t574 %t576 = icmp slt i32 %t570, %t575 %t577 = zext i1 %t576 to i32 %t578 = icmp ne i32 %t577, 0 br i1 %t578, label %wbody113, label %wend114 wbody113: %t579 = load ptr, ptr %t0 %t580 = getelementptr inbounds %Cmp_Node, ptr %t579, i32 0, i32 7 %t581 = load ptr, ptr %t580 %t582 = load i32, ptr %t569 %t583 = getelementptr inbounds %LSlice, ptr %t581, i32 0, i32 0 %t584 = load ptr, ptr %t583 %t585 = getelementptr inbounds %LSlice, ptr %t581, i32 0, i32 1 %t586 = load i32, ptr %t585 %t587 = icmp ult i32 %t582, %t586 br i1 %t587, label %ixok115, label %ixbad116 ixbad116: %t588 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t588, ptr @.fmt_bounds, ptr @.str18542, i32 %t582, i32 %t586) call void @exit(i32 1) unreachable ixok115: %t589 = getelementptr inbounds ptr, ptr %t584, i32 %t582 %t590 = load ptr, ptr %t589 %t591 = load i32, ptr %t24 call void @fn_cx_walk(ptr %t590, ptr @.str18543, ptr null, ptr null, i32 %t591) %t592 = load i32, ptr %t569 %t593 = add i32 %t592, 1 store i32 %t593, ptr %t569 br label %wcond112 wend114: br label %ret ret: ret void } 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 7626, 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 7627, 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 7628, 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 7629, 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: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str18545, 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: %t134 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t134, ptr @.fmt_bounds, ptr @.str18546, 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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str18547, 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: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str18548, 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: %t161 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t161, ptr @.fmt_bounds, ptr @.str18549, 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: %t170 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t170, ptr @.fmt_bounds, ptr @.str18550, 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: %t182 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str18551, 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: %t191 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t191, ptr @.fmt_bounds, ptr @.str18552, 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: %t203 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str18553, 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: %t212 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str18554, 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: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str18555, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str18556, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str18557, 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 @.str18558) %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 @.str18559) %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 @.str18560) %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 @.str18561) %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 @.str18562) %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 @.str18563) %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 @.str18564) %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 @.str18565) %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 @.str18566) %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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str18567, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str18568, 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: %t99 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str18569, 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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str18570, 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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str18571, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str18572, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str18573, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str18574, 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: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str18575, 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: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str18576, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str18577, 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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str18578, 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 7630, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str18580) 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 7631, 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 7632, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str18582) 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 7633, 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 7634, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str18583) store i32 0, ptr @lp_site call void @lp_free(ptr %t133) call void @fn_ck_err(ptr @.str18579, 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: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str18584, 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: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str18585, 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: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str18586, 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: %t227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str18587, 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: %t237 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str18588, 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 7635, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str18590) 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 7636, 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 7637, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str18591) 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: %t262 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t262, ptr @.fmt_bounds, ptr @.str18592, 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 7638, 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 7639, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str18593) 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: %t274 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str18594, 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 7640, 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 7641, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str18595) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) call void @fn_ck_err(ptr @.str18589, 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 7642, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str18597) 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 7643, 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 7644, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str18598) 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 7645, 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 7646, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str18599) 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: %t302 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t302, ptr @.fmt_bounds, ptr @.str18600, 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 7647, 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 7648, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str18601) 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 7649, 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 7650, ptr @lp_site %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str18602) 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: %t319 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str18603, 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 7651, 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 7652, ptr @lp_site %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str18604) store i32 0, ptr @lp_site call void @lp_free(ptr %t322) call void @fn_ck_err(ptr @.str18596, 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 7653, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr @.str18605, 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 7654, ptr @lp_site %t368 = call ptr @lp_str_concat(ptr %t367, ptr @.str18607) store i32 0, ptr @lp_site %t369 = load ptr, ptr %t345 store i32 7655, 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 7656, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str18608) store i32 0, ptr @lp_site call void @lp_free(ptr %t370) call void @fn_ck_err(ptr @.str18606, 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 %t8 = alloca i32 %t52 = 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) %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 12 %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 %t8 br i1 %t14, label %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_is_state_ty(ptr %t18) %t20 = icmp eq 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 %t8 br label %scend1 scend1: %t24 = load i32, ptr %t8 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t7 br i1 %t25, label %sc2, label %scend3 sc2: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 3 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_rr_is_row_ty(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 %t7 br label %scend3 scend3: %t35 = load i32, ptr %t7 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then4, label %ifend6 then4: %t37 = load ptr, ptr %t0 %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 store i32 7657, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str18610) store i32 0, ptr @lp_site %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 3 %t44 = load ptr, ptr %t43 store i32 7658, 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) store i32 7659, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str18612) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 store i32 7660, 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) store i32 7661, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str18613) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_ck_err(ptr @.str18609, ptr %t37, ptr %t51) br label %ifend6 ifend6: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_is_state_ty(ptr %t55) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t52 br i1 %t57, label %sc7, label %scend8 sc7: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 12 %t61 = load i32, ptr %t60 %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 %t52 br label %scend8 scend8: %t66 = load i32, ptr %t52 call void @fn_ck_set_ro(i32 %t66) 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str18614, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str18615, 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 7662, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str18617) 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 7663, 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 7664, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str18619) 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 7665, 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 7666, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str18620) 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 7667, 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 7668, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str18621) 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 7669, 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 7670, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str18622) store i32 0, ptr @lp_site call void @lp_free(ptr %t121) call void @fn_ck_err(ptr @.str18616, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str18623, 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: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str18624, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str18625, 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 7671, 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 7672, 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: %t14 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str18627, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str18628, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str18629, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str18630, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str18631, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str18632, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str18633, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str18634, 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 @.str18635) %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 @.str18636) %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 @.str18637) %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 @.str18638) %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 @.str18639) %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 @.str18640) %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 @.str18641) %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 7673, ptr @lp_site %t95 = call ptr @lp_str_concat(ptr @.str18642, ptr %t94) store i32 0, ptr @lp_site store ptr %t95, ptr %retval br label %ret ifend20: %t96 = load ptr, ptr %t3 store i32 7674, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str18644, 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 @.str18645) %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 @.str18646) %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 @.str18647) %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 @.str18648) %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 @.str18649) %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 @.str18650) %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 @.str18651) %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 @.str18652, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str18653) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str18654, 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 @.str18655, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str18656) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str18657, ptr %retval br label %ret ifend11: store ptr @.str18658, 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 @.str18659) %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 @.str18660) %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 @.str18661, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str18662) %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 @.str18663) %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 @.str18664, 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 @.str18665) %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 @.str18666) %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 @.str18667, ptr %retval br label %ret ifend40: store ptr @.str18668, 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 @.str18669) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then49, label %ifend51 then49: store ptr @.str18670, ptr %retval br label %ret ifend51: store ptr @.str18671, ptr %retval br label %ret ifend43: %t104 = load ptr, ptr %t0 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str18672) %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 @.str18673, ptr %retval br label %ret ifend65: store ptr @.str18674, 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 @.str18675, ptr %retval br label %ret ifend68: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str18676) %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 @.str18677, ptr %retval br label %ret ifend73: %t141 = load ptr, ptr %t1 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str18678) %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 @.str18679, ptr %retval br label %ret ifend81: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str18680) %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 @.str18681, ptr %retval br label %ret ifend86: %t165 = load ptr, ptr %t1 %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str18682) %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 @.str18683, ptr %retval br label %ret ifend94: %t176 = load ptr, ptr %t0 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str18684) %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 @.str18685) %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 @.str18686, ptr %retval br label %ret ifend104: %t197 = load ptr, ptr %t0 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str18687) %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then105, label %ifend107 then105: store ptr @.str18688, 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 @.str18689, 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 @.str18690) %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 @.str18691, ptr %retval br label %ret ifend119: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str18692) %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 @.str18693) %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 @.str18694, 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 @.str18695, ptr %retval br label %ret ifend134: %t264 = load ptr, ptr %t1 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str18696) %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 @.str18697, 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 @.str18698) %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 @.str18699, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str18700, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str18701, 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 7675, 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 7676, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str18703, 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 @.str18704) %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 @.str18705, 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 @.str18706, 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 7677, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str18707) store i32 0, ptr @lp_site %t44 = load i32, ptr %t4 %t45 = call ptr @fn_itoa(i32 %t44) store i32 7678, 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 7679, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str18709) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t2 store i32 7680, 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 7681, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str18710) 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 7682, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr @.str18711, ptr %t54) store i32 0, ptr @lp_site store i32 7683, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str18712) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t3 store i32 7684, 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 7685, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str18713) 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 7686, 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 7687, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str18714) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t2 store i32 7688, 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 7689, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str18715) store i32 0, ptr @lp_site call void @lp_free(ptr %t65) store ptr %t66, ptr %t51 br label %ifend13 ifend13: %t67 = load ptr, ptr @__stderrp %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 @.str18716) %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 @.str18717) %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 @.str18718) %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 7690, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str18720) store i32 0, ptr @lp_site %t57 = load ptr, ptr %t0 %t58 = call ptr @fn_ck_a(ptr %t57) store i32 7691, 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 7692, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str18722) 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 7693, 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 7694, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str18723) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) call void @fn_ck_err(ptr @.str18719, 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 @.str18724) %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 7695, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str18725) store i32 0, ptr @lp_site %t82 = load ptr, ptr %t1 %t83 = call ptr @fn_ck_a(ptr %t82) store i32 7696, 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 7697, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str18726) 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 @.str18727) %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 7698, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str18728) store i32 0, ptr @lp_site %t93 = load ptr, ptr %t0 %t94 = call ptr @fn_ck_a(ptr %t93) store i32 7699, 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 7700, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str18729) 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 @.str18730) %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 7701, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str18731) store i32 0, ptr @lp_site %t112 = load ptr, ptr %t1 %t113 = call ptr @fn_ck_a(ptr %t112) store i32 7702, 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 7703, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str18732) 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 @.str18733) %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 7704, ptr @lp_site %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str18734) store i32 0, ptr @lp_site %t123 = load ptr, ptr %t0 %t124 = call ptr @fn_ck_a(ptr %t123) store i32 7705, 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 7706, ptr @lp_site %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str18735) 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 7707, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str18736) store i32 0, ptr @lp_site %t131 = load ptr, ptr %t0 %t132 = call ptr @fn_ck_a(ptr %t131) store i32 7708, 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 7709, ptr @lp_site %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str18737) 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 7710, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str18738, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str18739, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str18740, 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 @.str18741, 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 @.str18742, ptr %retval br label %ret ifend8: store ptr @.str18743, 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 @.str18744, ptr %retval br label %ret ifend14: store ptr @.str18745, 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 @.str18746, ptr %retval br label %ret ifend22: store ptr @.str18747, 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 @.str18748, 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 @.str18749, 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 @.str18750, 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 7711, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str18752, ptr %t100) store i32 0, ptr @lp_site store i32 7712, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str18754) 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 7713, 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 @.str18751, ptr %t97, ptr %t106) br label %ifend43 ifend43: store ptr @.str18755, 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 @.str18756, ptr %retval br label %ret ifend67: %t155 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t155) store ptr @.str18757, 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str18758, 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str18759, 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 @.str18760, 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 7714, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str18762) 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 7715, 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 7716, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str18764) store i32 0, ptr @lp_site call void @lp_free(ptr %t42) call void @fn_ck_err(ptr @.str18761, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str18765, 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 7717, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr @.str18766, ptr %t114) store i32 0, ptr @lp_site store i32 7718, ptr @lp_site %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str18767) 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 7719, 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 7720, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str18769) 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 7721, 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 @.str18768, 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 @.str18770, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str18771, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str18772, 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str18773, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str18774, 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 7722, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str18775, 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 @.str18777) %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 @.str18778, ptr %retval br label %ret ifend23: %t102 = load ptr, ptr %t1 store i32 7723, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr @.str18779, 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 @.str18780) %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 @.str18781) %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 @.str18782, 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 @.str18783) %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 @.str18784) %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 @.str18785, ptr %t38, ptr @.str18786) 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 %t67 = alloca ptr %t77 = 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 @.str18787, 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 %t0 store ptr %t60, ptr @g_ck_mem_node %t61 = load ptr, ptr %t59 store ptr %t61, ptr @g_ck_mem_base %t62 = load ptr, ptr %t59 %t63 = call i32 @fn_ck_unknown(ptr %t62) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then12, label %ifend14 then12: store ptr @.str18788, ptr %retval br label %ret ifend14: %t65 = load ptr, ptr %t59 %t66 = call ptr @fn_ck_record(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 %then15, label %ifend17 then15: %t72 = load ptr, ptr %t67 %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_ck_field(ptr %t72, ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = icmp ne 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 %t77 store ptr %t82, ptr %retval br label %ret ifend20: br label %ifend17 ifend17: store ptr @.str18789, ptr %retval br label %ret ret: %t83 = load ptr, ptr %retval ret ptr %t83 } 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 7724, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str18790, 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 7725, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str18793, ptr %t37) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str18792, 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 @.str18794, 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 @.str18795) %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 @.str18796) %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 @.str18797, ptr %retval br label %ret ifend18: %t58 = load ptr, ptr %t5 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str18798) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then19, label %ifend21 then19: store ptr @.str18799, ptr %retval br label %ret ifend21: %t61 = load ptr, ptr %t5 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str18800) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then22, label %ifend24 then22: store ptr @.str18801, ptr %retval br label %ret ifend24: %t64 = load ptr, ptr %t5 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str18802) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then25, label %ifend27 then25: store ptr @.str18803, ptr %retval br label %ret ifend27: %t67 = load ptr, ptr %t5 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str18804) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then28, label %ifend30 then28: store ptr @.str18805, ptr %retval br label %ret ifend30: store ptr @.str18806, 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 @.str18807) %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 7726, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str18809, ptr %t15) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str18808, 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 @.str18811) %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 @.str18812) %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 @.str18813) %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 @.str18814) %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 @.str18815, ptr %retval br label %ret ifend8: %t42 = load ptr, ptr %t1 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str18816) %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 @.str18817) %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 @.str18818) %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 @.str18819) %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 @.str18820) %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 @.str18821) %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 @.str18822, ptr %retval br label %ret ifend21: %t90 = load ptr, ptr %t1 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str18823) %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 @.str18824) %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 @.str18825) %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 @.str18826) %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 @.str18827) %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 @.str18828) %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 @.str18829) %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 @.str18830) %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 @.str18831) %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 @.str18832) %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 @.str18833) %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 @.str18834) %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 @.str18835, ptr %retval br label %ret ifend48: store ptr @.str18836, ptr %retval br label %ret ifend43: store ptr @.str18837, 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 @.str18838) %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 @.str18839) %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 @.str18840) %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 @.str18841) %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 @.str18842) %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 @.str18843) %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 @.str18844) %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 @.str18845) %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 @.str18846) %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 @.str18847) %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 7727, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str18849) store i32 0, ptr @lp_site %t102 = load ptr, ptr %t2 %t103 = call ptr @fn_ck_a(ptr %t102) store i32 7728, 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 7729, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str18851) 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 7730, 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 @.str18848, 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 7731, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str18853) store i32 0, ptr @lp_site %t134 = load ptr, ptr %t2 %t135 = call ptr @fn_ck_a(ptr %t134) store i32 7732, 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 7733, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str18854) 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 7734, 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 7735, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str18855) store i32 0, ptr @lp_site call void @lp_free(ptr %t140) call void @fn_ck_err(ptr @.str18852, 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 @.str18856) %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 7736, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str18858) store i32 0, ptr @lp_site %t167 = load ptr, ptr %t3 %t168 = call ptr @fn_ck_a(ptr %t167) store i32 7737, 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 @.str18857, ptr %t164, ptr %t169) br label %ifend46 ifend46: %t171 = load ptr, ptr %t3 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str18859) %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 7738, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str18861) store i32 0, ptr @lp_site %t184 = load ptr, ptr %t2 %t185 = call ptr @fn_ck_a(ptr %t184) store i32 7739, 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 7740, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str18862) store i32 0, ptr @lp_site call void @lp_free(ptr %t186) call void @fn_ck_err(ptr @.str18860, 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 @.str18863) %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 @.str18864) %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 7741, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str18866) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str18865, ptr %t17, ptr %t19) store ptr @.str18868, 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 @.str18869, 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 @.str18870) %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 @.str18871, ptr %retval br label %ret ifend21: %t61 = load ptr, ptr %t0 %t62 = load ptr, ptr %t1 store i32 7742, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str18873) store i32 0, ptr @lp_site %t64 = load ptr, ptr %t2 %t65 = call ptr @fn_ck_a(ptr %t64) store i32 7743, 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 7744, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str18874) 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 7745, 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 7746, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str18875) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_ck_err(ptr @.str18872, ptr %t61, ptr %t71) store ptr @.str18876, 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 @.str18877, ptr %retval br label %ret ifend26: %t84 = load ptr, ptr %t2 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str18878) %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 @.str18879) %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 7747, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str18881) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str18880, ptr %t94, ptr %t96) store ptr @.str18882, 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 7748, ptr @lp_site %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str18884) store i32 0, ptr @lp_site %t118 = load ptr, ptr %t2 %t119 = call ptr @fn_ck_a(ptr %t118) store i32 7749, 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 7750, ptr @lp_site %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str18885) 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 7751, 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 @.str18883, ptr %t115, ptr %t124) store ptr @.str18886, 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 @.str18887) %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 @.str18888, 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 7752, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str18890) store i32 0, ptr @lp_site %t27 = load ptr, ptr %t3 %t28 = call ptr @fn_ck_a(ptr %t27) store i32 7753, 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 7754, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str18892) store i32 0, ptr @lp_site call void @lp_free(ptr %t29) call void @fn_ck_err(ptr @.str18889, ptr %t24, ptr %t30) store ptr @.str18893, ptr %retval br label %ret ifend4: %t32 = load ptr, ptr %t3 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str18894) %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 @.str18895, 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 7755, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str18897) store i32 0, ptr @lp_site %t52 = load ptr, ptr %t2 %t53 = call ptr @fn_ck_a(ptr %t52) store i32 7756, 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 7757, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str18898) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) call void @fn_ck_err(ptr @.str18896, ptr %t49, ptr %t55) store ptr @.str18899, ptr %retval br label %ret ifend15: %t57 = load ptr, ptr %t2 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str18900) %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 @.str18901) %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 @.str18902, 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 @.str18903) %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 @.str18904) %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 @.str18905, ptr %retval br label %ret ifend37: %t87 = load ptr, ptr %t2 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str18906) %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 @.str18907) %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 @.str18908, ptr %retval br label %ret ifend42: store ptr @.str18909, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str18910, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str18911, 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 7758, 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str18913, 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 7759, 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 7760, 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 7761, 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 @.str18915, 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str18916, 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 7762, 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 7763, 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 @.str18918, 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 7764, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str18920, 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str18921, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str18922, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str18923, 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 7765, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr @.str18924, ptr %t85) store i32 0, ptr @lp_site store i32 7766, ptr @lp_site %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str18926) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) %t88 = load ptr, ptr %t1 store i32 7767, 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 7768, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str18928) 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 7769, 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 @.str18927, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str18929, 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 7770, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr @.str18931, ptr %t140) store i32 0, ptr @lp_site store i32 7771, ptr @lp_site %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str18932) 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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str18933, 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 7772, 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 7773, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str18934) store i32 0, ptr @lp_site call void @lp_free(ptr %t153) call void @fn_ck_err(ptr @.str18930, 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 7774, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str18936, ptr %t179) store i32 0, ptr @lp_site store i32 7775, ptr @lp_site %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str18937) 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: %t189 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t189, ptr @.fmt_bounds, ptr @.str18938, 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 7776, 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 7777, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str18939) store i32 0, ptr @lp_site call void @lp_free(ptr %t192) call void @fn_ck_err(ptr @.str18935, 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 7778, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str18941) 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 7779, 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 7780, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str18942) 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 7781, 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 @.str18940, 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: %t233 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t233, ptr @.fmt_bounds, ptr @.str18943, 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: %t245 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t245, ptr @.fmt_bounds, ptr @.str18944, 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: %t264 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str18945, 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: %t277 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t277, ptr @.fmt_bounds, ptr @.str18946, 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 7782, ptr @lp_site %t283 = call ptr @lp_str_concat(ptr @.str18947, ptr %t282) store i32 0, ptr @lp_site store i32 7783, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str18948) store i32 0, ptr @lp_site call void @lp_free(ptr %t283) %t285 = load ptr, ptr %t1 store i32 7784, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str18949, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str18950, 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 @.str18951) %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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str18952, 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 @.str18953) %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 @.str18954, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t1 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str18955) %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 @.str18956) %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 @.str18957) %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 @.str18958) %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 @.str18959) %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 @.str18960) %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 @.str18961) %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 @.str18962) %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 @.str18963) %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 7785, 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 @.str18965) %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 @.str18966) %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 @.str18967, ptr %retval br label %ret ifend39: %t135 = load ptr, ptr %t1 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str18968) %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: %t158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str18969, 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: %t171 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str18971, 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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str18972, 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 @.str18970, ptr %t174, ptr %t185, ptr @.str18973) %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: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str18975, 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: %t206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str18976, 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 @.str18974, ptr %t197, ptr %t208, ptr @.str18977) %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 7786, ptr @lp_site %t227 = call ptr @lp_str_concat(ptr @.str18979, ptr %t226) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str18978, 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 @.str18980) %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 @.str18981) %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 @.str18982, ptr %retval br label %ret ifend64: %t241 = load ptr, ptr %t1 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str18983) %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 @.str18984, ptr %retval br label %ret ifend67: %t245 = load ptr, ptr %t1 %t246 = call i32 @lp_str_eq(ptr %t245, ptr @.str18985) %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 @.str18986, ptr %retval br label %ret ifend70: %t249 = load ptr, ptr %t1 %t250 = call i32 @lp_str_eq(ptr %t249, ptr @.str18987) %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 @.str18988, ptr %retval br label %ret ifend73: %t254 = load ptr, ptr %t1 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str18989) %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 @.str18990) %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 7787, ptr @lp_site %t270 = call ptr @lp_str_slice(ptr %t265, i32 0, i32 %t269) store i32 0, ptr @lp_site store i32 7788, ptr @lp_site %t271 = call ptr @lp_str_concat(ptr @.str18991, 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 @.str18992) %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 @.str18993) %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 7789, ptr @lp_site %t289 = call ptr @lp_str_slice(ptr %t284, i32 0, i32 %t288) store i32 0, ptr @lp_site store i32 7790, ptr @lp_site %t290 = call ptr @lp_str_concat(ptr @.str18994, 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 @.str18995) %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 @.str18996, ptr %retval br label %ret ifend86: %t295 = load ptr, ptr %t1 %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str18997) %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 @.str18998, ptr %retval br label %ret ifend89: %t300 = load ptr, ptr %t1 %t301 = call i32 @lp_str_eq(ptr %t300, ptr @.str18999) %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: %t323 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t323, ptr @.fmt_bounds, ptr @.str19000, 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 @.str19001) %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: %t334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str19002, 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: %t347 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t347, ptr @.fmt_bounds, ptr @.str19003, 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: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str19004, 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 7791, ptr @lp_site %t381 = call ptr @lp_str_concat(ptr @.str19005, 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 @.str19006, 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: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str19007, 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 @.str19008) %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 @.str19009) %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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str19010, 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 7792, 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 7793, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str19013) 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: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str19014, 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 7794, 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 7795, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str19015) 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: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str19016, 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 7796, 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 7797, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str19017) 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 7798, 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 7799, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str19018) 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 7800, 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 7801, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str19019) store i32 0, ptr @lp_site call void @lp_free(ptr %t118) call void @fn_ck_err(ptr @.str19012, 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 @.str19020) %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 7802, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str19021, 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 @.str19023) %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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str19024, 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: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str19025, 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 7803, ptr @lp_site %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str19026) 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 7804, 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 7805, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str19027) 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: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str19028, 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: %t172 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str19029, 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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str19030, 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 7806, ptr @lp_site %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str19031) 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 7807, 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 @.str19032, 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 7808, ptr @lp_site %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str19033) 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 7809, 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 @.str19034, 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 @.str19035, 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 @.str19036, 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 %t48 = alloca ptr %t63 = alloca ptr %t71 = alloca ptr %t86 = alloca ptr %t100 = alloca ptr %t113 = alloca ptr %t117 = alloca ptr %t118 = 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19037, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str19038, 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 @.str19039, 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 7810, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str19040) store i32 0, ptr @lp_site call void @fn_ck_raw(ptr %t38, ptr %t40) br label %ifend12 ifend12: %t41 = load ptr, ptr %t1 %t42 = call i32 @fn_is_call_builtin(ptr %t41) %t43 = icmp eq i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then13, label %ifend15 then13: %t46 = load ptr, ptr %t1 %t47 = call ptr @fn_ck_fn(ptr %t46) store ptr %t47, ptr %t48 %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 %then16, label %ifend18 then16: %t53 = load ptr, ptr %t48 %t54 = load ptr, ptr %t1 %t55 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t53, ptr %t54, ptr %t55) %t56 = load ptr, ptr %t0 %t57 = load ptr, ptr %t1 %t58 = load ptr, ptr %t48 %t59 = call ptr @fn_ck_call_fn(ptr %t56, ptr %t57, ptr %t58) store ptr %t59, ptr %retval br label %ret ifend18: br label %ifend15 ifend15: %t60 = load ptr, ptr %t0 %t61 = load ptr, ptr %t1 %t62 = call ptr @fn_ck_builtin(ptr %t60, ptr %t61) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t63 %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then19, label %ifend21 then19: %t68 = load ptr, ptr %t63 store ptr %t68, ptr %retval br label %ret ifend21: %t69 = load ptr, ptr %t1 %t70 = call ptr @fn_ck_fn(ptr %t69) store ptr %t70, ptr %t71 %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 %then22, label %ifend24 then22: %t76 = load ptr, ptr %t71 %t77 = load ptr, ptr %t1 %t78 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t76, ptr %t77, ptr %t78) %t79 = load ptr, ptr %t0 %t80 = load ptr, ptr %t1 %t81 = load ptr, ptr %t71 %t82 = call ptr @fn_ck_call_fn(ptr %t79, ptr %t80, ptr %t81) store ptr %t82, ptr %retval br label %ret ifend24: %t83 = load ptr, ptr @g_g_gen_fns %t84 = load ptr, ptr %t1 %t85 = call ptr @fn_gen_template(ptr %t83, ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 %t88 = icmp ne ptr %t87, null %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then25, label %ifend27 then25: %t91 = load ptr, ptr %t86 %t92 = load ptr, ptr %t1 %t93 = load ptr, ptr %t0 call void @fn_ck_vis(ptr %t91, ptr %t92, ptr %t93) %t94 = load ptr, ptr %t0 %t95 = load ptr, ptr %t1 %t96 = load ptr, ptr %t86 %t97 = call ptr @fn_gen_call(ptr %t94, ptr %t95, ptr %t96) store ptr %t97, ptr %retval br label %ret ifend27: %t98 = load ptr, ptr %t1 %t99 = call ptr @fn_ck_extern(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t100 %t102 = icmp ne ptr %t101, null %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then28, label %ifend30 then28: %t105 = load ptr, ptr %t0 %t106 = load ptr, ptr %t1 store i32 7811, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr @.str19042, ptr %t106) store i32 0, ptr @lp_site call void @fn_ck_raw(ptr %t105, ptr %t107) %t108 = load ptr, ptr %t0 call void @fn_ck_extern_writes(ptr %t108) store i32 1, ptr @g_ck_extern_arg %t109 = load ptr, ptr %t0 %t110 = load ptr, ptr %t1 %t111 = load ptr, ptr %t100 %t112 = call ptr @fn_ck_call_fn(ptr %t109, ptr %t110, ptr %t111) store ptr %t112, ptr %t113 store i32 0, ptr @g_ck_extern_arg %t114 = load ptr, ptr %t113 store ptr %t114, ptr %retval br label %ret ifend30: %t115 = load ptr, ptr %t1 %t116 = call ptr @fn_ck_global(ptr %t115) store ptr %t116, ptr %t117 %t119 = load ptr, ptr %t117 %t120 = icmp ne ptr %t119, null %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t118 br i1 %t122, label %sc31, label %scend32 sc31: %t124 = load ptr, ptr %t117 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 3 %t126 = load ptr, ptr %t125 %t127 = call i32 @fn_is_fn_type(ptr %t126) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t118 br label %scend32 scend32: %t130 = load i32, ptr %t118 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then33, label %ifend35 then33: %t132 = load ptr, ptr %t0 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 4 %t134 = load ptr, ptr %t133 %t135 = load ptr, ptr %t117 call void @fn_mg_ref(ptr %t134, ptr %t135) %t136 = load ptr, ptr %t0 %t137 = load ptr, ptr %t1 %t138 = load ptr, ptr %t117 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 3 %t140 = load ptr, ptr %t139 %t141 = call ptr @fn_ck_call_sig(ptr %t136, ptr %t137, ptr %t140) store ptr %t141, ptr %retval br label %ret ifend35: %t142 = load ptr, ptr %t1 %t143 = call i32 @fn_is_math_builtin(ptr %t142) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then36, label %ifend38 then36: %t145 = load ptr, ptr %t0 %t146 = load ptr, ptr %t1 %t147 = call ptr @fn_ck_math(ptr %t145, ptr %t146) store ptr %t147, ptr %retval br label %ret ifend38: %t148 = load ptr, ptr %t0 call void @fn_ck_walk_args(ptr %t148) store ptr @.str19043, ptr %retval br label %ret ret: %t149 = load ptr, ptr %retval ret ptr %t149 } 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str19044, 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 @.str19045, ptr %retval br label %ret ifend6: %t32 = getelementptr %LSlice, ptr null, i32 1 %t33 = ptrtoint ptr %t32 to i64 store i32 7812, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str19047, 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 7813, 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: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str19048, 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 @.str19049, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str19050, 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 @.str19051) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %ifend26 then24: store ptr @.str19052, 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: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str19053, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str19054, 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 @.str19055) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then34, label %ifend36 then34: store ptr @.str19056, 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: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str19057, 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: %t168 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str19058, 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 @.str19059, 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 @.str19060) %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 @.str19061) %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 @.str19062) %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 @.str19063) %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: %t211 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t211, ptr @.fmt_bounds, ptr @.str19064, 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 @.str19065) %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 @.str19066) %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 @.str19067) %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 @.str19068) %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 @.str19069, ptr %retval br label %ret ifend68: %t243 = load ptr, ptr %t1 %t244 = call i32 @lp_str_eq(ptr %t243, ptr @.str19070) %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 @.str19071) %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 @.str19072) %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 @.str19073, ptr %retval br label %ret ifend75: store ptr @.str19074, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str19075, 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 7814, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str19076, ptr %t70) store i32 0, ptr @lp_site store i32 7815, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str19078) 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 7816, 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: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str19079, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str19081, 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 @.str19080, ptr %t27, ptr @.str19082) br label %ifend4 ifend4: store ptr @.str19083, 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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str19084, 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 @.str19085, 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 @.str19086) %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 7817, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str19088, ptr %t69) store i32 0, ptr @lp_site store i32 7818, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str19090) 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 7819, 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 7820, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str19091) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_ck_err(ptr @.str19087, 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 %t46 = alloca ptr %t47 = alloca ptr %t90 = alloca ptr %t102 = 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 @.str19092) 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 4 %t35 = load ptr, ptr %t34 call void @fn_ck_machine_write(ptr %t35, ptr @.str19093) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str19094) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then5, label %ifend7 then5: %t41 = load ptr, ptr %t32 store ptr %t41, ptr @g_ck_expect br label %ifend7 ifend7: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 5 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_ck_expr(ptr %t44) store ptr %t45, ptr %t46 store ptr @.str19095, ptr %t47 %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 0 %t52 = load i32, ptr %t51 %t53 = icmp eq i32 %t52, 33 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then8, label %ifend10 then8: %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 store ptr %t60, ptr %t47 br label %ifend10 ifend10: %t61 = load ptr, ptr %t0 %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, 35 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then11, label %ifend13 then11: %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 1 %t73 = load ptr, ptr %t72 store i32 7821, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr @.str19096, ptr %t73) store i32 0, ptr @lp_site store ptr %t74, ptr %t47 br label %ifend13 ifend13: %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 @.str19098) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then14, label %ifend16 then14: %t80 = load ptr, ptr %t32 %t81 = load ptr, ptr %t46 %t82 = load ptr, ptr %t0 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 5 %t84 = load ptr, ptr %t83 %t85 = load ptr, ptr %t47 call void @fn_ck_give(ptr %t80, ptr %t81, ptr %t84, ptr %t85) br label %ret ifend16: %t86 = load ptr, ptr %t0 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 store i32 7822, ptr @lp_site %t89 = call ptr @lp_str_slice(ptr %t88, i32 0, i32 1) store i32 0, ptr @lp_site store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t0 %t92 = load ptr, ptr %t90 %t93 = load ptr, ptr %t32 %t94 = load ptr, ptr %t46 %t95 = load ptr, ptr %t0 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 4 %t97 = load ptr, ptr %t96 %t98 = load ptr, ptr %t0 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 5 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_ck_binop(ptr %t91, ptr %t92, ptr %t93, ptr %t94, ptr %t97, ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t32 %t104 = load ptr, ptr %t102 %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 %t47 call void @fn_ck_give(ptr %t103, ptr %t104, ptr %t107, ptr %t108) br label %ret ret: ret void } define void @fn_ck_machine_write(ptr %arg_t, ptr %arg_what) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t42 = alloca i32 %t43 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_what, ptr %t1 %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, 35 %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 @g_ck_mem_node %t21 = load ptr, ptr %t0 %t22 = icmp eq ptr %t20, %t21 %t23 = zext i1 %t22 to i32 %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 %t3 br label %scend3 scend3: %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 %scend5, label %sc4 sc4: %t31 = load ptr, ptr @g_ck_mem_base %t32 = call i32 @fn_ck_unknown(ptr %t31) %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_ck_mem_base %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_mc_of_field(ptr %t37, ptr %t40) store i32 %t41, ptr %t42 %t44 = load i32, ptr %t42 %t45 = icmp slt 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 %scend10, label %sc9 sc9: %t49 = load ptr, ptr @g_ck_fn_node %t50 = call i32 @fn_mc_is_gen(ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t43 br label %scend10 scend10: %t53 = load i32, ptr %t43 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then11, label %ifend13 then11: br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = load ptr, ptr %t1 store i32 7823, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str19100) store i32 0, ptr @lp_site %t58 = load ptr, ptr @g_g_mc_rec %t59 = load i32, ptr %t42 %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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str19102, 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 7824, 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 7825, ptr @lp_site %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str19103) store i32 0, ptr @lp_site call void @lp_free(ptr %t68) %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 store i32 7826, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t69, ptr %t72) store i32 0, ptr @lp_site call void @lp_free(ptr %t69) store i32 7827, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str19104) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) %t75 = load ptr, ptr @g_g_mc_reg %t76 = load i32, ptr %t42 %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 %ixok16, label %ixbad17 ixbad17: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str19105, i32 %t76, i32 %t80) call void @exit(i32 1) unreachable ixok16: %t83 = getelementptr inbounds ptr, ptr %t78, i32 %t76 %t84 = load ptr, ptr %t83 store i32 7828, 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) store i32 7829, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str19106) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = load ptr, ptr @g_g_mc_rec %t88 = load i32, ptr %t42 %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: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str19107, 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 7830, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t86, ptr %t96) store i32 0, ptr @lp_site call void @lp_free(ptr %t86) store i32 7831, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str19108) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 store i32 7832, 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) store i32 7833, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str19109) store i32 0, ptr @lp_site call void @lp_free(ptr %t102) %t104 = load ptr, ptr @g_g_mc_reg %t105 = load i32, ptr %t42 %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: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str19110, i32 %t105, i32 %t109) call void @exit(i32 1) unreachable ixok20: %t112 = getelementptr inbounds ptr, ptr %t107, i32 %t105 %t113 = load ptr, ptr %t112 store i32 7834, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t103, ptr %t113) store i32 0, ptr @lp_site call void @lp_free(ptr %t103) store i32 7835, ptr @lp_site %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str19111) store i32 0, ptr @lp_site call void @lp_free(ptr %t114) call void @fn_ck_err(ptr @.str19099, ptr %t55, ptr %t115) 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str19112, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str19113, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str19114, 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: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str19115, 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 @.str19116) 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 %t160 = alloca i32 %t192 = alloca i32 %t193 = alloca i32 %t194 = alloca i32 %t204 = alloca ptr %t211 = 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 @.str19117) %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 @.str19118) %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 @.str19119) 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 @.str19120) br label %ifend49 ifend49: %t161 = load ptr, ptr %t0 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 4 %t163 = load ptr, ptr %t162 %t164 = icmp ne ptr %t163, null %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t160 br i1 %t166, label %sc50, label %scend51 sc50: %t168 = load ptr, ptr %t0 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 4 %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, 35 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t160 br label %scend51 scend51: %t177 = load i32, ptr %t160 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then52, label %ifend54 then52: %t179 = load ptr, ptr %t0 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 4 %t181 = load ptr, ptr %t180 %t182 = call ptr @fn_ck_expr(ptr %t181) %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 4 %t185 = load ptr, ptr %t184 call void @fn_ck_machine_write(ptr %t185, ptr @.str19121) br label %ifend54 ifend54: %t186 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t186) br label %ret ifend44: %t187 = load i32, ptr %t8 %t188 = icmp eq i32 %t187, 21 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then55, label %ifend57 then55: %t191 = call i32 @fn_ck_mark() store i32 %t191, ptr %t192 store i32 0, ptr %t193 store i32 0, ptr %t194 br label %wcond58 wcond58: %t195 = load i32, ptr %t194 %t196 = load ptr, ptr %t0 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 7 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp slt i32 %t195, %t200 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %wbody59, label %wend60 wbody59: store ptr @.str19122, ptr %t204 %t205 = load ptr, ptr %t0 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 6 %t207 = load ptr, ptr %t206 %t208 = icmp ne ptr %t207, null %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then61, label %ifend63 then61: br label %wcond64 wcond64: %t212 = load i32, ptr %t193 %t213 = load ptr, ptr %t0 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 6 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 7 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 1 %t219 = load i32, ptr %t218 %t220 = icmp slt i32 %t212, %t219 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 %t223 = zext i1 %t222 to i32 store i32 %t223, ptr %t211 br i1 %t222, label %sc67, label %scend68 sc67: %t224 = load ptr, ptr %t0 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 6 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 %t228 = load ptr, ptr %t227 %t229 = load i32, ptr %t193 %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 %ixok69, label %ixbad70 ixbad70: %t235 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str19123, i32 %t229, i32 %t233) call void @exit(i32 1) unreachable ixok69: %t236 = getelementptr inbounds ptr, ptr %t231, i32 %t229 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 2 %t239 = load i32, ptr %t238 %t240 = icmp eq i32 %t239, 1 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t211 br label %scend68 scend68: %t244 = load i32, ptr %t211 %t245 = icmp ne i32 %t244, 0 br i1 %t245, label %wbody65, label %wend66 wbody65: %t246 = load i32, ptr %t193 %t247 = add i32 %t246, 1 store i32 %t247, ptr %t193 br label %wcond64 wend66: %t248 = load i32, ptr %t193 %t249 = load ptr, ptr %t0 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 6 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 7 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp slt i32 %t248, %t255 %t257 = zext i1 %t256 to i32 %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then71, label %ifend73 then71: %t259 = load ptr, ptr %t0 %t260 = getelementptr inbounds %Cmp_Node, ptr %t259, i32 0, i32 6 %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 7 %t263 = load ptr, ptr %t262 %t264 = load i32, ptr %t193 %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 %ixok74, label %ixbad75 ixbad75: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str19124, i32 %t264, i32 %t268) call void @exit(i32 1) unreachable ixok74: %t271 = getelementptr inbounds ptr, ptr %t266, i32 %t264 %t272 = load ptr, ptr %t271 %t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 1 %t274 = load ptr, ptr %t273 store ptr %t274, ptr %t204 br label %ifend73 ifend73: %t275 = load i32, ptr %t193 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t193 br label %ifend63 ifend63: %t277 = load ptr, ptr %t0 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 7 %t279 = load ptr, ptr %t278 %t280 = load i32, ptr %t194 %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 %ixok76, label %ixbad77 ixbad77: %t286 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str19125, i32 %t280, i32 %t284) call void @exit(i32 1) unreachable ixok76: %t287 = getelementptr inbounds ptr, ptr %t282, i32 %t280 %t288 = load ptr, ptr %t287 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1 %t290 = load ptr, ptr %t289 %t291 = load ptr, ptr %t204 call void @fn_ck_bind(ptr %t290, ptr %t291) %t292 = load i32, ptr %t194 %t293 = add i32 %t292, 1 store i32 %t293, ptr %t194 br label %wcond58 wend60: %t294 = load ptr, ptr %t0 %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 5 %t296 = load ptr, ptr %t295 call void @fn_ck_any(ptr %t296) %t297 = load ptr, ptr %t0 %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 4 %t299 = load ptr, ptr %t298 call void @fn_ck_block(ptr %t299) %t300 = load i32, ptr %t192 call void @fn_ck_pop(i32 %t300) br label %ret ifend57: %t301 = load ptr, ptr %t0 call void @fn_ck_walk(ptr %t301) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str19126, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str19127, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str19128, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str19130, 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 7836, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str19131) 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str19133, 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 7837, 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 @.str19129, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str19134, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str19135, 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 @.str19136, ptr @g_ck_ret br label %ifend12 ifend12: %t54 = load ptr, ptr %t0 store ptr %t54, ptr @g_ck_fn_node %t55 = load ptr, ptr %t0 %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 br i1 %t60, label %then13, label %ifend15 then13: %t61 = load ptr, ptr %t0 call void @fn_ck_unsafe_here(ptr %t61) %t62 = load i32, ptr @g_ck_unsafe %t63 = add i32 %t62, 1 store i32 %t63, ptr @g_ck_unsafe br label %ifend15 ifend15: %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 call void @fn_ck_block(ptr %t66) %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 12 %t69 = load i32, ptr %t68 %t70 = icmp eq i32 %t69, 1 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then16, label %ifend18 then16: %t73 = load i32, ptr @g_ck_unsafe %t74 = sub i32 %t73, 1 store i32 %t74, ptr @g_ck_unsafe br label %ifend18 ifend18: store ptr @.str19137, ptr @g_ck_ret store ptr null, ptr @g_ck_fn_node %t75 = load i32, ptr %t3 call void @fn_ck_pop(i32 %t75) 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str19138, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str19139, 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 @.str19140, 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 %t26 = alloca i32 %t61 = alloca i32 %t79 = alloca ptr %t90 = alloca ptr %t91 = alloca i32 %t121 = alloca i32 %t122 = alloca i32 %t149 = alloca ptr %t150 = 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str19141, 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: %t27 = load ptr, ptr %t16 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_is_intrinsic(ptr %t29) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t26 br i1 %t31, label %scend8, label %sc7 sc7: %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_is_intrinsic2(ptr %t35) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t26 br label %scend8 scend8: %t39 = load i32, ptr %t26 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t25 br i1 %t40, label %scend10, label %sc9 sc9: %t42 = load ptr, ptr %t16 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call i32 @fn_is_call_builtin(ptr %t44) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t25 br label %scend10 scend10: %t48 = load i32, ptr %t25 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t17 br label %scend6 scend6: %t51 = load i32, ptr %t17 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then11, label %ifend13 then11: %t53 = load ptr, ptr %t16 %t54 = load ptr, ptr %t16 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 store i32 7838, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str19143) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str19142, ptr %t53, ptr %t57) br label %ifend13 ifend13: %t58 = load i32, ptr %t0 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t0 br label %wcond0 wend2: %t60 = load i32, ptr @g_g_prog_user_end store i32 %t60, ptr %t61 br label %wcond14 wcond14: %t62 = load i32, ptr %t61 %t63 = load ptr, ptr @g_prog %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 %wbody15, label %wend16 wbody15: %t69 = load ptr, ptr @g_prog %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 %ixok17, label %ixbad18 ixbad18: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str19145, 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, 4 %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 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 %t89 = call ptr @fn_ck_fn(ptr %t88) store ptr %t89, ptr %t90 %t92 = load ptr, ptr %t90 %t93 = icmp ne ptr %t92, null %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t91 br i1 %t95, label %sc22, label %scend23 sc22: %t97 = load ptr, ptr %t90 %t98 = load ptr, ptr %t79 %t99 = icmp ne ptr %t97, %t98 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t91 br label %scend23 scend23: %t103 = load i32, ptr %t91 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then24, label %ifend26 then24: %t105 = load ptr, ptr %t90 %t106 = load ptr, ptr %t79 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 store i32 7839, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str19147) store i32 0, ptr @lp_site %t110 = load ptr, ptr %t79 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 9 %t112 = load ptr, ptr %t111 store i32 7840, 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 7841, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str19148) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) call void @fn_ck_err(ptr @.str19146, ptr %t105, ptr %t114) br label %ifend26 ifend26: br label %ifend21 ifend21: %t115 = load ptr, ptr %t79 %t116 = call ptr @fn_ck_type_kind(ptr %t115) %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str19149) %t118 = icmp eq i32 %t117, 0 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then27, label %ifend29 then27: store i32 0, ptr %t121 br label %wcond30 wcond30: %t123 = load i32, ptr %t121 %t124 = load i32, ptr @g_g_prog_user_end %t125 = icmp slt i32 %t123, %t124 %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t122 br i1 %t127, label %sc33, label %scend34 sc33: %t129 = load i32, ptr %t121 %t130 = load ptr, ptr @g_prog %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 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t122 br label %scend34 scend34: %t137 = load i32, ptr %t122 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %wbody31, label %wend32 wbody31: %t139 = load ptr, ptr @g_prog %t140 = load i32, ptr %t121 %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 %ixok35, label %ixbad36 ixbad36: %t146 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str19150, i32 %t140, i32 %t144) call void @exit(i32 1) unreachable ixok35: %t147 = getelementptr inbounds ptr, ptr %t142, i32 %t140 %t148 = load ptr, ptr %t147 store ptr %t148, ptr %t149 %t151 = load ptr, ptr %t149 %t152 = call ptr @fn_ck_type_kind(ptr %t151) %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str19151) %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 %t150 br i1 %t156, label %sc37, label %scend38 sc37: %t158 = load ptr, ptr %t149 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 1 %t160 = load ptr, ptr %t159 %t161 = load ptr, ptr %t79 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 %t164 = call i32 @lp_str_eq(ptr %t160, ptr %t163) %t165 = icmp ne i32 %t164, 0 %t166 = zext i1 %t165 to i32 store i32 %t166, ptr %t150 br label %scend38 scend38: %t167 = load i32, ptr %t150 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then39, label %ifend41 then39: %t169 = load ptr, ptr %t149 %t170 = load ptr, ptr %t79 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1 %t172 = load ptr, ptr %t171 store i32 7842, ptr @lp_site %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str19153) store i32 0, ptr @lp_site %t174 = load ptr, ptr %t79 %t175 = call ptr @fn_ck_type_kind(ptr %t174) store i32 7843, ptr @lp_site %t176 = call ptr @lp_str_concat(ptr %t173, ptr %t175) store i32 0, ptr @lp_site call void @lp_free(ptr %t173) store i32 7844, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str19154) store i32 0, ptr @lp_site call void @lp_free(ptr %t176) %t178 = load ptr, ptr %t79 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 9 %t180 = load ptr, ptr %t179 store i32 7845, 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 7846, ptr @lp_site %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str19155) store i32 0, ptr @lp_site call void @lp_free(ptr %t181) %t183 = load ptr, ptr %t149 %t184 = call ptr @fn_ck_type_kind(ptr %t183) store i32 7847, ptr @lp_site %t185 = call ptr @lp_str_concat(ptr %t182, ptr %t184) store i32 0, ptr @lp_site call void @lp_free(ptr %t182) call void @fn_ck_err(ptr @.str19152, ptr %t169, ptr %t185) br label %ifend41 ifend41: %t186 = load i32, ptr %t121 %t187 = add i32 %t186, 1 store i32 %t187, ptr %t121 br label %wcond30 wend32: br label %ifend29 ifend29: %t188 = load i32, ptr %t61 %t189 = add i32 %t188, 1 store i32 %t189, ptr %t61 br label %wcond14 wend16: 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 @.str19156, 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 @.str19157, 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 @.str19158, 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 @.str19159, 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 @.str19160, ptr %retval br label %ret ifend16: store ptr @.str19161, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19162, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str19163, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str19164, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str19165, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19166, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str19167, 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: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str19168, 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: %t206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str19169, 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: %t227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t227, ptr @.fmt_bounds, ptr @.str19170, 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: %t237 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str19171, 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 7848, ptr @lp_site %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str19172) store i32 0, ptr @lp_site store ptr %t270, ptr %t271 %t272 = load ptr, ptr @__stderrp %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 i32 @fn_is_call_builtin(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 %t30 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t82 = alloca i32 %t83 = alloca i32 %t84 = alloca i32 %t109 = alloca i32 %t110 = alloca i32 %t111 = alloca i32 %t136 = alloca i32 %t137 = alloca i32 %t138 = alloca i32 %t163 = alloca i32 %t164 = alloca i32 %t165 = alloca i32 %t190 = alloca i32 %t191 = alloca i32 %t192 = alloca i32 %t217 = alloca i32 %t218 = alloca i32 %t219 = alloca i32 %t244 = alloca i32 %t245 = alloca i32 %t246 = alloca i32 %t271 = alloca i32 %t272 = alloca i32 %t273 = alloca i32 %t298 = alloca i32 %t299 = alloca i32 %t300 = alloca i32 %t325 = alloca i32 %t326 = alloca i32 %t327 = alloca i32 %t352 = alloca i32 %t353 = alloca i32 %t354 = alloca i32 %t379 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str19174) %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 @.str19175) %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 @.str19176) %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 @.str19177) %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 @.str19178) %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 @.str19179) %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 @.str19180) %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 @.str19181) %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 @.str19182) %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 @.str19183) %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 @.str19184) %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 @.str19185) %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: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str19186) %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t84 br i1 %t87, label %scend28, label %sc27 sc27: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str19187) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t84 br label %scend28 scend28: %t93 = load i32, ptr %t84 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t83 br i1 %t94, label %scend30, label %sc29 sc29: %t96 = load ptr, ptr %t0 %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str19188) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t83 br label %scend30 scend30: %t100 = load i32, ptr %t83 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t82 br i1 %t101, label %scend32, label %sc31 sc31: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str19189) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t82 br label %scend32 scend32: %t107 = load i32, ptr %t82 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then33, label %ifend35 then33: store i32 1, ptr %retval br label %ret ifend35: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str19190) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t111 br i1 %t114, label %scend37, label %sc36 sc36: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str19191) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t111 br label %scend37 scend37: %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 %scend39, label %sc38 sc38: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str19192) %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t110 br label %scend39 scend39: %t127 = load i32, ptr %t110 %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t109 br i1 %t128, label %scend41, label %sc40 sc40: %t130 = load ptr, ptr %t0 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str19193) %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t109 br label %scend41 scend41: %t134 = load i32, ptr %t109 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then42, label %ifend44 then42: store i32 1, ptr %retval br label %ret ifend44: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str19194) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t138 br i1 %t141, label %scend46, label %sc45 sc45: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str19195) %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t138 br label %scend46 scend46: %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 %scend48, label %sc47 sc47: %t150 = load ptr, ptr %t0 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str19196) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t137 br label %scend48 scend48: %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 %scend50, label %sc49 sc49: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str19197) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t136 br label %scend50 scend50: %t161 = load i32, ptr %t136 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then51, label %ifend53 then51: store i32 1, ptr %retval br label %ret ifend53: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str19198) %t168 = icmp ne i32 %t167, 0 %t169 = zext i1 %t168 to i32 store i32 %t169, ptr %t165 br i1 %t168, label %scend55, label %sc54 sc54: %t170 = load ptr, ptr %t0 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str19199) %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t165 br label %scend55 scend55: %t174 = load i32, ptr %t165 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t164 br i1 %t175, label %scend57, label %sc56 sc56: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str19200) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t164 br label %scend57 scend57: %t181 = load i32, ptr %t164 %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t163 br i1 %t182, label %scend59, label %sc58 sc58: %t184 = load ptr, ptr %t0 %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str19201) %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t163 br label %scend59 scend59: %t188 = load i32, ptr %t163 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then60, label %ifend62 then60: store i32 1, ptr %retval br label %ret ifend62: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str19202) %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t192 br i1 %t195, label %scend64, label %sc63 sc63: %t197 = load ptr, ptr %t0 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str19203) %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t192 br label %scend64 scend64: %t201 = load i32, ptr %t192 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t191 br i1 %t202, label %scend66, label %sc65 sc65: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str19204) %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t191 br label %scend66 scend66: %t208 = load i32, ptr %t191 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t190 br i1 %t209, label %scend68, label %sc67 sc67: %t211 = load ptr, ptr %t0 %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str19205) %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t190 br label %scend68 scend68: %t215 = load i32, ptr %t190 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then69, label %ifend71 then69: store i32 1, ptr %retval br label %ret ifend71: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str19206) %t222 = icmp ne i32 %t221, 0 %t223 = zext i1 %t222 to i32 store i32 %t223, ptr %t219 br i1 %t222, label %scend73, label %sc72 sc72: %t224 = load ptr, ptr %t0 %t225 = call i32 @lp_str_eq(ptr %t224, ptr @.str19207) %t226 = icmp ne i32 %t225, 0 %t227 = zext i1 %t226 to i32 store i32 %t227, ptr %t219 br label %scend73 scend73: %t228 = load i32, ptr %t219 %t229 = icmp ne i32 %t228, 0 %t230 = zext i1 %t229 to i32 store i32 %t230, ptr %t218 br i1 %t229, label %scend75, label %sc74 sc74: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str19208) %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t218 br label %scend75 scend75: %t235 = load i32, ptr %t218 %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t217 br i1 %t236, label %scend77, label %sc76 sc76: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str19209) %t240 = icmp ne i32 %t239, 0 %t241 = zext i1 %t240 to i32 store i32 %t241, ptr %t217 br label %scend77 scend77: %t242 = load i32, ptr %t217 %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then78, label %ifend80 then78: store i32 1, ptr %retval br label %ret ifend80: %t247 = load ptr, ptr %t0 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str19210) %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t246 br i1 %t249, label %scend82, label %sc81 sc81: %t251 = load ptr, ptr %t0 %t252 = call i32 @lp_str_eq(ptr %t251, ptr @.str19211) %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t246 br label %scend82 scend82: %t255 = load i32, ptr %t246 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t245 br i1 %t256, label %scend84, label %sc83 sc83: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str19212) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t245 br label %scend84 scend84: %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 %scend86, label %sc85 sc85: %t265 = load ptr, ptr %t0 %t266 = call i32 @lp_str_eq(ptr %t265, ptr @.str19213) %t267 = icmp ne i32 %t266, 0 %t268 = zext i1 %t267 to i32 store i32 %t268, ptr %t244 br label %scend86 scend86: %t269 = load i32, ptr %t244 %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then87, label %ifend89 then87: store i32 1, ptr %retval br label %ret ifend89: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str19214) %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t273 br i1 %t276, label %scend91, label %sc90 sc90: %t278 = load ptr, ptr %t0 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str19215) %t280 = icmp ne i32 %t279, 0 %t281 = zext i1 %t280 to i32 store i32 %t281, ptr %t273 br label %scend91 scend91: %t282 = load i32, ptr %t273 %t283 = icmp ne i32 %t282, 0 %t284 = zext i1 %t283 to i32 store i32 %t284, ptr %t272 br i1 %t283, label %scend93, label %sc92 sc92: %t285 = load ptr, ptr %t0 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str19216) %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t272 br label %scend93 scend93: %t289 = load i32, ptr %t272 %t290 = icmp ne i32 %t289, 0 %t291 = zext i1 %t290 to i32 store i32 %t291, ptr %t271 br i1 %t290, label %scend95, label %sc94 sc94: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str19217) %t294 = icmp ne i32 %t293, 0 %t295 = zext i1 %t294 to i32 store i32 %t295, ptr %t271 br label %scend95 scend95: %t296 = load i32, ptr %t271 %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then96, label %ifend98 then96: store i32 1, ptr %retval br label %ret ifend98: %t301 = load ptr, ptr %t0 %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str19218) %t303 = icmp ne i32 %t302, 0 %t304 = zext i1 %t303 to i32 store i32 %t304, ptr %t300 br i1 %t303, label %scend100, label %sc99 sc99: %t305 = load ptr, ptr %t0 %t306 = call i32 @lp_str_eq(ptr %t305, ptr @.str19219) %t307 = icmp ne i32 %t306, 0 %t308 = zext i1 %t307 to i32 store i32 %t308, ptr %t300 br label %scend100 scend100: %t309 = load i32, ptr %t300 %t310 = icmp ne i32 %t309, 0 %t311 = zext i1 %t310 to i32 store i32 %t311, ptr %t299 br i1 %t310, label %scend102, label %sc101 sc101: %t312 = load ptr, ptr %t0 %t313 = call i32 @lp_str_eq(ptr %t312, ptr @.str19220) %t314 = icmp ne i32 %t313, 0 %t315 = zext i1 %t314 to i32 store i32 %t315, ptr %t299 br label %scend102 scend102: %t316 = load i32, ptr %t299 %t317 = icmp ne i32 %t316, 0 %t318 = zext i1 %t317 to i32 store i32 %t318, ptr %t298 br i1 %t317, label %scend104, label %sc103 sc103: %t319 = load ptr, ptr %t0 %t320 = call i32 @lp_str_eq(ptr %t319, ptr @.str19221) %t321 = icmp ne i32 %t320, 0 %t322 = zext i1 %t321 to i32 store i32 %t322, ptr %t298 br label %scend104 scend104: %t323 = load i32, ptr %t298 %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then105, label %ifend107 then105: store i32 1, ptr %retval br label %ret ifend107: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str19222) %t330 = icmp ne i32 %t329, 0 %t331 = zext i1 %t330 to i32 store i32 %t331, ptr %t327 br i1 %t330, label %scend109, label %sc108 sc108: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str19223) %t334 = icmp ne i32 %t333, 0 %t335 = zext i1 %t334 to i32 store i32 %t335, ptr %t327 br label %scend109 scend109: %t336 = load i32, ptr %t327 %t337 = icmp ne i32 %t336, 0 %t338 = zext i1 %t337 to i32 store i32 %t338, ptr %t326 br i1 %t337, label %scend111, label %sc110 sc110: %t339 = load ptr, ptr %t0 %t340 = call i32 @lp_str_eq(ptr %t339, ptr @.str19224) %t341 = icmp ne i32 %t340, 0 %t342 = zext i1 %t341 to i32 store i32 %t342, ptr %t326 br label %scend111 scend111: %t343 = load i32, ptr %t326 %t344 = icmp ne i32 %t343, 0 %t345 = zext i1 %t344 to i32 store i32 %t345, ptr %t325 br i1 %t344, label %scend113, label %sc112 sc112: %t346 = load ptr, ptr %t0 %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str19225) %t348 = icmp ne i32 %t347, 0 %t349 = zext i1 %t348 to i32 store i32 %t349, ptr %t325 br label %scend113 scend113: %t350 = load i32, ptr %t325 %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then114, label %ifend116 then114: store i32 1, ptr %retval br label %ret ifend116: %t355 = load ptr, ptr %t0 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str19226) %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t354 br i1 %t357, label %scend118, label %sc117 sc117: %t359 = load ptr, ptr %t0 %t360 = call i32 @lp_str_eq(ptr %t359, ptr @.str19227) %t361 = icmp ne i32 %t360, 0 %t362 = zext i1 %t361 to i32 store i32 %t362, ptr %t354 br label %scend118 scend118: %t363 = load i32, ptr %t354 %t364 = icmp ne i32 %t363, 0 %t365 = zext i1 %t364 to i32 store i32 %t365, ptr %t353 br i1 %t364, label %scend120, label %sc119 sc119: %t366 = load ptr, ptr %t0 %t367 = call i32 @lp_str_eq(ptr %t366, ptr @.str19228) %t368 = icmp ne i32 %t367, 0 %t369 = zext i1 %t368 to i32 store i32 %t369, ptr %t353 br label %scend120 scend120: %t370 = load i32, ptr %t353 %t371 = icmp ne i32 %t370, 0 %t372 = zext i1 %t371 to i32 store i32 %t372, ptr %t352 br i1 %t371, label %scend122, label %sc121 sc121: %t373 = load ptr, ptr %t0 %t374 = call i32 @lp_str_eq(ptr %t373, ptr @.str19229) %t375 = icmp ne i32 %t374, 0 %t376 = zext i1 %t375 to i32 store i32 %t376, ptr %t352 br label %scend122 scend122: %t377 = load i32, ptr %t352 %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then123, label %ifend125 then123: store i32 1, ptr %retval br label %ret ifend125: %t380 = load ptr, ptr %t0 %t381 = call i32 @lp_str_eq(ptr %t380, ptr @.str19230) %t382 = icmp ne i32 %t381, 0 %t383 = zext i1 %t382 to i32 store i32 %t383, ptr %t379 br i1 %t382, label %scend127, label %sc126 sc126: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str19231) %t386 = icmp ne i32 %t385, 0 %t387 = zext i1 %t386 to i32 store i32 %t387, ptr %t379 br label %scend127 scend127: %t388 = load i32, ptr %t379 %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then128, label %ifend130 then128: store i32 1, ptr %retval br label %ret ifend130: store i32 0, ptr %retval br label %ret ret: %t390 = load i32, ptr %retval ret i32 %t390 } 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str19232, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19233, 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 7849, 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str19235, 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 7850, 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 7851, 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 7852, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str19236, 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str19237, 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 7853, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str19238, 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 @.str19240, 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 7854, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str19241) 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str19242, 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 7855, 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 7856, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str19243) 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 7857, 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str19244, 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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str19245, 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 7858, 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: %t140 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str19246, 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 7859, 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: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str19247, 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 7860, 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 7861, 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: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str19249, 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 7862, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str19250, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str19251, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str19252, 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 7863, 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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str19254, 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: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str19255, 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 7864, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str19257) 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 7865, 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 7866, ptr @lp_site %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str19258) 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 7867, 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 7868, ptr @lp_site %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str19259) 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 7869, 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 @.str19256, 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 7870, 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 @.str19260) %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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str19261, 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: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str19262, 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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str19263, 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: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str19264, 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: %t167 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t167, ptr @.fmt_bounds, ptr @.str19265, 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: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str19266, 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: %t192 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t192, ptr @.fmt_bounds, ptr @.str19267, 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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str19268, 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: %t236 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t236, ptr @.fmt_bounds, ptr @.str19269, 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: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str19270, 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 @.str19271, 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 7871, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str19272, 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str19274, 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str19275, 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 7872, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str19276) 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 7873, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str19277) 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str19278, 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 7874, 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 7875, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str19279) 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 7876, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str19280) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str19282, 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 7877, 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 7878, 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 7879, 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 7880, 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 7881, 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str19285, 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str19286, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str19287, 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 7882, 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 7883, 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 7884, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str19290) 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 7885, 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 7886, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str19291) 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 7887, 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 @.str19289, 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 7888, 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 7889, 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 7890, 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 @.str19292, 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: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str19293, 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: %t133 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t133, ptr @.fmt_bounds, ptr @.str19294, 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 7891, 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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str19295, 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: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str19296, 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: %t196 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str19297, 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: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str19298, 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: %t239 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str19299, 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: %t254 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t254, ptr @.fmt_bounds, ptr @.str19300, 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: %t264 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t264, ptr @.fmt_bounds, ptr @.str19301, 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: %t286 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t286, ptr @.fmt_bounds, ptr @.str19302, 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: %t300 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str19305, 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 7892, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str19304, ptr %t302) store i32 0, ptr @lp_site store i32 7893, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str19306) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) %t305 = load ptr, ptr %t1 store i32 7894, 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 7895, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str19307) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) call void @fn_ck_err(ptr @.str19303, ptr %t292, ptr %t307) store ptr @.str19308, 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 7896, 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 7897, 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: %t356 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t356, ptr @.fmt_bounds, ptr @.str19309, 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: %t369 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str19310, 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: %t379 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t379, ptr @.fmt_bounds, ptr @.str19311, 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: %t389 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t389, ptr @.fmt_bounds, ptr @.str19312, 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 7898, ptr @lp_site %t395 = call ptr @lp_str_concat(ptr @.str19313, ptr %t394) store i32 0, ptr @lp_site store i32 7899, ptr @lp_site %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str19314) store i32 0, ptr @lp_site call void @lp_free(ptr %t395) %t397 = load ptr, ptr %t1 store i32 7900, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19315, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str19316, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str19317, 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str19318, 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 7901, 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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str19320, 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 7902, 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: %t147 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t147, ptr @.fmt_bounds, ptr @.str19321, 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 7903, 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: %t193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str19322, 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 7904, 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str19323, 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 7905, 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 7906, 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 7907, 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 7908, 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 @.str19326) %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 @.str19327) %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 @.str19328) %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 @.str19329) %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: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str19330, 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 7909, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str19332) store i32 0, ptr @lp_site %t15 = load ptr, ptr %t7 store i32 7910, 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 @.str19331, 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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str19334, 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: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str19335, 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 7911, ptr @lp_site %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str19336) 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 7912, 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 7913, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str19338) 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: %t183 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t183, ptr @.fmt_bounds, ptr @.str19339, 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 7914, ptr @lp_site %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str19340) 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 7915, 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 @.str19341) %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 @.str19342) %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 @.str19343) %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 @.str19344) %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 @.str19345) %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 @.str19346) %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 @.str19347) %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 @.str19348) %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 7916, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str19350) store i32 0, ptr @lp_site call void @fn_ck_err(ptr @.str19349, 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 @.str19352, ptr %t21, ptr @.str19353) 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str19354, 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 @.str19355) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str19356) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str19357) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str19358) 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 7917, 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 @.str19360, ptr %t5 store ptr @.str19361, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str19362, 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 7918, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str19363, ptr %t37) store i32 0, ptr @lp_site store i32 7919, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str19365) 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 7920, 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: %t60 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t60, ptr @.fmt_bounds, ptr @.str19366, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str19367, 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 7921, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str19368, 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 7922, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str19369, 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 @.str19370) 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 @.str19371) %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 7923, ptr @lp_site %t154 = call ptr @lp_str_concat(ptr @.str19372, ptr %t153) store i32 0, ptr @lp_site store i32 7924, ptr @lp_site %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str19373) store i32 0, ptr @lp_site call void @lp_free(ptr %t154) %t156 = load ptr, ptr %t5 store i32 7925, 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 @.str19374) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then39, label %ifend41 then39: %t176 = load ptr, ptr %t172 store i32 7926, ptr @lp_site %t177 = call ptr @lp_str_concat(ptr @.str19375, ptr %t176) store i32 0, ptr @lp_site store i32 7927, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str19376) 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 7928, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str19377, ptr %t8) store i32 0, ptr @lp_site store i32 7929, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str19379) 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 @.str19380) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str19381) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str19382) 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 @.str19383) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str19384) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str19385) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str19386) br label %ifend2 else1: call void @fn_emit(ptr @.str19387) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str19388) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str19389) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str19390) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str19391) 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 @.str19392) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str19393) 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 @.str19394) 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 @.str19395) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str19396) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str19397) 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 @.str19398) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str19399) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str19400) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str19401) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str19402) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str19403) %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 7930, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr @.str19404, ptr %t16) store i32 0, ptr @lp_site store i32 7931, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str19406) 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 @.str19407) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str19408) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str19409) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str19410) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str19411) 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 @.str19412) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str19413) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str19414) 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 @.str19415) 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 @.str19416, 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 @.str19417) %t16 = call ptr @fn_lbl(ptr @.str19418) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str19419) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str19420) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str19421) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str19422) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str19423) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str19424) %t26 = load ptr, ptr %t2 store i32 7932, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str19425, 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 7933, ptr @lp_site %t36 = call ptr @lp_str_concat(ptr @.str19427, ptr %t35) store i32 0, ptr @lp_site store i32 7934, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str19428) 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 7935, 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 @.str19429) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str19430) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str19431) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str19432) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str19433) 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 @.str19434) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str19435) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str19436) %t59 = load ptr, ptr %t2 store i32 7936, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str19437, 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 7937, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str19438, ptr %t63) store i32 0, ptr @lp_site store i32 7938, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str19439) 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 @.str19440, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str19441) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str19442) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str19443) 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 @.str19444) %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 @.str19445) 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 @.str19446) br label %ifend7 ifend7: %t31 = load ptr, ptr @g_g_ret_label store i32 7939, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str19447, ptr %t31) store i32 0, ptr @lp_site store i32 7940, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str19449) 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str19450, 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: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str19451, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str19452, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str19453, 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 @.str19454) %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str19455, 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 7941, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr @.str19456, ptr %t41) store i32 0, ptr @lp_site store i32 7942, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str19458) 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 7943, 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 7944, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str19459) 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 7945, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str19460, 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 7946, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str19461, ptr %t92) store i32 0, ptr @lp_site store i32 7947, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str19462) 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 7948, 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 7949, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str19463) 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: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str19464, 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 @.str19465) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str19466) %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 @.str19467) %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 @.str19468) %t127 = load ptr, ptr %t116 store i32 7950, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str19469, ptr %t127) store i32 0, ptr @lp_site store i32 7951, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str19470) store i32 0, ptr @lp_site call void @lp_free(ptr %t128) %t130 = load ptr, ptr %t118 store i32 7952, 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: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str19471, 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 7953, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr @.str19472, 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 @.str19474) 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19475, 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 @.str19476, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str19477, 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 7954, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr @.str19478, ptr %t90) store i32 0, ptr @lp_site store i32 7955, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str19479) 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 7956, 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 7957, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr @.str19480, ptr %t101) store i32 0, ptr @lp_site store i32 7958, ptr @lp_site %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str19481) 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 7959, 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 7960, ptr @lp_site %t113 = call ptr @lp_str_concat(ptr @.str19482, ptr %t112) store i32 0, ptr @lp_site store i32 7961, ptr @lp_site %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str19483) store i32 0, ptr @lp_site call void @lp_free(ptr %t113) %t115 = load ptr, ptr %t108 store i32 7962, 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 @.str19484) store ptr %t120, ptr %t121 %t122 = call ptr @fn_lbl(ptr @.str19485) store ptr %t122, ptr %t123 call void @fn_emit(ptr @.str19486) %t124 = load ptr, ptr %t40 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str19487) %t125 = load ptr, ptr %t121 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str19488) %t126 = load ptr, ptr %t123 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str19489) %t127 = load ptr, ptr %t121 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str19490) 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 @.str19491) %t145 = load ptr, ptr %t10 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str19492) br label %ifend27 ifend27: %t146 = load ptr, ptr %t123 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str19493) 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 7963, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr @.str19494, ptr %t190) store i32 0, ptr @lp_site store i32 7964, ptr @lp_site %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str19495) 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: %t202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str19496, 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 7965, 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 7966, ptr @lp_site %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str19497) 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 @.str19498) %t215 = load ptr, ptr %t10 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str19499) br label %ifend44 ifend44: %t216 = load ptr, ptr %t10 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str19500) 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 @.str19501) 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: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str19502, 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 @.str19503, 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: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str19504, 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 7967, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str19505, ptr %t76) store i32 0, ptr @lp_site store i32 7968, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str19507) 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 7969, 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 7970, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str19508, ptr %t88) store i32 0, ptr @lp_site store i32 7971, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str19509) store i32 0, ptr @lp_site call void @lp_free(ptr %t89) %t91 = load ptr, ptr %t84 store i32 7972, 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 @.str19510) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str19511) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str19512) %t100 = load ptr, ptr %t48 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str19513) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str19514) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str19515) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str19516) 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 @.str19517) %t111 = load ptr, ptr %t19 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str19518) br label %ifend21 ifend21: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str19519) 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 @.str19520) %t126 = load ptr, ptr %t19 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str19521) br label %ifend27 ifend27: %t127 = load ptr, ptr %t19 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str19522) 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 7973, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str19523, 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 7974, 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 7975, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str19525, 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: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str19526, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str19527, 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 @.str19528, ptr %t112 %t113 = load ptr, ptr %t111 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str19529) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: store ptr @.str19530, 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 7976, 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 7977, 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 @.str19531) %t190 = load ptr, ptr %t189 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str19532) call void @fn_emit(ptr @.str19533) %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 @.str19534) %t196 = load ptr, ptr %t189 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str19535) 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 @.str19536) %t210 = load ptr, ptr %t209 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str19537) %t211 = load i32, ptr %t197 %t212 = call ptr @fn_itoa(i32 %t211) call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str19538) call void @fn_emit(ptr @.str19539) %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: %t220 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str19540, 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 @.str19541) %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: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str19542, 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 @.str19543) %t233 = load ptr, ptr %t209 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str19544) %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: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str19545, 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 @.str19546, 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 @.str19547) %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then43, label %ifend45 then43: store ptr @.str19548, ptr %t253 br label %ifend45 ifend45: %t259 = call ptr @fn_find_extern(ptr @.str19549) %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 @.str19550) %t263 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str19551) %t264 = load ptr, ptr %t253 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str19552) %t265 = load i32, ptr %t197 %t266 = call ptr @fn_itoa(i32 %t265) call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str19553) %t267 = call ptr @fn_val(ptr @.str19554, ptr @.str19555) 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 @.str19556) 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: %t291 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str19557, 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 @.str19558) %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: %t303 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str19559, 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 @.str19560) %t316 = load ptr, ptr %t315 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str19561) %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 @.str19562) %t320 = load ptr, ptr %t269 %t321 = call ptr @fn_buf_str(ptr %t320) call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str19563) %t322 = load ptr, ptr %t315 %t323 = call ptr @fn_val(ptr %t322, ptr @.str19564) store ptr %t323, ptr %retval br label %ret ifend61: call void @fn_emit(ptr @.str19565) %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 @.str19566) %t327 = load ptr, ptr %t269 %t328 = call ptr @fn_buf_str(ptr %t327) call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str19567) %t329 = call ptr @fn_val(ptr @.str19568, ptr @.str19569) 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 @.str19570) %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 @.str19571) %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 @.str19572) %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 @.str19573) %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 @.str19574) %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: %t143 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t143, ptr @.fmt_bounds, ptr @.str19575, 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 @.str19576) 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 @.str19577) %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: %t160 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t160, ptr @.fmt_bounds, ptr @.str19578, 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 @.str19579) 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 @.str19580) br label %ifend66 ifend66: call void @fn_emit(ptr @.str19581) %t242 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str19582) 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 @.str19583) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str19584, 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str19585, 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 7978, 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 7979, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19587, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19588, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19589, 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 @.str19590) %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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str19591, 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 @.str19592) call void @fn_emith(ptr @.str19593) call void @fn_emith(ptr @.str19594) %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 @.str19595) br label %ifend2 ifend2: call void @fn_emith(ptr @.str19596) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 call void @fn_emith(ptr @.str19597) call void @fn_emith(ptr @.str19598) call void @fn_emith(ptr @.str19599) call void @fn_emith(ptr @.str19600) call void @fn_emith(ptr @.str19601) call void @fn_emith(ptr @.str19602) %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 @.str19603) call void @fn_emith(ptr @.str19604) 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 @.str19605) 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: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str19606, 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 7980, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str19607, ptr %t39) store i32 0, ptr @lp_site store i32 7981, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str19609) 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 7982, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str19610, ptr %t44) store i32 0, ptr @lp_site store i32 7983, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str19611) 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 7984, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str19612, ptr %t55) store i32 0, ptr @lp_site store i32 7985, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str19613) 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 7986, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str19614, ptr %t66) store i32 0, ptr @lp_site store i32 7987, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str19615) 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: %t86 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t86, ptr @.fmt_bounds, ptr @.str19617, 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 7988, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str19616, ptr %t88) store i32 0, ptr @lp_site store i32 7989, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str19618) 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 @.str19619) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str19620, 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 7990, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str19621, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str19624, 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 7991, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str19623, 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 @.str19625) %t44 = load ptr, ptr %t28 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str19626) %t45 = load ptr, ptr %t43 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str19627) call void @fn_emit(ptr @.str19628) %t46 = load ptr, ptr %t28 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str19629) 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 @.str19630) store ptr %t49, ptr %t50 call void @fn_emit(ptr @.str19631) %t51 = load ptr, ptr %t50 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str19632) call void @fn_emit(ptr @.str19633) %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 @.str19634) store ptr %t54, ptr %t55 call void @fn_emit(ptr @.str19635) %t56 = load ptr, ptr %t55 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str19636) call void @fn_emit(ptr @.str19637) br label %ifend12 ifend12: call void @fn_emit(ptr @.str19638) call void @fn_emit(ptr @.str19639) call void @fn_emit(ptr @.str19640) call void @fn_emit(ptr @.str19641) call void @fn_emit(ptr @.str19642) call void @fn_emit(ptr @.str19643) call void @fn_emit(ptr @.str19644) call void @fn_emit(ptr @.str19645) %t57 = call ptr @fn_ecs_base(ptr @.str19646) store ptr %t57, ptr %t58 call void @fn_emit(ptr @.str19647) %t59 = load ptr, ptr %t58 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str19648) call void @fn_emit(ptr @.str19649) call void @fn_emit(ptr @.str19650) call void @fn_emit(ptr @.str19651) call void @fn_emit(ptr @.str19652) call void @fn_emit(ptr @.str19653) call void @fn_emit(ptr @.str19654) call void @fn_emit(ptr @.str19655) call void @fn_emit(ptr @.str19656) call void @fn_emit(ptr @.str19657) call void @fn_emit(ptr @.str19658) call void @fn_emit(ptr @.str19659) %t60 = call ptr @fn_ecs_base(ptr @.str19660) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str19661) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str19662) call void @fn_emit(ptr @.str19663) call void @fn_emit(ptr @.str19664) call void @fn_emit(ptr @.str19665) %t63 = call ptr @fn_ecs_base(ptr @.str19666) store ptr %t63, ptr %t64 call void @fn_emit(ptr @.str19667) %t65 = load ptr, ptr %t64 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str19668) call void @fn_emit(ptr @.str19669) call void @fn_emit(ptr @.str19670) call void @fn_emit(ptr @.str19671) %t66 = call ptr @fn_ecs_base(ptr @.str19672) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str19673) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str19674) call void @fn_emit(ptr @.str19675) call void @fn_emit(ptr @.str19676) call void @fn_emit(ptr @.str19677) call void @fn_emit(ptr @.str19678) 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 7992, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr @.str19679, 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 7993, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str19681, ptr %t7) store i32 0, ptr @lp_site store i32 7994, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str19682) store i32 0, ptr @lp_site call void @lp_free(ptr %t8) %t10 = load ptr, ptr %t0 store i32 7995, 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 7996, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str19683) 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 @.str19684) call void @fn_emit(ptr @.str19685) %t0 = call ptr @fn_itoa(i32 8) store i32 7997, ptr @lp_site %t1 = call ptr @lp_str_concat(ptr @.str19686, ptr %t0) store i32 0, ptr @lp_site store i32 7998, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str19688) store i32 0, ptr @lp_site call void @lp_free(ptr %t1) call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str19689) call void @fn_emit(ptr @.str19690) call void @fn_emit(ptr @.str19691) call void @fn_emit_grow_store(ptr @.str19692, ptr @.str19693, i32 0) call void @fn_emit_grow_store(ptr @.str19694, ptr @.str19695, i32 1) call void @fn_emit_grow_store(ptr @.str19696, ptr @.str19697, 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 @.str19698, ptr @.str19699, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str19700, 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 7999, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str19701, ptr %t30) store i32 0, ptr @lp_site store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 store i32 8000, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str19702, ptr %t33) store i32 0, ptr @lp_site store i32 8001, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str19703) 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str19704, 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 8002, 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 8003, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str19705) 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: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str19707, 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 8004, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str19706, 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: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str19709, 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 8005, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str19708, 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 @.str19710, 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 @.str19711) 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 8006, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str19712, ptr %t6) store i32 0, ptr @lp_site store i32 8007, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str19714) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 8008, 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 8009, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str19715) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t5 store i32 8010, 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 8011, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str19716) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) %t15 = load ptr, ptr %t1 store i32 8012, 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 8013, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str19717) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t5 store i32 8014, 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 8015, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str19718) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = load ptr, ptr %t5 store i32 8016, 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 8017, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str19719) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) call void @fn_emit(ptr %t23) call void @fn_emit_site(ptr @.str19720) %t24 = load ptr, ptr %t5 store i32 8018, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr @.str19721, ptr %t24) store i32 0, ptr @lp_site store i32 8019, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str19722) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t5 store i32 8020, 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 8021, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str19723) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t5 store i32 8022, 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 8023, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str19724) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t5 store i32 8024, 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 8025, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str19725) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t1 store i32 8026, 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 8027, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str19726) 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 8028, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr @.str19727, ptr %t39) store i32 0, ptr @lp_site store i32 8029, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str19728) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t5 store i32 8030, 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 8031, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str19729) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t5 store i32 8032, 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 8033, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str19730) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t5 store i32 8034, 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 8035, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str19731) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t5 store i32 8036, 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 8037, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str19732) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t5 store i32 8038, 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 8039, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str19733) 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 8040, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str19734, ptr %t57) store i32 0, ptr @lp_site store i32 8041, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str19735) store i32 0, ptr @lp_site call void @lp_free(ptr %t58) %t60 = load ptr, ptr %t5 store i32 8042, 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 8043, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str19736) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t5 store i32 8044, 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 8045, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str19737) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t5 store i32 8046, 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 8047, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str19738) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t0 store i32 8048, 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 8049, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str19739) 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 @.str19740) call void @fn_emit(ptr @.str19741) call void @fn_emit(ptr @.str19742) call void @fn_emit(ptr @.str19743) call void @fn_emit_grow_slot(ptr @.str19744, ptr @.str19745, ptr @.str19746) call void @fn_emit_grow_slot(ptr @.str19747, ptr @.str19748, ptr @.str19749) call void @fn_emit(ptr @.str19750) 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 8050, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str19751, ptr %t3) store i32 0, ptr @lp_site store i32 8051, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str19753) store i32 0, ptr @lp_site call void @lp_free(ptr %t4) %t6 = load ptr, ptr %t0 store i32 8052, 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 8053, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str19754) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t2 store i32 8054, 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 8055, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str19755) store i32 0, ptr @lp_site call void @lp_free(ptr %t10) %t12 = load ptr, ptr %t2 store i32 8056, 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 8057, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str19756) store i32 0, ptr @lp_site call void @lp_free(ptr %t13) call void @fn_emit(ptr %t14) call void @fn_emit_site(ptr @.str19757) %t15 = load ptr, ptr %t2 store i32 8058, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str19758, ptr %t15) store i32 0, ptr @lp_site store i32 8059, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str19759) store i32 0, ptr @lp_site call void @lp_free(ptr %t16) %t18 = load ptr, ptr %t1 store i32 8060, 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 8061, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str19760) store i32 0, ptr @lp_site call void @lp_free(ptr %t19) %t21 = load ptr, ptr %t2 store i32 8062, 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 8063, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str19761) store i32 0, ptr @lp_site call void @lp_free(ptr %t22) %t24 = load ptr, ptr %t2 store i32 8064, 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 8065, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str19762) store i32 0, ptr @lp_site call void @lp_free(ptr %t25) %t27 = load ptr, ptr %t2 store i32 8066, 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 8067, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str19763) store i32 0, ptr @lp_site call void @lp_free(ptr %t28) %t30 = load ptr, ptr %t2 store i32 8068, 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 8069, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str19764) store i32 0, ptr @lp_site call void @lp_free(ptr %t31) %t33 = load ptr, ptr %t2 store i32 8070, 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 8071, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str19765) 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 8072, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr @.str19766, ptr %t36) store i32 0, ptr @lp_site store i32 8073, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str19767) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t1 store i32 8074, 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 8075, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str19768) store i32 0, ptr @lp_site call void @lp_free(ptr %t40) %t42 = load ptr, ptr %t2 store i32 8076, 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 8077, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str19769) store i32 0, ptr @lp_site call void @lp_free(ptr %t43) %t45 = load ptr, ptr %t2 store i32 8078, 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 8079, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str19770) store i32 0, ptr @lp_site call void @lp_free(ptr %t46) %t48 = load ptr, ptr %t2 store i32 8080, 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 8081, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str19771) store i32 0, ptr @lp_site call void @lp_free(ptr %t49) %t51 = load ptr, ptr %t2 store i32 8082, 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 8083, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str19772) store i32 0, ptr @lp_site call void @lp_free(ptr %t52) %t54 = load ptr, ptr %t2 store i32 8084, 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 8085, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str19773) store i32 0, ptr @lp_site call void @lp_free(ptr %t55) %t57 = load ptr, ptr %t2 store i32 8086, 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 8087, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str19774) 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 8088, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str19775, ptr %t60) store i32 0, ptr @lp_site store i32 8089, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str19776) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) %t63 = load ptr, ptr %t2 store i32 8090, 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 8091, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str19777) store i32 0, ptr @lp_site call void @lp_free(ptr %t64) %t66 = load ptr, ptr %t2 store i32 8092, 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 8093, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str19778) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) %t69 = load ptr, ptr %t2 store i32 8094, 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 8095, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str19779) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) %t72 = load ptr, ptr %t2 store i32 8096, 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 8097, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str19780) 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: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str19781, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str19782, 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 @.str19783) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str19784, ptr @.str19785, 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str19786, 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 8098, 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 @.str19788) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str19789) store ptr %t47, ptr %t48 %t49 = call ptr @fn_lbl(ptr @.str19790) store ptr %t49, ptr %t50 %t51 = call ptr @fn_lbl(ptr @.str19791) store ptr %t51, ptr %t52 call void @fn_emit(ptr @.str19792) %t53 = load ptr, ptr %t46 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str19793) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str19794) %t55 = load ptr, ptr %t4 store i32 8099, ptr @lp_site %t56 = call ptr @lp_str_concat(ptr @.str19795, 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 @.str19796) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t58 store i32 8100, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str19797, ptr %t61) store i32 0, ptr @lp_site store i32 8101, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str19798) store i32 0, ptr @lp_site call void @lp_free(ptr %t62) %t64 = load ptr, ptr %t60 store i32 8102, 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 @.str19799) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str19800) %t69 = load ptr, ptr %t48 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str19801) %t70 = load ptr, ptr %t52 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str19802) %t71 = load ptr, ptr %t48 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str19803) store i32 0, ptr @g_g_term %t72 = load ptr, ptr %t4 store i32 8103, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str19804, 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 @.str19805) store ptr %t76, ptr %t77 %t78 = call ptr @fn_nreg() store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str19806) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str19807) %t81 = load ptr, ptr %t77 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str19808) %t82 = load ptr, ptr %t75 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str19809) %t83 = load ptr, ptr %t79 store i32 8104, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr @.str19810, 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 8105, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr @.str19811, ptr %t87) store i32 0, ptr @lp_site store i32 8106, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str19812) 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 @.str19813) store ptr %t92, ptr %t93 call void @fn_emit(ptr @.str19814) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str19815) %t95 = load ptr, ptr %t93 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str19816) %t96 = load ptr, ptr %t50 call void @fn_emit(ptr %t96) call void @fn_emit(ptr @.str19817) %t97 = load ptr, ptr %t93 call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str19818) %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: %t121 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str19819, 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 @.str19820, 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 @.str19821) store ptr %t135, ptr %t136 %t137 = call ptr @fn_nreg() store ptr %t137, ptr %t138 call void @fn_emit(ptr @.str19822) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str19823) %t140 = load ptr, ptr %t136 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str19824) %t141 = load ptr, ptr %t75 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str19825) %t142 = load ptr, ptr %t138 store i32 8107, ptr @lp_site %t143 = call ptr @lp_str_concat(ptr @.str19826, 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 8108, ptr @lp_site %t147 = call ptr @lp_str_concat(ptr @.str19827, ptr %t146) store i32 0, ptr @lp_site store i32 8109, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str19828) 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 8110, 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 8111, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr @.str19829, 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 8112, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr @.str19830, ptr %t160) store i32 0, ptr @lp_site store i32 8113, ptr @lp_site %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str19831) 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 8114, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr @.str19832, ptr %t165) store i32 0, ptr @lp_site store i32 8115, ptr @lp_site %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str19833) store i32 0, ptr @lp_site call void @lp_free(ptr %t166) %t168 = load ptr, ptr %t164 store i32 8116, 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 8117, ptr @lp_site %t174 = call ptr @lp_str_concat(ptr @.str19834, 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 @.str19835) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str19836) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str19837) %t181 = load ptr, ptr %t75 call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str19838) %t182 = load ptr, ptr %t178 store i32 8118, ptr @lp_site %t183 = call ptr @lp_str_concat(ptr @.str19839, 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 8119, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str19840, ptr %t186) store i32 0, ptr @lp_site store i32 8120, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str19841) 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 @.str19842) store ptr %t190, ptr %t191 call void @fn_emit(ptr @.str19843) %t192 = load ptr, ptr %t130 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str19844) %t193 = load ptr, ptr %t191 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str19845) %t194 = load ptr, ptr %t50 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str19846) %t195 = load ptr, ptr %t191 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str19847) %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: %t219 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t219, ptr @.fmt_bounds, ptr @.str19848, 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 8121, ptr @lp_site %t255 = call ptr @lp_str_concat(ptr @.str19849, 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 @.str19850) %t258 = load ptr, ptr %t251 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str19851) %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 @.str19852) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str19853) %t263 = load ptr, ptr %t75 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str19854) %t264 = call ptr @fn_emit_alloca(ptr @.str19855) store ptr %t264, ptr %t265 call void @fn_emit(ptr @.str19856) %t266 = load ptr, ptr %t251 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str19857) %t267 = load ptr, ptr %t265 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str19858) %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: %t277 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t277, ptr @.fmt_bounds, ptr @.str19859, 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 8122, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr @.str19860, ptr %t303) store i32 0, ptr @lp_site store i32 8123, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str19861) 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 @.str19862) store ptr %t308, ptr %t309 call void @fn_emit(ptr @.str19863) %t310 = load ptr, ptr %t307 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str19864) %t311 = load ptr, ptr %t309 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str19865) %t312 = load ptr, ptr %t50 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str19866) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str19867) 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 @.str19868) %t324 = load ptr, ptr %t50 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str19869) br label %ifend35 ifend35: %t325 = load ptr, ptr %t50 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str19870) %t326 = load ptr, ptr %t4 store i32 8124, ptr @lp_site %t327 = call ptr @lp_str_concat(ptr @.str19871, 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 8125, ptr @lp_site %t331 = call ptr @lp_str_concat(ptr @.str19872, ptr %t330) store i32 0, ptr @lp_site store i32 8126, ptr @lp_site %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str19873) 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 @.str19874, ptr %t335, ptr %t336) call void @fn_emit(ptr @.str19875) %t337 = load ptr, ptr %t46 call void @fn_emit(ptr %t337) call void @fn_emit(ptr @.str19876) %t338 = load ptr, ptr %t52 call void @fn_emit(ptr %t338) call void @fn_emit(ptr @.str19877) 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 @.str19878) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str19879) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str19880) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str19881) %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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str19882, 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 8127, 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 8128, ptr @lp_site %t13 = call ptr @lp_str_concat(ptr @.str19884, 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 8129, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str19886, 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 @.str19887) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str19888) %t21 = load ptr, ptr %t17 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str19889) %t22 = load ptr, ptr %t0 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str19890) call void @fn_emit(ptr @.str19891) %t23 = load ptr, ptr %t19 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str19892) %t24 = call ptr @fn_nreg() store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t1 store i32 8130, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str19893, 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 @.str19894) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str19895) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str19896) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str19897) %t33 = load ptr, ptr %t0 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str19898) 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str19899, 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 @.str19900) %t59 = load ptr, ptr %t58 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str19901) %t60 = load ptr, ptr %t1 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str19902) %t61 = load ptr, ptr %t25 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str19903) %t62 = load i32, ptr %t34 %t63 = call ptr @fn_itoa(i32 %t62) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str19904) %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 @.str19905) %t88 = load ptr, ptr %t68 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str19906) %t89 = load ptr, ptr %t71 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str19907) %t90 = load ptr, ptr %t58 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str19908) %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: %t116 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str19909, 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 @.str19910) %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str19911) %t133 = load ptr, ptr %t1 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str19912) %t134 = load ptr, ptr %t25 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str19913) %t135 = load i32, ptr %t125 %t136 = call ptr @fn_itoa(i32 %t135) call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str19914) %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 @.str19915) %t152 = load ptr, ptr %t147 %t153 = call ptr @fn_llty(ptr %t152) call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str19916) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str19917) %t155 = load ptr, ptr %t131 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str19918) 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 @.str19919) store ptr %t167, ptr %t168 call void @fn_emit(ptr @.str19920) %t169 = load ptr, ptr %t25 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str19921) %t170 = load ptr, ptr %t168 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str19922) %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 8131, ptr @lp_site %t178 = call ptr @lp_str_concat(ptr @.str19923, ptr %t177) store i32 0, ptr @lp_site store i32 8132, ptr @lp_site %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str19924) 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 @.str19925) %t186 = load ptr, ptr %t180 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str19926) %t187 = load ptr, ptr %t0 call void @fn_emit(ptr %t187) call void @fn_emit(ptr @.str19927) 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: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str19928, 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 8133, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str19929, 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 @.str19931) %t35 = load ptr, ptr %t30 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str19932) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str19933) %t37 = load ptr, ptr %t34 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str19934) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str19935) %t39 = call ptr @fn_emit_alloca(ptr @.str19936) store ptr %t39, ptr %t40 call void @fn_emit(ptr @.str19937) %t41 = load ptr, ptr %t30 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str19938) %t42 = load ptr, ptr %t40 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str19939) %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str19940, 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str19941, 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: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str19942, 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 8134, 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: %t80 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str19944, 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 8135, 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 8136, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr @.str19945, ptr %t22) store i32 0, ptr @lp_site store i32 8137, ptr @lp_site %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str19947) 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 @.str19948) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 store i32 8138, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str19949, ptr %t8) store i32 0, ptr @lp_site store i32 8139, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str19951) 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 @.str19952) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str19953) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 store i32 8140, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr @.str19954, ptr %t17) store i32 0, ptr @lp_site store i32 8141, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str19955) store i32 0, ptr @lp_site call void @lp_free(ptr %t18) %t20 = load ptr, ptr %t16 store i32 8142, 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 8143, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str19956) store i32 0, ptr @lp_site call void @lp_free(ptr %t21) %t23 = load ptr, ptr %t14 store i32 8144, 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 8145, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str19957) 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 8146, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str19958) store i32 0, ptr @lp_site call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name store i32 8147, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str19959) store i32 0, ptr @lp_site %t30 = load i32, ptr %t1 %t31 = call ptr @fn_itoa(i32 %t30) store i32 8148, 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 8149, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str19960) 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 8150, ptr @lp_site %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str19961) 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 8151, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str19962, ptr %t43) store i32 0, ptr @lp_site store i32 8152, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str19963) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t35 store i32 8153, 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 8154, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str19964) store i32 0, ptr @lp_site call void @lp_free(ptr %t47) %t49 = load ptr, ptr %t39 store i32 8155, 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 8156, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str19965) store i32 0, ptr @lp_site call void @lp_free(ptr %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str19966) %t52 = load ptr, ptr %t14 store i32 8157, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str19967) 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 @.str19968, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str19969) 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 8158, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr @.str19970, ptr %t32) store i32 0, ptr @lp_site store i32 8159, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str19972) store i32 0, ptr @lp_site call void @lp_free(ptr %t33) %t35 = load ptr, ptr %t10 store i32 8160, 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 @.str19973) store ptr %t43, ptr %t44 %t45 = call ptr @fn_nreg() store ptr %t45, ptr %t46 call void @fn_emit(ptr @.str19974) %t47 = load ptr, ptr %t46 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str19975) %t48 = load ptr, ptr %t44 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str19976) %t49 = load ptr, ptr %t5 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str19977) call void @fn_emit(ptr @.str19978) %t50 = load i32, ptr %t13 %t51 = call ptr @fn_itoa(i32 %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str19979) %t52 = load ptr, ptr %t46 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str19980) %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: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str19981, 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 8161, ptr @lp_site %t109 = call ptr @lp_str_concat(ptr @.str19982, ptr %t108) store i32 0, ptr @lp_site store i32 8162, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str19983) 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 @.str19984) %t117 = load ptr, ptr %t111 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str19985) %t118 = load ptr, ptr %t5 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str19986) 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: %t139 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str19987, 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: %t153 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t153, ptr @.fmt_bounds, ptr @.str19988, 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 @.str19989, 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 @.str19990) store ptr %t17, ptr %t18 %t19 = call ptr @fn_nreg() store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str19991) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str19992) %t22 = load ptr, ptr %t18 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str19993) %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 @.str19994) %t26 = load ptr, ptr %t20 store i32 8163, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str19995, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str19997, 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 8164, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr @.str19998, ptr %t51) store i32 0, ptr @lp_site store i32 8165, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str19999) 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 8166, 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 @.str20000) store ptr %t60, ptr %t61 %t62 = call ptr @fn_lbl(ptr @.str20001) store ptr %t62, ptr %t63 call void @fn_emit(ptr @.str20002) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str20003) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str20004) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str20005) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str20006) %t68 = load ptr, ptr %t50 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str20007) %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 @.str20008) %t72 = load ptr, ptr %t50 store i32 8167, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str20009, ptr %t72) store i32 0, ptr @lp_site store i32 8168, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str20010) 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 @.str20011) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str20012) %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 @.str20013) br label %ifend10 ifend10: call void @fn_emit(ptr @.str20014) %t85 = load ptr, ptr %t63 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str20015) %t86 = load ptr, ptr %t63 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str20016) %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 @.str20017) %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 @.str20018) br label %ifend13 ifend13: call void @fn_emit(ptr @.str20019) %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 @.str20020) 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 8169, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str20021, 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 @.str20023) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str20024) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str20025) %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 @.str20026) %t21 = load ptr, ptr %t15 store i32 8170, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str20027, 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 8171, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str20028, ptr %t25) store i32 0, ptr @lp_site store i32 8172, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str20029) 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 @.str20030) store ptr %t30, ptr %t31 %t32 = call ptr @fn_lbl(ptr @.str20031) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str20032) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str20033) %t35 = load ptr, ptr %t31 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str20034) %t36 = load ptr, ptr %t33 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str20035) %t37 = load ptr, ptr %t31 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str20036) 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 @.str20037) %t51 = load ptr, ptr %t33 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str20038) br label %ifend2 ifend2: %t52 = load ptr, ptr %t33 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str20039) 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 8173, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str20040, 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 @.str20042) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str20043) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str20044) %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 @.str20045) %t21 = load ptr, ptr %t15 store i32 8174, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str20046, 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 8175, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str20047, ptr %t25) store i32 0, ptr @lp_site store i32 8176, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str20048) 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 @.str20049) store ptr %t30, ptr %t31 %t32 = call ptr @fn_lbl(ptr @.str20050) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str20051) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str20052) %t35 = load ptr, ptr %t31 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str20053) %t36 = load ptr, ptr %t33 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str20054) %t37 = load ptr, ptr %t31 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str20055) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str20056) %t38 = load ptr, ptr %t15 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str20057) %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 8177, ptr @lp_site %t53 = call ptr @lp_str_concat(ptr @.str20058, 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 @.str20059) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str20060) %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 @.str20061) %t62 = load ptr, ptr %t55 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str20062) %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 @.str20063) %t66 = call ptr @fn_emit_alloca(ptr @.str20064) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str20065) %t68 = load ptr, ptr %t57 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str20066) %t69 = load ptr, ptr %t67 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str20067) %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 8178, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str20068, ptr %t81) store i32 0, ptr @lp_site store i32 8179, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str20069) 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 @.str20070) %t90 = load ptr, ptr %t84 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str20071) %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 @.str20072) 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 @.str20073) %t98 = load ptr, ptr %t33 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str20074) br label %ifend8 ifend8: %t99 = load ptr, ptr %t33 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str20075) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str20076, 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 @.str20077, 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 @.str20078, 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 @.str20079) %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 @.str20080) %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 @.str20081) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str20082) %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 @.str20083) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store i32 8180, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str20084, ptr %t46) store i32 0, ptr @lp_site store i32 8181, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str20086) 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 8182, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str20087, ptr %t58) store i32 0, ptr @lp_site store i32 8183, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str20088) 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 @.str20089) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str20090) 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 8184, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str20091, 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 @.str20092) %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str20093) %t89 = load ptr, ptr %t85 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str20094) %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 @.str20095) call void @fn_emit(ptr @.str20096) %t93 = load ptr, ptr %t1 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str20097) %t94 = load ptr, ptr %t87 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str20098) 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 8185, ptr @lp_site %t119 = call ptr @lp_str_concat(ptr @.str20099, 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 @.str20100) %t124 = load ptr, ptr %t123 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str20101) %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 @.str20102) %t128 = load ptr, ptr %t121 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str20103) %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 @.str20104) %t132 = call ptr @fn_emit_alloca(ptr @.str20105) store ptr %t132, ptr %t133 call void @fn_emit(ptr @.str20106) %t134 = load ptr, ptr %t123 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str20107) %t135 = load ptr, ptr %t133 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str20108) %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 8186, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str20109, ptr %t147) store i32 0, ptr @lp_site store i32 8187, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str20110) 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 8188, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr @.str20111, ptr %t159) store i32 0, ptr @lp_site store i32 8189, ptr @lp_site %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str20112) 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 @.str20113) %t167 = load ptr, ptr %t150 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str20114) %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 @.str20115) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str20116, 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 @.str20117, 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 @.str20118) %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 8190, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str20119) store i32 0, ptr @lp_site %t207 = load ptr, ptr %t180 store i32 8191, 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 @.str20120) %t216 = load ptr, ptr %t1 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str20121) %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 @.str20122) 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 @.str20123, 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 @.str20124) br label %ifend2 ifend2: call void @fn_emit(ptr @.str20125) %t23 = load ptr, ptr %t14 store ptr %t23, ptr @g_code call void @fn_emit(ptr @.str20126) %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 @.str20127) %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 @.str20128) store ptr @.str20129, 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 8192, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str20130, 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 8193, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str20132, ptr %t7) store i32 0, ptr @lp_site store i32 8194, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str20133) 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 8195, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str20134, 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 8196, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str20135, ptr %t38) store i32 0, ptr @lp_site store i32 8197, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str20136) 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 8198, ptr @lp_site %t44 = call ptr @lp_str_concat(ptr @.str20137, ptr %t43) store i32 0, ptr @lp_site store i32 8199, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str20138) store i32 0, ptr @lp_site call void @lp_free(ptr %t44) %t46 = load ptr, ptr %t42 store i32 8200, 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 @.str20139) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 store i32 8201, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr @.str20140, ptr %t57) store i32 0, ptr @lp_site store i32 8202, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str20141) 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 8203, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr @.str20142, ptr %t62) store i32 0, ptr @lp_site store i32 8204, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str20143) store i32 0, ptr @lp_site call void @lp_free(ptr %t63) %t65 = load ptr, ptr %t61 store i32 8205, 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 @.str20144) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str20145) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str20146) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str20147) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str20148) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str20149) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str20150) %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 @.str20151) call void @fn_emit(ptr @.str20152) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str20153) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str20154) 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 8206, ptr @lp_site %t22 = call ptr @lp_str_concat(ptr @.str20155, ptr %t21) store i32 0, ptr @lp_site store i32 8207, ptr @lp_site %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str20157) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str20158, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str20159, 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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str20160, 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 @.str20161) %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 @.str20162) %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 @.str20164) store i32 8208, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str20163, ptr %t58) store i32 0, ptr @lp_site store i32 8209, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str20166) 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 @.str20167) 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 @.str20168) %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 @.str20170) store i32 8210, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str20169, ptr %t74) store i32 0, ptr @lp_site store i32 8211, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str20171) 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 @.str20172) %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 @.str20173) %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 @.str20175) store i32 8212, ptr @lp_site %t92 = call ptr @lp_str_concat(ptr @.str20174, ptr %t91) store i32 0, ptr @lp_site store i32 8213, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str20176) 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 @.str20177) call void @fn_emit(ptr @.str20178) call void @fn_emit(ptr @.str20179) call void @fn_emit(ptr @.str20180) %t2 = call ptr @fn_ecs_base(ptr @.str20181) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str20182) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str20183) call void @fn_emit(ptr @.str20184) 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str20185, 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str20186, 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 @.str20187) %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 @.str20188) %t69 = load ptr, ptr %t64 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str20189) %t70 = load ptr, ptr %t24 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 store i32 8214, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str20190, 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 @.str20192) %t76 = load ptr, ptr %t64 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str20193) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str20194) call void @fn_emit(ptr @.str20195) %t78 = load ptr, ptr %t64 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str20196) %t79 = load ptr, ptr %t64 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str20197) call void @fn_emit(ptr @.str20198) %t80 = load ptr, ptr %t64 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str20199) %t81 = load ptr, ptr %t64 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str20200) call void @fn_emit(ptr @.str20201) %t82 = load ptr, ptr %t64 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str20202) %t83 = load ptr, ptr %t64 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str20203) %t84 = load ptr, ptr %t68 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str20204) call void @fn_emit(ptr @.str20205) %t85 = load ptr, ptr %t64 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str20206) %t86 = load ptr, ptr %t24 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 store i32 8215, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr @.str20207, 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 @.str20208) %t92 = load ptr, ptr %t64 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str20209) %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 @.str20210) %t96 = load ptr, ptr %t91 call void @fn_emit(ptr %t96) call void @fn_emit(ptr @.str20211) 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: %t115 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t115, ptr @.fmt_bounds, ptr @.str20212, 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 @.str20213) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then24, label %ifend26 then24: %t122 = load ptr, ptr %t64 store i32 8216, ptr @lp_site %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str20214) store i32 0, ptr @lp_site %t124 = load i32, ptr %t32 %t125 = call ptr @fn_itoa(i32 %t124) store i32 8217, 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 @.str20215) %t128 = load ptr, ptr %t127 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str20216) %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 @.str20217) %t132 = load ptr, ptr %t64 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str20218) %t133 = load i32, ptr %t32 %t134 = call ptr @fn_itoa(i32 %t133) call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str20219) call void @fn_emit(ptr @.str20220) %t135 = load ptr, ptr %t127 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str20221) %t136 = load ptr, ptr %t127 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str20222) call void @fn_emit(ptr @.str20223) %t137 = load ptr, ptr %t127 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str20224) %t138 = load ptr, ptr %t127 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str20225) call void @fn_emit(ptr @.str20226) %t139 = load ptr, ptr %t127 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str20227) %t140 = load ptr, ptr %t127 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str20228) call void @fn_emit(ptr @.str20229) %t141 = load ptr, ptr %t127 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str20230) %t142 = load ptr, ptr %t127 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str20231) %t143 = load ptr, ptr %t127 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str20232) %t144 = load ptr, ptr %t127 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str20233) call void @fn_emit(ptr @.str20234) %t145 = load ptr, ptr %t127 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str20235) %t146 = load ptr, ptr %t127 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str20236) 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 @.str20237) %t149 = load ptr, ptr %t68 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str20238) %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 @.str20239) %t154 = load i32, ptr %t5 %t155 = call ptr @fn_itoa(i32 %t154) call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str20240) call void @fn_emit(ptr @.str20241) 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 @.str20242, 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 @.str20243) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str20244) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str20245) %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 @.str20246) %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 @.str20247) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str20248, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str20249, 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: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str20250, 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 8218, ptr @lp_site %t78 = call ptr @lp_str_concat(ptr @.str20251, ptr %t77) store i32 0, ptr @lp_site store i32 8219, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str20253) 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 8220, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr @.str20254, ptr %t82) store i32 0, ptr @lp_site store i32 8221, ptr @lp_site %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str20255) 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 @.str20256) store ptr %t87, ptr %t88 %t89 = call ptr @fn_lbl(ptr @.str20257) store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str20258) %t91 = load ptr, ptr %t86 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str20259) %t92 = load ptr, ptr %t88 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str20260) %t93 = load ptr, ptr %t90 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str20261) %t94 = load ptr, ptr %t88 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str20262) %t95 = load ptr, ptr %t58 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 store i32 8222, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str20263, ptr %t97) store i32 0, ptr @lp_site store i32 8223, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str20264) 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 @.str20265) %t102 = load ptr, ptr %t101 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str20266) %t103 = load ptr, ptr %t90 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str20267) 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 @.str20268) %t106 = load ptr, ptr %t39 store ptr %t106, ptr @g_code call void @fn_emit(ptr @.str20269) %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 @.str20270) 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 @.str20271) %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 @.str20272) %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 @.str20273) %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 @.str20274) %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 @.str20275) %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 @.str20276) %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 @.str20277) %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 @.str20278) %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 8224, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr @.str20279, ptr %t25) store i32 0, ptr @lp_site store i32 8225, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str20281) 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 @.str20282) %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 @.str20283) %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 @.str20284) %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 @.str20285) %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 @.str20286) %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 @.str20287) %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 @.str20288) %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 @.str20289) call void @fn_emith(ptr @.str20290) call void @fn_emith(ptr @.str20291) call void @fn_emith(ptr @.str20292) call void @fn_emith(ptr @.str20293) call void @fn_emith(ptr @.str20294) call void @fn_emith(ptr @.str20295) call void @fn_emith(ptr @.str20296) call void @fn_emith(ptr @.str20297) call void @fn_emith(ptr @.str20298) call void @fn_emith(ptr @.str20299) call void @fn_emith(ptr @.str20300) call void @fn_emith(ptr @.str20301) call void @fn_emith(ptr @.str20302) call void @fn_emith(ptr @.str20303) call void @fn_emith(ptr @.str20304) call void @fn_emith(ptr @.str20305) call void @fn_emith(ptr @.str20306) call void @fn_emith(ptr @.str20307) call void @fn_emit(ptr @.str20308) %t0 = call ptr @fn_find_fn(ptr @.str20309) %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 @.str20310) 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 @.str20311) %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: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str20312, 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 @.str20313) %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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str20314, 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 @.str20315) %t34 = load i32, ptr %t4 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str20316) call void @fn_emith(ptr @.str20317) 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 @.str20318) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str20319) call void @fn_emith(ptr @.str20320) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str20321) call void @fn_emith(ptr @.str20322) call void @fn_emit(ptr @.str20323) call void @fn_emit(ptr @.str20324) call void @fn_emit(ptr @.str20325) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str20326) call void @fn_emit(ptr @.str20327) call void @fn_emit(ptr @.str20328) call void @fn_emit(ptr @.str20329) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str20330) call void @fn_emit(ptr @.str20331) call void @fn_emit(ptr @.str20332) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str20333) call void @fn_emit(ptr @.str20334) call void @fn_emit(ptr @.str20335) call void @fn_emit(ptr @.str20336) 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 @.str20337) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str20338) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str20339) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str20340) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str20341) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str20342) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str20343) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str20344) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str20345) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str20346) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str20347) call void @fn_emit(ptr @.str20348) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str20349) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str20350) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str20351) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str20352) %t31 = call ptr @fn_emit_bind(ptr @.str20353) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 store i32 8226, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str20354, ptr %t33) store i32 0, ptr @lp_site store i32 8227, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str20356) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t32 store i32 8228, 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 @.str20357) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str20358) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str20359) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str20360) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str20361) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str20362) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str20363) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str20364) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str20365) %t49 = load ptr, ptr %t45 store i32 8229, ptr @lp_site %t50 = call ptr @lp_str_concat(ptr @.str20366, 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 8230, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str20367, ptr %t53) store i32 0, ptr @lp_site store i32 8231, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str20368) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t6 store i32 8232, 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 @.str20369) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str20370) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str20371) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str20372) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str20373) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str20374) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str20375) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str20376) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str20377) %t69 = load ptr, ptr %t65 store i32 8233, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str20378, 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 @.str20379) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str20380) call void @fn_emit(ptr @.str20381) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str20382) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str20383) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str20384) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str20385) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str20386) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str20387) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str20388, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str20389, 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 @.str20390) 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: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str20391, 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 8234, ptr @lp_site %t151 = call ptr @lp_str_concat(ptr @.str20392, ptr %t150) store i32 0, ptr @lp_site store i32 8235, ptr @lp_site %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str20394) 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 8236, 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 @.str20395) store ptr %t162, ptr %t163 %t164 = call ptr @fn_lbl(ptr @.str20396) store ptr %t164, ptr %t165 call void @fn_emit(ptr @.str20397) %t166 = load ptr, ptr %t161 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str20398) %t167 = load ptr, ptr %t163 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str20399) %t168 = load ptr, ptr %t165 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str20400) %t169 = load ptr, ptr %t163 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str20401) %t170 = load ptr, ptr %t121 call void @fn_emit_call_one(ptr %t170) call void @fn_emit(ptr @.str20402) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str20403) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str20404) 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 @.str20405) %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 @.str20407) store i32 8237, ptr @lp_site %t187 = call ptr @lp_str_concat(ptr @.str20406, ptr %t186) store i32 0, ptr @lp_site store i32 8238, ptr @lp_site %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str20408) 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str20409, 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 @.str20410) 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str20411, 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 8239, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str20412, ptr %t56) store i32 0, ptr @lp_site store i32 8240, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str20414) 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 8241, 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 @.str20415) store ptr %t66, ptr %t67 %t68 = call ptr @fn_lbl(ptr @.str20416) store ptr %t68, ptr %t69 call void @fn_emit(ptr @.str20417) %t70 = load ptr, ptr %t65 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str20418) %t71 = load ptr, ptr %t67 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str20419) %t72 = load ptr, ptr %t69 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str20420) %t73 = load ptr, ptr %t67 call void @fn_emit(ptr %t73) %t74 = call ptr @fn_fn_sym(ptr @.str20422) store i32 8242, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr @.str20421, ptr %t74) store i32 0, ptr @lp_site store i32 8243, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str20423) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str20424) %t77 = load ptr, ptr %t69 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str20425) %t78 = load ptr, ptr %t69 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str20426) 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 8244, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str20427, 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 @.str20429, 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 @.str20430) %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 @.str20431) %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 @.str20433) store i32 8245, ptr @lp_site %t29 = call ptr @lp_str_concat(ptr @.str20432, ptr %t28) store i32 0, ptr @lp_site store i32 8246, ptr @lp_site %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str20434) 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 @.str20436) store i32 8247, ptr @lp_site %t32 = call ptr @lp_str_concat(ptr @.str20435, ptr %t31) store i32 0, ptr @lp_site store i32 8248, ptr @lp_site %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str20437) 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 8249, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr @.str20438, 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 @.str20439) 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 @.str20440) %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 @.str20442) store i32 8250, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str20441, ptr %t50) store i32 0, ptr @lp_site store i32 8251, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str20443) 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 8252, ptr @lp_site %t59 = call ptr @lp_str_concat(ptr @.str20444, ptr %t58) store i32 0, ptr @lp_site store i32 8253, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str20445) store i32 0, ptr @lp_site call void @lp_free(ptr %t59) %t61 = load ptr, ptr %t1 store i32 8254, 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 @.str20446) %t78 = load ptr, ptr %t63 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str20447) 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 @.str20448) br label %ifend23 ifend23: call void @fn_emit(ptr @.str20449) %t83 = load ptr, ptr %t10 store ptr %t83, ptr @g_code call void @fn_emit(ptr @.str20450) %t84 = load ptr, ptr %t1 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str20451) %t85 = load ptr, ptr %t0 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str20452) %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 @.str20453) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str20454, 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 @.str20455, 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 @.str20456, 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 @.str20457) call void @fn_emit(ptr @.str20458) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str20459, 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 @.str20460) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str20461) %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 @.str20462) call void @fn_emit(ptr @.str20463) %t27 = load ptr, ptr %t21 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str20464) %t28 = load ptr, ptr %t21 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str20465) %t29 = load ptr, ptr %t21 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str20466) call void @fn_emit(ptr @.str20467) %t30 = load ptr, ptr %t21 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str20468) %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 @.str20469) call void @fn_emit(ptr @.str20470) %t34 = load ptr, ptr %t21 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str20471) %t35 = load i32, ptr %t0 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str20472) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str20473, 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 @.str20474, 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 @.str20475) store ptr %t36, ptr %t37 call void @fn_emit(ptr @.str20476) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str20477) %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 @.str20478) br label %ifend7 ifend7: %t43 = load ptr, ptr %t23 call void @fn_emit_bind_props(ptr %t43, ptr @.str20479) %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 @.str20480) br label %ifend10 ifend10: call void @fn_emit(ptr @.str20481) %t51 = load ptr, ptr %t28 store ptr %t51, ptr @g_code call void @fn_emit(ptr @.str20482) %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 @.str20483) %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 @.str20484) %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 @.str20485) %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 @.str20486) store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str20487) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str20488) call void @fn_emit(ptr @.str20489) 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str20490, 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 @.str20491) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str20492) %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 @.str20493) call void @fn_emit(ptr @.str20494) %t39 = load ptr, ptr %t34 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str20495) %t40 = load ptr, ptr %t34 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str20496) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str20497) call void @fn_emit(ptr @.str20498) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str20499) %t43 = load ptr, ptr %t31 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str20500) %t44 = load ptr, ptr %t31 store i32 8255, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str20501, ptr %t44) store i32 0, ptr @lp_site store i32 8256, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str20503) 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 @.str20504) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str20505) br label %ifend10 ifend10: call void @fn_emit(ptr @.str20506) %t54 = load ptr, ptr %t34 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str20507) call void @fn_emit(ptr @.str20508) %t55 = load ptr, ptr %t34 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str20509) %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 @.str20510) br label %ifend13 ifend13: call void @fn_emit(ptr @.str20511) call void @fn_emit(ptr @.str20512) 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 @.str20513) call void @fn_emit(ptr @.str20514) call void @fn_emit(ptr @.str20515) call void @fn_emit(ptr @.str20516) call void @fn_emit(ptr @.str20517) %t8 = call ptr @fn_ecs_base(ptr @.str20518) store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str20519) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str20520) call void @fn_emit(ptr @.str20521) call void @fn_emit(ptr @.str20522) call void @fn_emit(ptr @.str20523) %t11 = call ptr @fn_ecs_base(ptr @.str20524) store ptr %t11, ptr %t12 call void @fn_emit(ptr @.str20525) %t13 = load ptr, ptr %t12 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str20526) call void @fn_emit(ptr @.str20527) 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str20528, 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 @.str20529) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str20530) %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 @.str20531) call void @fn_emit(ptr @.str20532) %t42 = load ptr, ptr %t37 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str20533) %t43 = load ptr, ptr %t37 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str20534) %t44 = load ptr, ptr %t37 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str20535) call void @fn_emit(ptr @.str20536) %t45 = load ptr, ptr %t37 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str20537) %t46 = load ptr, ptr %t34 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str20538) %t47 = load ptr, ptr %t34 store i32 8257, ptr @lp_site %t48 = call ptr @lp_str_concat(ptr @.str20539, ptr %t47) store i32 0, ptr @lp_site store i32 8258, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str20541) 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 @.str20542) %t56 = load ptr, ptr %t50 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str20543) br label %ifend10 ifend10: call void @fn_emit(ptr @.str20544) %t57 = load ptr, ptr %t37 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str20545) call void @fn_emit(ptr @.str20546) %t58 = load ptr, ptr %t37 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str20547) %t59 = load i32, ptr %t14 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t14 br label %wcond3 wend5: call void @fn_emit(ptr @.str20548) call void @fn_emit(ptr @.str20549) call void @fn_emit(ptr @.str20550) 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 @.str20551) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str20552, 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 @.str20553) %t25 = load ptr, ptr %t22 call void @fn_emith(ptr %t25) call void @fn_emith(ptr @.str20554) 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 @.str20555) 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str20556, 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 @.str20557) br label %ifend18 ifend18: call void @fn_emith(ptr @.str20558) br label %ifend15 ifend15: call void @fn_emith(ptr @.str20559) call void @fn_emith(ptr @.str20560) %t71 = load ptr, ptr %t22 call void @fn_emith(ptr %t71) call void @fn_emith(ptr @.str20561) %t72 = load ptr, ptr %t24 call void @fn_emith(ptr %t72) call void @fn_emith(ptr @.str20562) call void @fn_emith(ptr @.str20563) %t73 = load ptr, ptr %t22 call void @fn_emith(ptr %t73) call void @fn_emith(ptr @.str20564) call void @fn_emith(ptr @.str20565) %t74 = load ptr, ptr %t22 call void @fn_emith(ptr %t74) call void @fn_emith(ptr @.str20566) %t75 = load ptr, ptr %t24 call void @fn_emith(ptr %t75) call void @fn_emith(ptr @.str20567) call void @fn_emit(ptr @.str20568) %t76 = load ptr, ptr %t22 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str20569) call void @fn_emit(ptr @.str20570) %t77 = load ptr, ptr %t22 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str20571) call void @fn_emit(ptr @.str20572) %t78 = load ptr, ptr %t24 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str20573) call void @fn_emit(ptr @.str20574) call void @fn_emit(ptr @.str20575) %t79 = load ptr, ptr %t24 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str20576) %t80 = load ptr, ptr %t22 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str20577) call void @fn_emit(ptr @.str20578) call void @fn_emit(ptr @.str20579) %t81 = load ptr, ptr %t24 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str20580) %t82 = load ptr, ptr %t22 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str20581) call void @fn_emit(ptr @.str20582) call void @fn_emit(ptr @.str20583) %t83 = load ptr, ptr %t22 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str20584) call void @fn_emit(ptr @.str20585) call void @fn_emit(ptr @.str20586) %t84 = load ptr, ptr %t22 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str20587) call void @fn_emit(ptr @.str20588) %t85 = load ptr, ptr %t22 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str20589) call void @fn_emit(ptr @.str20590) %t86 = load ptr, ptr %t24 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str20591) call void @fn_emit(ptr @.str20592) call void @fn_emit(ptr @.str20593) %t87 = load ptr, ptr %t24 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str20594) %t88 = load ptr, ptr %t22 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str20595) call void @fn_emit(ptr @.str20596) call void @fn_emit(ptr @.str20597) %t89 = load ptr, ptr %t24 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str20598) %t90 = load ptr, ptr %t22 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str20599) call void @fn_emit(ptr @.str20600) call void @fn_emit(ptr @.str20601) %t91 = load ptr, ptr %t22 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str20602) call void @fn_emit(ptr @.str20603) call void @fn_emit(ptr @.str20604) %t92 = load ptr, ptr %t22 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str20605) call void @fn_emit(ptr @.str20606) %t93 = load ptr, ptr %t22 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str20607) call void @fn_emit(ptr @.str20608) call void @fn_emit(ptr @.str20609) call void @fn_emit(ptr @.str20610) call void @fn_emit(ptr @.str20611) %t94 = load ptr, ptr %t24 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str20612) %t95 = load ptr, ptr %t22 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str20613) call void @fn_emit(ptr @.str20614) call void @fn_emit(ptr @.str20615) 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 @.str20616, 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 @.str20617) call void @fn_emit(ptr @.str20618) %t102 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str20619) call void @fn_emit(ptr @.str20620) call void @fn_emit(ptr @.str20621) %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 @.str20622) br label %ifend21 else20: call void @fn_emit(ptr @.str20623) br label %ifend21 ifend21: call void @fn_emit(ptr @.str20624) call void @fn_emit(ptr @.str20625) %t109 = load ptr, ptr %t22 store i32 8259, ptr @lp_site %t110 = call ptr @lp_str_concat(ptr @.str20626, 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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str20628, 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 @.str20629) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str20630) %t144 = load ptr, ptr %t22 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str20631) %t145 = load ptr, ptr %t112 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str20632) %t146 = load i32, ptr %t113 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str20633) call void @fn_emit(ptr @.str20634) %t148 = load ptr, ptr %t140 call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str20635) %t149 = load i32, ptr %t113 %t150 = call ptr @fn_itoa(i32 %t149) call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str20636) %t151 = load ptr, ptr %t142 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str20637) %t152 = load ptr, ptr %t140 %t153 = call ptr @fn_emit_alloca(ptr %t152) store ptr %t153, ptr %t154 call void @fn_emit(ptr @.str20638) %t155 = load ptr, ptr %t140 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str20639) %t156 = load i32, ptr %t113 %t157 = call ptr @fn_itoa(i32 %t156) call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str20640) %t158 = load ptr, ptr %t154 call void @fn_emit(ptr %t158) call void @fn_emit(ptr @.str20641) %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 @.str20642) %t176 = load ptr, ptr %t168 call void @fn_emit(ptr %t176) call void @fn_emit(ptr @.str20643) %t177 = load ptr, ptr %t22 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str20644) %t178 = load ptr, ptr %t112 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str20645) %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 @.str20646) call void @fn_emit(ptr @.str20647) %t185 = load ptr, ptr %t168 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str20648) %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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str20649, 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 @.str20650) 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: %t223 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str20651, 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 8260, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr @.str20652, ptr %t230) store i32 0, ptr @lp_site store i32 8261, ptr @lp_site %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str20653) 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: %t240 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t240, ptr @.fmt_bounds, ptr @.str20654, 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 @.str20655, 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 8262, ptr @lp_site %t250 = call ptr @lp_str_concat(ptr @.str20656, ptr %t249) store i32 0, ptr @lp_site store i32 8263, ptr @lp_site %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str20657) 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 8264, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str20658) 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 @.str20659) store ptr %t260, ptr %t261 call void @fn_emit(ptr @.str20660) %t262 = load ptr, ptr %t261 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str20661) %t263 = call ptr @fn_lbl(ptr @.str20662) store ptr %t263, ptr %t264 %t265 = call ptr @fn_lbl(ptr @.str20663) store ptr %t265, ptr %t266 %t267 = call ptr @fn_lbl(ptr @.str20664) store ptr %t267, ptr %t268 call void @fn_emit(ptr @.str20665) %t269 = load ptr, ptr %t264 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str20666) %t270 = load ptr, ptr %t264 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str20667) %t271 = load ptr, ptr %t261 store i32 8265, ptr @lp_site %t272 = call ptr @lp_str_concat(ptr @.str20668, 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 8266, ptr @lp_site %t276 = call ptr @lp_str_concat(ptr @.str20669, 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 8267, ptr @lp_site %t280 = call ptr @lp_str_concat(ptr @.str20670, ptr %t279) store i32 0, ptr @lp_site store i32 8268, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str20671) store i32 0, ptr @lp_site call void @lp_free(ptr %t280) %t282 = load ptr, ptr %t278 store i32 8269, 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 @.str20672) %t286 = load ptr, ptr %t285 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str20673) %t287 = load ptr, ptr %t266 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str20674) %t288 = load ptr, ptr %t268 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str20675) %t289 = load ptr, ptr %t266 call void @fn_emit(ptr %t289) call void @fn_emit(ptr @.str20676) %t290 = call ptr @fn_nreg() store ptr %t290, ptr %t291 call void @fn_emit(ptr @.str20677) %t292 = load ptr, ptr %t291 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str20678) %t293 = load ptr, ptr %t24 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str20679) %t294 = load ptr, ptr %t22 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str20680) %t295 = load ptr, ptr %t274 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str20681) %t296 = load ptr, ptr %t291 store i32 8270, ptr @lp_site %t297 = call ptr @lp_str_concat(ptr @.str20682, 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 8271, ptr @lp_site %t301 = call ptr @lp_str_concat(ptr @.str20683, ptr %t300) store i32 0, ptr @lp_site store i32 8272, ptr @lp_site %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str20684) 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 @.str20685) store ptr %t305, ptr %t306 %t307 = call ptr @fn_lbl(ptr @.str20686) store ptr %t307, ptr %t308 call void @fn_emit(ptr @.str20687) %t309 = load ptr, ptr %t304 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str20688) %t310 = load ptr, ptr %t308 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str20689) %t311 = load ptr, ptr %t306 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str20690) %t312 = load ptr, ptr %t306 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str20691) call void @fn_emit(ptr @.str20692) %t313 = load ptr, ptr %t299 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str20693) %t314 = load ptr, ptr %t112 call void @fn_emit(ptr %t314) call void @fn_emit(ptr @.str20694) call void @fn_emit(ptr @.str20695) %t315 = load ptr, ptr %t308 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str20696) %t316 = load ptr, ptr %t308 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str20697) %t317 = load ptr, ptr %t274 store i32 8273, ptr @lp_site %t318 = call ptr @lp_str_concat(ptr @.str20698, ptr %t317) store i32 0, ptr @lp_site store i32 8274, ptr @lp_site %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str20699) 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 @.str20700) %t322 = load ptr, ptr %t321 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str20701) %t323 = load ptr, ptr %t261 call void @fn_emit(ptr %t323) call void @fn_emit(ptr @.str20702) call void @fn_emit(ptr @.str20703) %t324 = load ptr, ptr %t264 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str20704) %t325 = load ptr, ptr %t268 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str20705) call void @fn_emit(ptr @.str20706) br label %ifend47 ifend47: call void @fn_emit(ptr @.str20707) call void @fn_emit(ptr @.str20708) %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 8275, ptr @lp_site %t333 = call ptr @lp_str_concat(ptr @.str20709, 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 @.str20710) %t336 = load ptr, ptr %t335 call void @fn_emit(ptr %t336) call void @fn_emit(ptr @.str20711) br label %ifend50 else49: call void @fn_emit(ptr @.str20712) 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 @.str20713, 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 @.str20714, ptr %t338 br label %ifend53 ifend53: call void @fn_emit(ptr @.str20715) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str20716) %t346 = load ptr, ptr %t22 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str20717) 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 @.str20718) 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: %t370 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t370, ptr @.fmt_bounds, ptr @.str20719, 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 @.str20720) %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 @.str20721) %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 @.str20722) %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 @.str20723) 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: %t403 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t403, ptr @.fmt_bounds, ptr @.str20724, 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 @.str20725) %t412 = load ptr, ptr %t411 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str20726) call void @fn_emit(ptr @.str20727) %t413 = load ptr, ptr %t411 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str20728) call void @fn_emit(ptr @.str20729) %t414 = load ptr, ptr %t411 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str20730) %t415 = load ptr, ptr %t408 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str20731) call void @fn_emit(ptr @.str20732) %t416 = load ptr, ptr %t411 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str20733) %t417 = load ptr, ptr %t411 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str20734) %t418 = load ptr, ptr %t411 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str20735) call void @fn_emit(ptr @.str20736) %t419 = load ptr, ptr %t411 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str20737) %t420 = load ptr, ptr %t411 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str20738) %t421 = load ptr, ptr %t411 call void @fn_emit(ptr %t421) call void @fn_emit(ptr @.str20739) call void @fn_emit(ptr @.str20740) %t422 = load ptr, ptr %t411 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str20741) call void @fn_emit(ptr @.str20742) %t423 = load ptr, ptr %t411 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str20743) %t424 = load ptr, ptr %t387 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str20744) %t425 = load ptr, ptr %t408 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str20745) %t426 = load ptr, ptr %t411 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str20746) call void @fn_emit(ptr @.str20747) %t427 = load ptr, ptr %t411 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str20748) %t428 = load ptr, ptr %t411 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str20749) call void @fn_emit(ptr @.str20750) %t429 = load ptr, ptr %t411 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str20751) %t430 = load ptr, ptr %t411 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str20752) call void @fn_emit(ptr @.str20753) %t431 = load ptr, ptr %t411 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str20754) %t432 = load ptr, ptr %t411 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str20755) %t433 = load ptr, ptr %t411 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str20756) call void @fn_emit(ptr @.str20757) %t434 = load ptr, ptr %t411 call void @fn_emit(ptr %t434) call void @fn_emit(ptr @.str20758) call void @fn_emit(ptr @.str20759) %t435 = load ptr, ptr %t411 call void @fn_emit(ptr %t435) call void @fn_emit(ptr @.str20760) %t436 = load ptr, ptr %t387 call void @fn_emit(ptr %t436) call void @fn_emit(ptr @.str20761) %t437 = load ptr, ptr %t408 call void @fn_emit(ptr %t437) call void @fn_emit(ptr @.str20762) %t438 = load ptr, ptr %t411 call void @fn_emit(ptr %t438) call void @fn_emit(ptr @.str20763) call void @fn_emit(ptr @.str20764) %t439 = load ptr, ptr %t411 call void @fn_emit(ptr %t439) call void @fn_emit(ptr @.str20765) %t440 = load ptr, ptr %t411 call void @fn_emit(ptr %t440) call void @fn_emit(ptr @.str20766) call void @fn_emit(ptr @.str20767) %t441 = load ptr, ptr %t411 call void @fn_emit(ptr %t441) call void @fn_emit(ptr @.str20768) call void @fn_emit(ptr @.str20769) %t442 = load ptr, ptr %t411 call void @fn_emit(ptr %t442) call void @fn_emit(ptr @.str20770) %t443 = load ptr, ptr %t411 call void @fn_emit(ptr %t443) call void @fn_emit(ptr @.str20771) %t444 = load ptr, ptr %t411 call void @fn_emit(ptr %t444) call void @fn_emit(ptr @.str20772) %t445 = load ptr, ptr %t411 call void @fn_emit(ptr %t445) call void @fn_emit(ptr @.str20773) call void @fn_emit(ptr @.str20774) %t446 = load ptr, ptr %t411 call void @fn_emit(ptr %t446) call void @fn_emit(ptr @.str20775) %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 @.str20776) %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 @.str20777) br label %ifend69 else68: call void @fn_emit(ptr @.str20778) 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 @.str20779) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str20780, 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 @.str20781) call void @fn_emith(ptr @.str20782) call void @fn_emith(ptr @.str20783) call void @fn_emith(ptr @.str20784) call void @fn_emith(ptr @.str20785) call void @fn_emit(ptr @.str20786) 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str20787, 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: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str20788, 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 @.str20789) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str20790) %t75 = load ptr, ptr %t70 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str20791) call void @fn_emit(ptr @.str20792) %t76 = load ptr, ptr %t73 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str20793) %t77 = load ptr, ptr %t73 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str20794) call void @fn_emit(ptr @.str20795) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str20796) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str20797) %t80 = load ptr, ptr %t73 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str20798) call void @fn_emit(ptr @.str20799) %t81 = load ptr, ptr %t73 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str20800) %t82 = load ptr, ptr %t73 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str20801) call void @fn_emit(ptr @.str20802) %t83 = load ptr, ptr %t73 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str20803) %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 @.str20804) call void @fn_emit(ptr @.str20805) call void @fn_emit(ptr @.str20806) call void @fn_emit(ptr @.str20807) %t88 = load ptr, ptr %t32 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str20808) call void @fn_emit(ptr @.str20809) call void @fn_emit(ptr @.str20810) call void @fn_emit(ptr @.str20811) 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str20812, 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: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str20813, 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 @.str20814) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str20815) %t126 = load ptr, ptr %t124 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str20816) call void @fn_emit(ptr @.str20817) %t127 = load ptr, ptr %t124 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str20818) %t128 = load ptr, ptr %t124 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str20819) %t129 = load ptr, ptr %t124 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str20820) call void @fn_emit(ptr @.str20821) %t130 = load ptr, ptr %t124 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str20822) 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: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str20823, 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 8276, ptr @lp_site %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str20824) store i32 0, ptr @lp_site %t159 = load i32, ptr %t131 %t160 = call ptr @fn_itoa(i32 %t159) store i32 8277, 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 @.str20826) %t163 = load ptr, ptr %t162 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str20827) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str20828) call void @fn_emit(ptr @.str20829) %t165 = load ptr, ptr %t162 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str20830) %t166 = load ptr, ptr %t162 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str20831) call void @fn_emit(ptr @.str20832) %t167 = load ptr, ptr %t162 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str20833) %t168 = load ptr, ptr %t162 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str20834) %t169 = load ptr, ptr %t162 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str20835) call void @fn_emit(ptr @.str20836) %t170 = load ptr, ptr %t162 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str20837) %t171 = load i32, ptr %t131 %t172 = call ptr @fn_itoa(i32 %t171) call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str20838) call void @fn_emit(ptr @.str20839) %t173 = load ptr, ptr %t162 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str20840) %t174 = load i32, ptr %t131 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t131 br label %wcond28 wend30: call void @fn_emit(ptr @.str20841) call void @fn_emit(ptr @.str20842) %t176 = load ptr, ptr %t124 call void @fn_emit(ptr %t176) call void @fn_emit(ptr @.str20843) %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 @.str20844) call void @fn_emit(ptr @.str20845) 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: %t195 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str20846, 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: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str20847, 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 @.str20848) %t221 = load ptr, ptr %t220 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str20849) %t222 = load ptr, ptr %t220 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str20850) call void @fn_emit(ptr @.str20851) %t223 = load ptr, ptr %t220 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str20852) %t224 = load ptr, ptr %t220 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str20853) %t225 = load ptr, ptr %t220 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str20854) call void @fn_emit(ptr @.str20855) %t226 = load ptr, ptr %t220 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str20856) %t227 = load ptr, ptr %t217 store i32 8278, ptr @lp_site %t228 = call ptr @lp_str_concat(ptr @.str20857, 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 @.str20858) %t231 = load ptr, ptr %t220 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str20859) %t232 = load ptr, ptr %t217 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str20860) %t233 = load ptr, ptr %t230 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str20861) 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: %t253 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t253, ptr @.fmt_bounds, ptr @.str20862, 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 8279, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str20863) store i32 0, ptr @lp_site %t262 = load i32, ptr %t234 %t263 = call ptr @fn_itoa(i32 %t262) store i32 8280, 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 @.str20864) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str20865) %t267 = load i32, ptr %t234 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str20866) call void @fn_emit(ptr @.str20867) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str20868) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str20869) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str20870) call void @fn_emit(ptr @.str20871) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str20872) call void @fn_emit(ptr @.str20873) %t273 = load ptr, ptr %t265 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str20874) %t274 = load ptr, ptr %t217 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str20875) %t275 = load ptr, ptr %t220 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str20876) %t276 = load i32, ptr %t234 %t277 = call ptr @fn_itoa(i32 %t276) call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str20877) %t278 = load ptr, ptr %t259 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str20878) %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then48, label %else49 then48: call void @fn_emit(ptr @.str20879) %t281 = load ptr, ptr %t265 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str20880) %t282 = load ptr, ptr %t265 call void @fn_emit(ptr %t282) call void @fn_emit(ptr @.str20881) call void @fn_emit(ptr @.str20882) %t283 = load ptr, ptr %t265 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str20883) %t284 = load ptr, ptr %t265 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str20884) %t285 = load ptr, ptr %t265 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str20885) br label %ifend50 else49: %t286 = load ptr, ptr %t259 %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str20886) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then51, label %else52 then51: call void @fn_emit(ptr @.str20887) %t289 = load ptr, ptr %t265 call void @fn_emit(ptr %t289) call void @fn_emit(ptr @.str20888) %t290 = load ptr, ptr %t265 call void @fn_emit(ptr %t290) call void @fn_emit(ptr @.str20889) call void @fn_emit(ptr @.str20890) %t291 = load ptr, ptr %t265 call void @fn_emit(ptr %t291) call void @fn_emit(ptr @.str20891) %t292 = load ptr, ptr %t265 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str20892) %t293 = load ptr, ptr %t265 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str20893) br label %ifend53 else52: call void @fn_emit(ptr @.str20894) %t294 = load ptr, ptr %t265 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str20895) %t295 = load ptr, ptr %t265 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str20896) call void @fn_emit(ptr @.str20897) %t296 = load ptr, ptr %t265 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str20898) %t297 = load ptr, ptr %t265 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str20899) %t298 = load ptr, ptr %t265 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str20900) br label %ifend53 ifend53: br label %ifend50 ifend50: call void @fn_emit(ptr @.str20901) %t299 = load ptr, ptr %t265 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str20902) %t300 = load i32, ptr %t234 %t301 = add i32 %t300, 1 store i32 %t301, ptr %t234 br label %wcond43 wend45: call void @fn_emit(ptr @.str20903) call void @fn_emit(ptr @.str20904) %t302 = load ptr, ptr %t220 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str20905) %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 @.str20906) %t307 = load ptr, ptr %t32 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str20907) call void @fn_emit(ptr @.str20908) call void @fn_emit(ptr @.str20909) call void @fn_emit(ptr @.str20910) call void @fn_emit(ptr @.str20911) call void @fn_emit(ptr @.str20912) call void @fn_emit(ptr @.str20913) 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: %t322 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t322, ptr @.fmt_bounds, ptr @.str20914, 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: %t337 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t337, ptr @.fmt_bounds, ptr @.str20915, 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 @.str20916) %t348 = load ptr, ptr %t347 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str20917) %t349 = load ptr, ptr %t347 call void @fn_emit(ptr %t349) call void @fn_emit(ptr @.str20918) call void @fn_emit(ptr @.str20919) %t350 = load ptr, ptr %t347 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str20920) %t351 = load ptr, ptr %t347 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str20921) %t352 = load ptr, ptr %t347 call void @fn_emit(ptr %t352) call void @fn_emit(ptr @.str20922) call void @fn_emit(ptr @.str20923) %t353 = load ptr, ptr %t347 call void @fn_emit(ptr %t353) call void @fn_emit(ptr @.str20924) %t354 = load ptr, ptr %t344 store i32 8281, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr @.str20925, 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 @.str20926) %t358 = load ptr, ptr %t347 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str20927) %t359 = load ptr, ptr %t344 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str20928) %t360 = load ptr, ptr %t357 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str20929) 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: %t380 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t380, ptr @.fmt_bounds, ptr @.str20930, 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 8282, ptr @lp_site %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str20931) store i32 0, ptr @lp_site %t389 = load i32, ptr %t361 %t390 = call ptr @fn_itoa(i32 %t389) store i32 8283, 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 @.str20932) %t393 = load ptr, ptr %t392 call void @fn_emit(ptr %t393) call void @fn_emit(ptr @.str20933) %t394 = load i32, ptr %t361 %t395 = call ptr @fn_itoa(i32 %t394) call void @fn_emit(ptr %t395) call void @fn_emit(ptr @.str20934) call void @fn_emit(ptr @.str20935) %t396 = load ptr, ptr %t392 call void @fn_emit(ptr %t396) call void @fn_emit(ptr @.str20936) %t397 = load ptr, ptr %t392 call void @fn_emit(ptr %t397) call void @fn_emit(ptr @.str20937) %t398 = load ptr, ptr %t392 call void @fn_emit(ptr %t398) call void @fn_emit(ptr @.str20938) call void @fn_emit(ptr @.str20939) %t399 = load ptr, ptr %t392 call void @fn_emit(ptr %t399) call void @fn_emit(ptr @.str20940) call void @fn_emit(ptr @.str20941) %t400 = load ptr, ptr %t392 call void @fn_emit(ptr %t400) call void @fn_emit(ptr @.str20942) %t401 = load ptr, ptr %t344 call void @fn_emit(ptr %t401) call void @fn_emit(ptr @.str20943) %t402 = load ptr, ptr %t347 call void @fn_emit(ptr %t402) call void @fn_emit(ptr @.str20944) %t403 = load i32, ptr %t361 %t404 = call ptr @fn_itoa(i32 %t403) call void @fn_emit(ptr %t404) call void @fn_emit(ptr @.str20945) %t405 = load ptr, ptr %t386 %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str20946) %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then69, label %else70 then69: call void @fn_emit(ptr @.str20947) %t408 = load ptr, ptr %t392 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str20948) call void @fn_emit(ptr @.str20949) %t409 = load ptr, ptr %t392 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str20950) %t410 = load ptr, ptr %t392 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str20951) br label %ifend71 else70: %t411 = load ptr, ptr %t386 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str20952) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then72, label %else73 then72: call void @fn_emit(ptr @.str20953) %t414 = load ptr, ptr %t392 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str20954) call void @fn_emit(ptr @.str20955) %t415 = load ptr, ptr %t392 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str20956) %t416 = load ptr, ptr %t392 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str20957) br label %ifend74 else73: call void @fn_emit(ptr @.str20958) %t417 = load ptr, ptr %t392 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str20959) call void @fn_emit(ptr @.str20960) %t418 = load ptr, ptr %t392 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str20961) %t419 = load ptr, ptr %t392 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str20962) br label %ifend74 ifend74: br label %ifend71 ifend71: call void @fn_emit(ptr @.str20963) %t420 = load ptr, ptr %t392 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str20964) %t421 = load i32, ptr %t361 %t422 = add i32 %t421, 1 store i32 %t422, ptr %t361 br label %wcond64 wend66: call void @fn_emit(ptr @.str20965) call void @fn_emit(ptr @.str20966) %t423 = load ptr, ptr %t347 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str20967) %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 @.str20968) %t428 = load ptr, ptr %t32 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str20969) call void @fn_emit(ptr @.str20970) call void @fn_emit(ptr @.str20971) call void @fn_emit(ptr @.str20972) call void @fn_emit(ptr @.str20973) call void @fn_emit(ptr @.str20974) call void @fn_emit(ptr @.str20975) 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: %t443 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t443, ptr @.fmt_bounds, ptr @.str20976, 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: %t458 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t458, ptr @.fmt_bounds, ptr @.str20977, 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 @.str20978) %t467 = load ptr, ptr %t466 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str20979) %t468 = load ptr, ptr %t466 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str20980) call void @fn_emit(ptr @.str20981) %t469 = load ptr, ptr %t466 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str20982) %t470 = load ptr, ptr %t466 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str20983) %t471 = load ptr, ptr %t466 call void @fn_emit(ptr %t471) call void @fn_emit(ptr @.str20984) call void @fn_emit(ptr @.str20985) %t472 = load ptr, ptr %t466 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str20986) %t473 = load ptr, ptr %t463 store i32 8284, ptr @lp_site %t474 = call ptr @lp_str_concat(ptr @.str20987, 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 @.str20988) %t477 = load ptr, ptr %t466 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str20989) %t478 = load ptr, ptr %t476 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str20990) call void @fn_emit(ptr @.str20991) %t479 = load ptr, ptr %t466 call void @fn_emit(ptr %t479) call void @fn_emit(ptr @.str20992) %t480 = load ptr, ptr %t466 call void @fn_emit(ptr %t480) call void @fn_emit(ptr @.str20993) call void @fn_emit(ptr @.str20994) %t481 = load ptr, ptr %t466 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str20995) %t482 = load ptr, ptr %t466 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str20996) %t483 = load ptr, ptr %t466 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str20997) call void @fn_emit(ptr @.str20998) %t484 = load ptr, ptr %t466 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str20999) %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 @.str21000) %t489 = load ptr, ptr %t32 call void @fn_emit(ptr %t489) call void @fn_emit(ptr @.str21001) call void @fn_emit(ptr @.str21002) call void @fn_emit(ptr @.str21003) call void @fn_emit(ptr @.str21004) call void @fn_emit(ptr @.str21005) call void @fn_emit(ptr @.str21006) call void @fn_emit(ptr @.str21007) call void @fn_emit_site(ptr @.str21008) call void @fn_emit(ptr @.str21009) call void @fn_emit(ptr @.str21010) call void @fn_emit_site(ptr @.str21011) call void @fn_emit(ptr @.str21012) call void @fn_emit(ptr @.str21013) call void @fn_emit(ptr @.str21014) call void @fn_emit(ptr @.str21015) call void @fn_emit(ptr @.str21016) %t490 = load ptr, ptr %t32 call void @fn_emit(ptr %t490) call void @fn_emit(ptr @.str21017) call void @fn_emit(ptr @.str21018) call void @fn_emit(ptr @.str21019) call void @fn_emit(ptr @.str21020) %t491 = load ptr, ptr %t32 call void @fn_emit(ptr %t491) call void @fn_emit(ptr @.str21021) call void @fn_emit(ptr @.str21022) call void @fn_emit(ptr @.str21023) %t492 = load ptr, ptr %t32 call void @fn_emit(ptr %t492) call void @fn_emit(ptr @.str21024) call void @fn_emit(ptr @.str21025) call void @fn_emit(ptr @.str21026) %t493 = call ptr @fn_ecs_base(ptr @.str21027) store ptr %t493, ptr %t494 call void @fn_emit(ptr @.str21028) %t495 = load ptr, ptr %t494 call void @fn_emit(ptr %t495) call void @fn_emit(ptr @.str21029) call void @fn_emit(ptr @.str21030) call void @fn_emit(ptr @.str21031) 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: %t510 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t510, ptr @.fmt_bounds, ptr @.str21032, 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: %t525 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t525, ptr @.fmt_bounds, ptr @.str21033, 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 @.str21034) %t535 = load ptr, ptr %t534 call void @fn_emit(ptr %t535) call void @fn_emit(ptr @.str21035) %t536 = load ptr, ptr %t531 call void @fn_emit(ptr %t536) call void @fn_emit(ptr @.str21036) call void @fn_emit(ptr @.str21037) %t537 = load ptr, ptr %t534 call void @fn_emit(ptr %t537) call void @fn_emit(ptr @.str21038) %t538 = load ptr, ptr %t534 call void @fn_emit(ptr %t538) call void @fn_emit(ptr @.str21039) call void @fn_emit(ptr @.str21040) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str21041) %t540 = load ptr, ptr %t534 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str21042) %t541 = load ptr, ptr %t534 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str21043) call void @fn_emit(ptr @.str21044) %t542 = load ptr, ptr %t534 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str21045) %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: %t550 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t550, ptr @.fmt_bounds, ptr @.str21046, 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 @.str21047) call void @fn_emit(ptr @.str21048) %t557 = load ptr, ptr %t534 call void @fn_emit(ptr %t557) call void @fn_emit(ptr @.str21049) %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 @.str21050) 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: %t576 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t576, ptr @.fmt_bounds, ptr @.str21051, 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: %t591 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t591, ptr @.fmt_bounds, ptr @.str21052, 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 @.str21053, 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 @.str21054) %t611 = load ptr, ptr %t610 call void @fn_emit(ptr %t611) call void @fn_emit(ptr @.str21055) %t612 = load ptr, ptr %t601 store ptr %t612, ptr @g_code call void @fn_emit(ptr @.str21056) %t613 = load ptr, ptr %t596 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str21057) %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 @.str21058) 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 @.str21059) 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: %t634 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t634, ptr @.fmt_bounds, ptr @.str21060, 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: %t649 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t649, ptr @.fmt_bounds, ptr @.str21061, 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 @.str21062) %t658 = load ptr, ptr %t657 call void @fn_emit(ptr %t658) call void @fn_emit(ptr @.str21063) %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 @.str21064) call void @fn_emit(ptr @.str21065) %t662 = load ptr, ptr %t657 call void @fn_emit(ptr %t662) call void @fn_emit(ptr @.str21066) %t663 = load ptr, ptr %t657 call void @fn_emit(ptr %t663) call void @fn_emit(ptr @.str21067) %t664 = load ptr, ptr %t657 call void @fn_emit(ptr %t664) call void @fn_emit(ptr @.str21068) call void @fn_emit(ptr @.str21069) %t665 = load ptr, ptr %t657 call void @fn_emit(ptr %t665) call void @fn_emit(ptr @.str21070) %t666 = load ptr, ptr %t657 call void @fn_emit(ptr %t666) call void @fn_emit(ptr @.str21071) %t667 = load ptr, ptr %t654 call void @fn_emit(ptr %t667) call void @fn_emit(ptr @.str21072) %t668 = load ptr, ptr %t657 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str21073) call void @fn_emit(ptr @.str21074) %t669 = load ptr, ptr %t657 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str21075) %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 @.str21076) call void @fn_emit(ptr @.str21077) call void @fn_emit(ptr @.str21078) call void @fn_emit(ptr @.str21079) call void @fn_emit(ptr @.str21080) call void @fn_emit(ptr @.str21081) %t674 = call ptr @fn_ecs_base(ptr @.str21082) store ptr %t674, ptr %t675 call void @fn_emit(ptr @.str21083) %t676 = load ptr, ptr %t675 call void @fn_emit(ptr %t676) call void @fn_emit(ptr @.str21084) call void @fn_emit(ptr @.str21085) call void @fn_emit(ptr @.str21086) call void @fn_emit(ptr @.str21087) call void @fn_emit(ptr @.str21088) call void @fn_emit(ptr @.str21089) 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 @.str21090) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str21091) 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: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str21092, 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 @.str21093) call void @fn_emit(ptr @.str21094) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str21095) call void @fn_emit(ptr @.str21096) 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: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str21097, 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: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str21098, 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 @.str21099) %t76 = load ptr, ptr %t75 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str21100) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str21101) call void @fn_emit(ptr @.str21102) %t78 = load ptr, ptr %t75 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str21103) %t79 = load ptr, ptr %t75 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str21104) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str21105) call void @fn_emit(ptr @.str21106) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str21107) %t82 = load ptr, ptr %t72 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str21108) call void @fn_emit(ptr @.str21109) %t83 = load ptr, ptr %t75 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str21110) %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 @.str21111) %t88 = load ptr, ptr %t34 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str21112) call void @fn_emit(ptr @.str21113) call void @fn_emit(ptr @.str21114) call void @fn_emit(ptr @.str21115) %t89 = load ptr, ptr %t1 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str21116) call void @fn_emit(ptr @.str21117) 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: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str21118, 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: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str21119, 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 @.str21120) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str21121) %t127 = load ptr, ptr %t125 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str21122) call void @fn_emit(ptr @.str21123) %t128 = load ptr, ptr %t125 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str21124) %t129 = load ptr, ptr %t125 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str21125) %t130 = load ptr, ptr %t125 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str21126) call void @fn_emit(ptr @.str21127) %t131 = load ptr, ptr %t125 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str21128) %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 @.str21129) call void @fn_emit(ptr @.str21130) %t138 = load ptr, ptr %t125 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str21131) %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 @.str21132) %t143 = load ptr, ptr %t34 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str21133) call void @fn_emit(ptr @.str21134) call void @fn_emit(ptr @.str21135) call void @fn_emit(ptr @.str21136) call void @fn_emit(ptr @.str21137) 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: %t158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str21138, 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: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str21139, 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 @.str21140) %t180 = load ptr, ptr %t179 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str21141) %t181 = load ptr, ptr %t179 call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str21142) call void @fn_emit(ptr @.str21143) %t182 = load ptr, ptr %t179 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str21144) %t183 = load ptr, ptr %t179 call void @fn_emit(ptr %t183) call void @fn_emit(ptr @.str21145) %t184 = load ptr, ptr %t179 call void @fn_emit(ptr %t184) call void @fn_emit(ptr @.str21146) call void @fn_emit(ptr @.str21147) %t185 = load ptr, ptr %t179 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str21148) 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: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str21149, 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 8285, ptr @lp_site %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str21150) store i32 0, ptr @lp_site %t214 = load i32, ptr %t186 %t215 = call ptr @fn_itoa(i32 %t214) store i32 8286, 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 @.str21152) %t218 = load ptr, ptr %t217 call void @fn_emit(ptr %t218) call void @fn_emit(ptr @.str21153) %t219 = load i32, ptr %t186 %t220 = call ptr @fn_itoa(i32 %t219) call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str21154) call void @fn_emit(ptr @.str21155) %t221 = load ptr, ptr %t217 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str21156) %t222 = load ptr, ptr %t217 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str21157) %t223 = load ptr, ptr %t217 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str21158) call void @fn_emit(ptr @.str21159) %t224 = load ptr, ptr %t217 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str21160) %t225 = load ptr, ptr %t211 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str21161) call void @fn_emit(ptr @.str21162) %t226 = load ptr, ptr %t217 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str21163) %t227 = load i32, ptr %t186 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t186 br label %wcond38 wend40: call void @fn_emit(ptr @.str21164) %t229 = load ptr, ptr %t1 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str21165) call void @fn_emit(ptr @.str21166) %t230 = load ptr, ptr %t179 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str21167) %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 @.str21168) %t235 = load ptr, ptr %t1 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str21169) call void @fn_emit(ptr @.str21170) 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: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str21171, 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: %t265 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str21172, 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 @.str21173) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str21174) %t273 = load ptr, ptr %t271 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str21175) call void @fn_emit(ptr @.str21176) %t274 = load ptr, ptr %t271 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str21177) %t275 = load ptr, ptr %t271 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str21178) %t276 = load ptr, ptr %t271 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str21179) call void @fn_emit(ptr @.str21180) %t277 = load ptr, ptr %t271 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str21181) 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: %t297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str21182, 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 8287, ptr @lp_site %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str21183) store i32 0, ptr @lp_site %t306 = load i32, ptr %t278 %t307 = call ptr @fn_itoa(i32 %t306) store i32 8288, 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 @.str21184) %t310 = load ptr, ptr %t309 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str21185) %t311 = load i32, ptr %t278 %t312 = call ptr @fn_itoa(i32 %t311) call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str21186) call void @fn_emit(ptr @.str21187) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str21188) %t314 = load ptr, ptr %t309 call void @fn_emit(ptr %t314) call void @fn_emit(ptr @.str21189) %t315 = load ptr, ptr %t309 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str21190) call void @fn_emit(ptr @.str21191) %t316 = load ptr, ptr %t309 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str21192) %t317 = load ptr, ptr %t303 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str21193) call void @fn_emit(ptr @.str21194) %t318 = load ptr, ptr %t309 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str21195) %t319 = load i32, ptr %t278 %t320 = add i32 %t319, 1 store i32 %t320, ptr %t278 br label %wcond53 wend55: call void @fn_emit(ptr @.str21196) %t321 = load ptr, ptr %t3 call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str21197) call void @fn_emit(ptr @.str21198) %t322 = load ptr, ptr %t271 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str21199) %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 @.str21200) %t327 = load ptr, ptr %t3 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str21201) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str21202) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str21203) call void @fn_emit_calls_for_phase(ptr @.str21204) call void @fn_emit_calls_for_phase(ptr @.str21205) call void @fn_emit_calls_for_phase(ptr @.str21206) call void @fn_emit(ptr @.str21207) call void @fn_emit(ptr @.str21208) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str21209) call void @fn_emit_calls_for_phase(ptr @.str21210) call void @fn_emit(ptr @.str21211) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str21212, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str21213, 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 @.str21214) call void @fn_emit(ptr @.str21215) call void @fn_emit(ptr @.str21216) call void @fn_emit(ptr @.str21217) %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 @.str21218) br label %ifend2 ifend2: %t2 = call ptr @fn_find_fn(ptr @.str21219) %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 @.str21221) store i32 8289, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str21220, ptr %t6) store i32 0, ptr @lp_site store i32 8290, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str21223) 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 @.str21224) call void @fn_emit_calls_for_phase(ptr @.str21225) %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 @.str21226) %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 @.str21227) 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str21228, 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 @.str21229) %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: %t48 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t48, ptr @.fmt_bounds, ptr @.str21230, 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 @.str21231) 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 @.str21232) %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 @.str21233) br label %ifend21 ifend21: call void @fn_emit(ptr @.str21234) call void @fn_emit(ptr @.str21235) %t59 = call ptr @fn_emit_bind(ptr @.str21236) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 store i32 8291, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr @.str21237, ptr %t61) store i32 0, ptr @lp_site store i32 8292, ptr @lp_site %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str21238) 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 @.str21239) %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 @.str21241) store i32 8293, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr @.str21240, ptr %t70) store i32 0, ptr @lp_site store i32 8294, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str21242) 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 8295, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr @.str21243, ptr %t75) store i32 0, ptr @lp_site store i32 8296, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str21244) 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 8297, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr @.str21245, ptr %t80) store i32 0, ptr @lp_site store i32 8298, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str21246) store i32 0, ptr @lp_site call void @lp_free(ptr %t81) %t83 = load ptr, ptr %t79 store i32 8299, 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 @.str21247) %t87 = load ptr, ptr %t86 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str21248) br label %ifend24 else23: call void @fn_emit(ptr @.str21249) %t88 = load ptr, ptr %t65 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str21250) br label %ifend24 ifend24: call void @fn_emit(ptr @.str21251) %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 @.str21252) %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 @.str21254) store i32 8300, ptr @lp_site %t101 = call ptr @lp_str_concat(ptr @.str21253, ptr %t100) store i32 0, ptr @lp_site store i32 8301, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str21255) 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 @.str21256) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str21257) br label %ifend29 else28: %t106 = call ptr @fn_find_fn(ptr @.str21258) %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 @.str21260) store i32 8302, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str21259, ptr %t110) store i32 0, ptr @lp_site store i32 8303, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str21261) 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 @.str21262) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str21263) 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 @.str21264) %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 @.str21265) store ptr %t127, ptr %t128 %t129 = call ptr @fn_fn_sym(ptr @.str21267) store i32 8304, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr @.str21266, ptr %t129) store i32 0, ptr @lp_site store i32 8305, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str21268) 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 @.str21269) br label %ifend37 ifend37: call void @fn_emit_calls_for_phase(ptr @.str21270) call void @fn_emit_calls_for_phase(ptr @.str21271) call void @fn_emit_calls_for_phase(ptr @.str21272) call void @fn_emit_calls_for_phase(ptr @.str21273) %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 @.str21274) %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 @.str21276) store i32 8306, ptr @lp_site %t148 = call ptr @lp_str_concat(ptr @.str21275, ptr %t147) store i32 0, ptr @lp_site store i32 8307, ptr @lp_site %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str21277) 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 @.str21278) br label %ifend42 ifend42: call void @fn_emit_calls_for_phase(ptr @.str21279) call void @fn_emit_calls_for_phase(ptr @.str21280) %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 @.str21281) %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 @.str21283) store i32 8308, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str21282, ptr %t164) store i32 0, ptr @lp_site store i32 8309, ptr @lp_site %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str21284) 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 @.str21285) %t167 = call ptr @fn_emit_bind(ptr @.str21286) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t168 store i32 8310, ptr @lp_site %t170 = call ptr @lp_str_concat(ptr @.str21287, ptr %t169) store i32 0, ptr @lp_site store i32 8311, ptr @lp_site %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str21288) 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 @.str21289) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str21290) call void @fn_emit(ptr @.str21291) call void @fn_emit(ptr @.str21292) %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 @.str21293) br label %ifend50 ifend50: call void @fn_emit_calls_for_phase(ptr @.str21294) %t181 = call ptr @fn_find_event(ptr @.str21295) %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 @.str21296) br label %ifend53 ifend53: %t185 = call ptr @fn_find_fn(ptr @.str21297) %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 @.str21299) store i32 8312, ptr @lp_site %t190 = call ptr @lp_str_concat(ptr @.str21298, ptr %t189) store i32 0, ptr @lp_site store i32 8313, ptr @lp_site %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str21300) 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 @.str21301) 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str21302, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str21303, 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 8314, ptr @lp_site %t60 = call ptr @lp_str_concat(ptr @.str21304, 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 8315, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str21306, ptr %t53) store i32 0, ptr @lp_site store i32 8316, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str21308) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t20 store i32 8317, 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 @.str21309, 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 8318, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr @.str21310, 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 @.str21313) store i32 8319, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str21312, ptr %t19) store i32 0, ptr @lp_site store i32 8320, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str21314) 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 8321, 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 8322, ptr @lp_site %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str21315) 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: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str21316, 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 8323, 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 @.str21317) 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: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str21318, 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 8324, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr @.str21319, ptr %t96) store i32 0, ptr @lp_site store i32 8325, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str21320) store i32 0, ptr @lp_site call void @lp_free(ptr %t97) %t99 = load ptr, ptr %t95 store i32 8326, 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 @.str21321) store ptr %t103, ptr %t104 %t105 = call ptr @fn_lbl(ptr @.str21322) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str21323) %t107 = load ptr, ptr %t102 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str21324) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str21325) %t109 = load ptr, ptr %t106 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str21326) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str21327) 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 @.str21328) %t118 = load ptr, ptr %t68 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str21329) br label %ifend17 ifend17: %t119 = load ptr, ptr %t106 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str21330) 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 @.str21331) %t126 = load ptr, ptr %t68 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str21332) br label %ifend20 ifend20: %t127 = load ptr, ptr %t68 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str21333) 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: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str21334, 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: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str21335, 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: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str21336, 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 8327, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr @.str21337, ptr %t78) store i32 0, ptr @lp_site store i32 8328, ptr @lp_site %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str21339) store i32 0, ptr @lp_site call void @lp_free(ptr %t79) %t81 = load ptr, ptr %t73 store i32 8329, 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 8330, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str21340) 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 @.str21342) store i32 8331, ptr @lp_site %t90 = call ptr @lp_str_concat(ptr @.str21341, ptr %t89) store i32 0, ptr @lp_site store i32 8332, ptr @lp_site %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str21343) 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 @.str21344) %t95 = load ptr, ptr %t68 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str21345) 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 8333, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str21346, 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 @.str21347) %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 @.str21348) br label %ifend26 else25: call void @fn_emit(ptr @.str21349) br label %ifend26 ifend26: call void @fn_emit(ptr @.str21350) %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 @.str21351) call void @fn_emit(ptr @.str21352) %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 @.str21353) 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 @.str21354) %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 8334, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr @.str21355, 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 @.str21357) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str21358) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str21359) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str21360) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str21361) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str21362) %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 8335, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr @.str21363, ptr %t20) store i32 0, ptr @lp_site store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str21364) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str21365) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str21366) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str21367) %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 8336, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr @.str21368, ptr %t30) store i32 0, ptr @lp_site store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str21369) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str21370) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str21371) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str21372) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str21373) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str21374) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str21375) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str21376) br label %ifend8 else7: call void @fn_emit(ptr @.str21377) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str21378) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str21379) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str21380) br label %ifend8 ifend8: %t44 = load i32, ptr @g_g_iok %t45 = call ptr @fn_itoa(i32 %t44) store i32 8337, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr @.str21381, ptr %t45) store i32 0, ptr @lp_site store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str21382) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str21383) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str21384) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str21385) %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 @.str21386, ptr @g_g_off %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str21387) %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 @.str21388) %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 @.str21389) br label %ifend4 ifend4: %t16 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t16, ptr @.str21390, ptr @.str21391) call void @fn_emit(ptr @.str21392) %t17 = load i32, ptr %t11 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then5, label %ifend7 then5: call void @fn_emit(ptr @.str21393) br label %ifend7 ifend7: call void @fn_emit(ptr @.str21394) %t19 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t19, ptr @.str21395, ptr @.str21396) %t20 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t20, ptr @.str21397, ptr @.str21398) call void @fn_emit(ptr @.str21399) %t21 = load ptr, ptr %t0 %t22 = call ptr @fn_snap_base(ptr @.str21400, i32 0) call void @fn_emit_io(ptr %t21, ptr %t22, ptr @.str21401) %t23 = load ptr, ptr %t0 %t24 = call ptr @fn_snap_base(ptr @.str21402, i32 1) call void @fn_emit_io(ptr %t23, ptr %t24, ptr @.str21403) %t25 = load ptr, ptr %t0 %t26 = call ptr @fn_snap_base(ptr @.str21404, i32 2) call void @fn_emit_io(ptr %t25, ptr %t26, ptr @.str21405) %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 @.str21406, i32 3) call void @fn_emit_io(ptr %t29, ptr %t30, ptr @.str21407) 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str21408, 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: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str21410, 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 8338, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str21409, ptr %t66) store i32 0, ptr @lp_site call void @fn_emit_io(ptr %t54, ptr %t67, ptr @.str21412) 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str21413, 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: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str21414, 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 8339, ptr @lp_site %t108 = call ptr @lp_str_concat(ptr @.str21415, 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 8340, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr @.str21416, ptr %t111) store i32 0, ptr @lp_site store ptr %t112, ptr %t113 call void @fn_emit(ptr @.str21417) %t114 = load ptr, ptr %t109 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str21418) %t115 = load ptr, ptr %t105 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str21419) call void @fn_emit(ptr @.str21420) %t116 = load ptr, ptr %t113 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str21421) %t117 = load ptr, ptr %t109 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str21422) %t118 = load ptr, ptr %t0 %t119 = load ptr, ptr %t105 store i32 8341, ptr @lp_site %t120 = call ptr @lp_str_concat(ptr @.str21423, 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 8342, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr @.str21424, 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 @.str21425) %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 8343, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str21426, ptr %t3) store i32 0, ptr @lp_site store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 store i32 8344, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str21428, ptr %t6) store i32 0, ptr @lp_site store i32 8345, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str21429) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t0 store i32 8346, 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 8347, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str21430) 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 @.str21431, ptr @g_g_snap_mode call void @fn_emith(ptr @.str21432) call void @fn_emith(ptr @.str21433) call void @fn_emith(ptr @.str21434) %t0 = call ptr @fn_find_fn(ptr @.str21435) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str21436) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str21437) call void @fn_emit(ptr @.str21438) call void @fn_emit(ptr @.str21439) call void @fn_emit(ptr @.str21440) call void @fn_emit_snapshot_blocks(ptr @.str21441) %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 @.str21443) store i32 8348, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr @.str21442, ptr %t10) store i32 0, ptr @lp_site store i32 8349, ptr @lp_site %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str21445) 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 @.str21446) call void @fn_emit(ptr @.str21447) call void @fn_emit(ptr @.str21448) call void @fn_emit(ptr @.str21449) call void @fn_emit(ptr @.str21450) call void @fn_emit_snapshot_blocks(ptr @.str21451) %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 @.str21453) store i32 8350, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr @.str21452, ptr %t15) store i32 0, ptr @lp_site store i32 8351, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str21454) 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 @.str21455) call void @fn_emit(ptr @.str21456) store ptr @.str21457, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str21458) %t18 = load i32, ptr @g_g_iok %t19 = call ptr @fn_itoa(i32 %t18) store i32 8352, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str21459, ptr %t19) store i32 0, ptr @lp_site store ptr %t20, ptr %t21 call void @fn_emit(ptr @.str21460) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str21461) %t23 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str21462) call void @fn_emit(ptr @.str21463) %t24 = load ptr, ptr %t21 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str21464) call void @fn_emit(ptr @.str21465) store ptr @.str21466, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str21467) call void @fn_emit(ptr @.str21468) call void @fn_emit(ptr @.str21469) store ptr @.str21470, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str21471) %t25 = load i32, ptr @g_g_iok %t26 = call ptr @fn_itoa(i32 %t25) store i32 8353, ptr @lp_site %t27 = call ptr @lp_str_concat(ptr @.str21472, ptr %t26) store i32 0, ptr @lp_site store ptr %t27, ptr %t28 call void @fn_emit(ptr @.str21473) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str21474) %t30 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str21475) call void @fn_emit(ptr @.str21476) %t31 = load ptr, ptr %t28 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str21477) store ptr @.str21478, 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 @.str21479) %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 @.str21480) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str21481, ptr %retval br label %ret ifend2: store ptr @.str21482, 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: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str21483, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str21484, 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: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str21485, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str21486, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str21487, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str21488, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str21489, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str21490, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str21491, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str21492, 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 %t1 = load ptr, ptr @__stderrp store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 %t5 = call i64 @fwrite(ptr @.str21493, 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 @.str21494, 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str21495, 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: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str21496, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str21497, 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: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str21498, 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: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str21499, 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: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str21500, 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 @.str21501) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then33, label %ifend35 then33: %t128 = load ptr, ptr %t75 store i32 8354, ptr @lp_site %t129 = call ptr @lp_str_concat(ptr @.str21502, ptr %t128) store i32 0, ptr @lp_site store i32 8355, ptr @lp_site %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str21504) 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: %t140 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str21505, 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 8356, 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 8357, ptr @lp_site %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str21506) 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 8358, ptr @lp_site %t156 = call ptr @lp_str_concat(ptr @.str21507, ptr %t155) store i32 0, ptr @lp_site store i32 8359, ptr @lp_site %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str21508) store i32 0, ptr @lp_site call void @lp_free(ptr %t156) %t158 = load ptr, ptr %t75 store i32 8360, 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 8361, ptr @lp_site %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str21509) 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 @.str21510) %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 @.str21511) 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str21512, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str21513, 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 8362, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str21514, 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 @.str21516) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str21517) %t63 = load ptr, ptr %t48 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str21518) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str21519) 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str21520, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str21521, 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 @.str21522) %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str21523) %t111 = load ptr, ptr %t48 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str21524) %t112 = load ptr, ptr %t61 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str21525) %t113 = load i32, ptr %t65 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str21526) %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 call void @fn_emit(ptr @.str21527) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str21528) %t118 = load i32, ptr %t6 %t119 = call ptr @fn_itoa(i32 %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str21529) call void @fn_emit(ptr @.str21530) %t120 = load ptr, ptr %t116 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str21531) %t121 = load ptr, ptr %t109 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str21532) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str21533) %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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str21534, 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 @.str21535) %t144 = load i32, ptr %t6 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str21536) 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 @.str21537) %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 @.str21538) 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: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str21539, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str21540, 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 8363, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr @.str21541, 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 @.str21543) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str21544) %t63 = load ptr, ptr %t48 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str21545) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str21546) 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: %t84 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t84, ptr @.fmt_bounds, ptr @.str21547, 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: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str21548, 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 @.str21549) %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str21550) %t111 = load ptr, ptr %t48 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str21551) %t112 = load ptr, ptr %t61 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str21552) %t113 = load i32, ptr %t65 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str21553) %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 call void @fn_emit(ptr @.str21554) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str21555) %t118 = load i32, ptr %t6 %t119 = call ptr @fn_itoa(i32 %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str21556) call void @fn_emit(ptr @.str21557) %t120 = load ptr, ptr %t109 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str21558) %t121 = load ptr, ptr %t116 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str21559) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str21560) %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: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str21561, 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 @.str21562) 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 @.str21563) %t2 = call ptr @fn_ecs_base(ptr @.str21564) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str21565) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str21566) 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str21567, 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: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str21568, 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: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str21569, 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 @.str21570) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str21571) %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 @.str21572) call void @fn_emit(ptr @.str21573) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str21574) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str21575) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str21576) call void @fn_emit(ptr @.str21577) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str21578) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str21579) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str21580) %t72 = load ptr, ptr %t61 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str21581) call void @fn_emit(ptr @.str21582) %t73 = load ptr, ptr %t61 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str21583) %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 @.str21584) call void @fn_emit(ptr @.str21585) %t78 = call ptr @fn_ecs_base(ptr @.str21586) store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str21587) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str21588) 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: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str21589, 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: %t112 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t112, ptr @.fmt_bounds, ptr @.str21590, 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: %t127 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t127, ptr @.fmt_bounds, ptr @.str21591, 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 @.str21592) %t136 = load ptr, ptr %t135 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str21593) %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 @.str21594) call void @fn_emit(ptr @.str21595) %t140 = load ptr, ptr %t135 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str21596) %t141 = load ptr, ptr %t135 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str21597) %t142 = load ptr, ptr %t135 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str21598) call void @fn_emit(ptr @.str21599) %t143 = load ptr, ptr %t135 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str21600) %t144 = load ptr, ptr %t132 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str21601) call void @fn_emit(ptr @.str21602) %t145 = load ptr, ptr %t135 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str21603) %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 @.str21604) call void @fn_emit(ptr @.str21605) %t150 = call ptr @fn_ecs_base(ptr @.str21606) store ptr %t150, ptr %t151 call void @fn_emit(ptr @.str21607) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str21608) 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: %t168 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t168, ptr @.fmt_bounds, ptr @.str21609, 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: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str21610, 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: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str21611, 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 @.str21612) %t208 = load ptr, ptr %t207 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str21613) %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 @.str21614) call void @fn_emit(ptr @.str21615) %t212 = load ptr, ptr %t207 call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str21616) %t213 = load ptr, ptr %t207 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str21617) %t214 = load ptr, ptr %t207 call void @fn_emit(ptr %t214) call void @fn_emit(ptr @.str21618) call void @fn_emit(ptr @.str21619) %t215 = load ptr, ptr %t207 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str21620) %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: %t223 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str21621, 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 @.str21622) call void @fn_emit(ptr @.str21623) %t228 = load ptr, ptr %t207 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str21624) %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 @.str21625) 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 @.str21626) %t2 = call ptr @fn_ecs_base(ptr @.str21627) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str21628) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str21629) call void @fn_emit(ptr @.str21630) %t5 = call ptr @fn_ecs_base(ptr @.str21631) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str21632) %t7 = load ptr, ptr %t6 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str21633) call void @fn_emit(ptr @.str21634) %t8 = call ptr @fn_ecs_base(ptr @.str21635) store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str21636) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str21637) call void @fn_emit(ptr @.str21638) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str21639) call void @fn_emith(ptr @.str21640) call void @fn_emith(ptr @.str21641) call void @fn_emith(ptr @.str21642) call void @fn_emit(ptr @.str21643) call void @fn_emit(ptr @.str21644) call void @fn_emit(ptr @.str21645) call void @fn_emit(ptr @.str21646) call void @fn_emit(ptr @.str21647) call void @fn_emit(ptr @.str21648) call void @fn_emit(ptr @.str21649) call void @fn_emit(ptr @.str21650) call void @fn_emit(ptr @.str21651) call void @fn_emit(ptr @.str21652) call void @fn_emit(ptr @.str21653) call void @fn_emit(ptr @.str21654) call void @fn_emit(ptr @.str21655) call void @fn_emit(ptr @.str21656) call void @fn_emit(ptr @.str21657) call void @fn_emit(ptr @.str21658) call void @fn_emit(ptr @.str21659) call void @fn_emit(ptr @.str21660) call void @fn_emit(ptr @.str21661) call void @fn_emit(ptr @.str21662) call void @fn_emit(ptr @.str21663) call void @fn_emit(ptr @.str21664) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str21665, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str21666, 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 @.str21667) 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 @.str21668, 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 @.str21669) 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 @.str21670, 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 @.str21671) %t0 = call ptr @fn_find_extern(ptr @.str21672) %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 @.str21673) call void @fn_emit(ptr @.str21674) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str21675) call void @fn_emit(ptr @.str21676) call void @fn_emit(ptr @.str21677) 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: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str21678, 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 @.str21679) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str21680) %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 @.str21681) call void @fn_emit(ptr @.str21682) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str21683) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str21684) %t43 = load ptr, ptr %t34 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str21685) call void @fn_emit(ptr @.str21686) %t44 = load ptr, ptr %t34 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str21687) 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: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str21688, 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 8364, ptr @lp_site %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str21689) store i32 0, ptr @lp_site %t76 = load i32, ptr %t46 %t77 = call ptr @fn_itoa(i32 %t76) store i32 8365, 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 @.str21691) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str21692) %t81 = load i32, ptr %t45 %t82 = call ptr @fn_itoa(i32 %t81) call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str21693) call void @fn_emit(ptr @.str21694) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str21695) %t84 = load ptr, ptr %t73 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str21696) %t85 = load ptr, ptr %t79 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str21697) %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 @.str21698) 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 @.str21699) %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: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str21700, 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 @.str21701) %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 @.str21702) %t118 = load ptr, ptr %t48 %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str21703) call void @fn_emit(ptr @.str21704) call void @fn_emit(ptr @.str21705) %t120 = load ptr, ptr %t34 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str21706) 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 @.str21707) call void @fn_emit(ptr @.str21708) 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: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str21709, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str21710, 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: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str21711, 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: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str21712, 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 @.str21713) 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 @.str21714) %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 @.str21715) %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 @.str21716) %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 @.str21717) %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 @.str21718) %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 @.str21719) %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 @.str21720) %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: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str21721, 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: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str21722, 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: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str21723, 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 8366, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str21725, 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 8367, 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 8368, 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 8369, 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 @.str21726, 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 8370, 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 @.str21727, 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 8371, 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 @.str21728, 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 8372, 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 @.str21729, 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: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str21730, 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: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str21731, 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: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str21732, 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: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str21733, 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: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str21734, 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 8373, 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: %t258 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str21735, 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 8374, 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 8375, 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: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str21737, 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 8376, 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 8377, 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 8378, 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: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str21739, 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: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str21740, 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 8379, 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: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str21741, 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: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str21742, 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: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str21743, 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 8380, 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: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str21745, 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: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str21746, 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: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str21747, 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: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str21748, 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: %t99 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str21749, 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 @.str21750) 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 @.str21752) store i32 8381, ptr @lp_site %t4 = call ptr @lp_str_concat(ptr @.str21751, ptr %t3) store i32 0, ptr @lp_site store i32 8382, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str21754) 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 @.str21755) %t8 = load i32, ptr %t1 %t9 = call ptr @fn_itoa(i32 %t8) call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str21756) %t10 = load ptr, ptr %t2 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str21757) 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 @.str21758) %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 @.str21759) %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 @.str21760) %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 @.str21761) %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 @.str21762) %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 @.str21763) %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 @.str21764) %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 @.str21765) %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 @.str21766) %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 @.str21767) %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 @.str21768) %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 @.str21769) %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 @.str21770) %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 @.str21771) %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 @.str21773) store i32 8383, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str21772, ptr %t6) store i32 0, ptr @lp_site store i32 8384, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str21775) 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 @.str21776) 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: %t28 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str21777, 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: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str21778, 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 @.str21779) 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: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str21780, 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 @.str21781) %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 @.str21782) %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 @.str21783) %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 @.str21785) store i32 8385, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr @.str21784, ptr %t104) store i32 0, ptr @lp_site store i32 8386, ptr @lp_site %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str21786) 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 @.str21787) %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 @.str21788) br label %ifend22 else21: %t113 = load ptr, ptr %t80 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str21789) %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 @.str21790) %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 @.str21792) store i32 8387, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str21791, ptr %t126) store i32 0, ptr @lp_site store i32 8388, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str21793) 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 8389, 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 8390, ptr @lp_site %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str21794) 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 @.str21795) %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 @.str21796) %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 @.str21797) %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 @.str21798) %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 @.str21799) 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 @.str21800) %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 @.str21801) 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 @.str21802) 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: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str21803, 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 @.str21804) %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: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str21805, 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 @.str21806) %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 @.str21807) %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 @.str21808) 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: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str21809, 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 @.str21810) %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 @.str21811) %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 @.str21812) %t64 = load ptr, ptr %t56 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str21813) %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 @.str21814) 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 @.str21815) 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 @.str21816) %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 8391, ptr @lp_site %t111 = call ptr @lp_str_concat(ptr @.str21817, ptr %t110) store i32 0, ptr @lp_site store i32 8392, ptr @lp_site %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str21819) store i32 0, ptr @lp_site call void @lp_free(ptr %t111) %t113 = load ptr, ptr @g_ret_ty store i32 8393, 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 @.str21820) br label %ifend21 ifend21: call void @fn_emit(ptr @.str21821) %t119 = load i32, ptr %t85 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then22, label %ifend24 then22: call void @fn_emit(ptr @.str21822) 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 @.str21823) br label %ifend27 ifend27: %t123 = load ptr, ptr %t18 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str21824) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then28, label %else29 then28: call void @fn_emit(ptr @.str21825) br label %ifend30 else29: %t126 = load ptr, ptr %t18 store i32 8394, ptr @lp_site %t127 = call ptr @lp_str_concat(ptr @.str21826, ptr %t126) store i32 0, ptr @lp_site store i32 8395, ptr @lp_site %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str21827) 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 @.str21828) %t131 = load ptr, ptr %t18 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str21829) %t132 = load ptr, ptr %t130 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str21830) br label %ifend30 ifend30: %t133 = load ptr, ptr %t14 store ptr %t133, ptr @g_code call void @fn_emit(ptr @.str21831) %t134 = load ptr, ptr %t18 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str21832) %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 @.str21833) %t138 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t138) call void @fn_emit(ptr @.str21834) %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 @.str21835) store ptr @.str21836, 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 @.str21837) 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 @.str21838, 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 @.str21839) call void @fn_emit(ptr @.str21840) call void @fn_emit(ptr @.str21841) call void @fn_emit(ptr @.str21842) call void @fn_emit(ptr @.str21843) %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 @.str21844) br label %ifend2 ifend2: %t10 = call ptr @fn_find_fn(ptr @.str21845) %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 @.str21847) store i32 8396, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr @.str21846, ptr %t14) store i32 0, ptr @lp_site store i32 8397, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str21849) 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 @.str21850) %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 @.str21851) br label %ifend8 ifend8: call void @fn_emit(ptr @.str21852) %t24 = call ptr @fn_emit_bind(ptr @.str21853) store ptr %t24, ptr %t25 call void @fn_emit(ptr @.str21854) %t26 = load ptr, ptr %t25 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str21855) %t27 = load ptr, ptr %t5 store ptr %t27, ptr @g_code call void @fn_emit(ptr @.str21856) %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 @.str21857) 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 8398, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str21858, 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 @.str21860, 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 @.str21861) br label %ifend2 ifend2: call void @fn_emit(ptr @.str21862) %t19 = load ptr, ptr %t10 store ptr %t19, ptr @g_code call void @fn_emit(ptr @.str21863) %t20 = load i32, ptr %t1 %t21 = call ptr @fn_itoa(i32 %t20) call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str21864) %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 @.str21865) 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 %t167 = alloca ptr %t182 = alloca ptr %t196 = alloca ptr %t198 = alloca ptr %t200 = alloca ptr %t202 = alloca ptr %t204 = alloca ptr %t209 = alloca ptr %t228 = alloca ptr %t233 = alloca ptr %t246 = alloca ptr %t251 = alloca ptr %t264 = alloca ptr %t269 = alloca ptr %t271 = alloca ptr %t273 = alloca ptr %t275 = alloca ptr %t296 = alloca ptr %t301 = alloca ptr %t321 = alloca ptr %t323 = alloca ptr %t325 = alloca ptr %t327 = alloca ptr %t332 = alloca ptr %t337 = alloca ptr %t344 = alloca ptr %t362 = alloca ptr %t369 = alloca ptr %t380 = alloca ptr %t385 = alloca ptr call void @fn_emith(ptr @.str21866) call void @fn_emit_state_reset() call void @fn_emith(ptr @.str21867) call void @fn_emith(ptr @.str21868) 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: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str21869, 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 @.str21870) 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 @.str21871) 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 @.str21872) br label %ifend13 ifend13: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str21873) call void @fn_emit(ptr @.str21874) call void @fn_emit(ptr @.str21875) call void @fn_emit(ptr @.str21876) call void @fn_emit(ptr @.str21877) call void @fn_emit(ptr @.str21878) %t27 = call ptr @fn_lbl(ptr @.str21879) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str21880) store ptr %t29, ptr %t30 %t31 = call ptr @fn_emit_bind(ptr @.str21881) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 store i32 8399, ptr @lp_site %t34 = call ptr @lp_str_concat(ptr @.str21882, ptr %t33) store i32 0, ptr @lp_site store i32 8400, ptr @lp_site %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str21884) store i32 0, ptr @lp_site call void @lp_free(ptr %t34) %t36 = load ptr, ptr %t28 store i32 8401, 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 8402, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str21885) store i32 0, ptr @lp_site call void @lp_free(ptr %t37) %t39 = load ptr, ptr %t30 store i32 8403, 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 8404, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str21886) 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 8405, ptr @lp_site %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str21887) store i32 0, ptr @lp_site call void @fn_emit(ptr %t43) %t44 = call ptr @fn_emit_bind(ptr @.str21888) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 store i32 8406, ptr @lp_site %t47 = call ptr @lp_str_concat(ptr @.str21889, 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 8407, ptr @lp_site %t51 = call ptr @lp_str_concat(ptr @.str21890, ptr %t50) store i32 0, ptr @lp_site store i32 8408, ptr @lp_site %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str21891) 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 8409, ptr @lp_site %t54 = call ptr @lp_str_concat(ptr @.str21892, ptr %t53) store i32 0, ptr @lp_site store i32 8410, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str21893) 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 8411, ptr @lp_site %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str21894) store i32 0, ptr @lp_site call void @fn_emit(ptr %t57) %t58 = call ptr @fn_lbl(ptr @.str21895) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str21896) store ptr %t60, ptr %t61 %t62 = call ptr @fn_emit_bind(ptr @.str21897) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t63 store i32 8412, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr @.str21898, ptr %t64) store i32 0, ptr @lp_site store i32 8413, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str21899) 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 @.str21900) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t68 store i32 8414, ptr @lp_site %t72 = call ptr @lp_str_concat(ptr @.str21901, ptr %t71) store i32 0, ptr @lp_site store i32 8415, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str21902) store i32 0, ptr @lp_site call void @lp_free(ptr %t72) %t74 = load ptr, ptr %t70 store i32 8416, 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 8417, ptr @lp_site %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str21903) store i32 0, ptr @lp_site call void @lp_free(ptr %t75) %t77 = load ptr, ptr %t61 store i32 8418, 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 8419, ptr @lp_site %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str21904) 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 8420, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str21905) store i32 0, ptr @lp_site call void @fn_emit(ptr %t81) %t82 = call ptr @fn_emit_str_const(ptr @.str21906) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t63 store i32 8421, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr @.str21907, ptr %t84) store i32 0, ptr @lp_site store i32 8422, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str21908) store i32 0, ptr @lp_site call void @lp_free(ptr %t85) %t87 = load ptr, ptr %t83 store i32 8423, 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 8424, ptr @lp_site %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str21909) 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 8425, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str21910, ptr %t92) store i32 0, ptr @lp_site store i32 8426, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str21911) 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 8427, ptr @lp_site %t98 = call ptr @lp_str_concat(ptr @.str21912, ptr %t97) store i32 0, ptr @lp_site store i32 8428, ptr @lp_site %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str21913) store i32 0, ptr @lp_site call void @lp_free(ptr %t98) %t100 = load ptr, ptr %t59 store i32 8429, 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 8430, ptr @lp_site %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str21914) store i32 0, ptr @lp_site call void @lp_free(ptr %t101) %t103 = load ptr, ptr %t61 store i32 8431, 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 8432, ptr @lp_site %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str21915) 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 8433, ptr @lp_site %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str21916) 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: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str21917, 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 8434, ptr @lp_site %t131 = call ptr @lp_str_concat(ptr @.str21918, ptr %t130) store i32 0, ptr @lp_site store i32 8435, ptr @lp_site %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str21919) 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 @.str21920) %t135 = load ptr, ptr %t61 store i32 8436, ptr @lp_site %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str21921) store i32 0, ptr @lp_site call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str21922) %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 @.str21923) br label %ifend21 ifend21: %t139 = call ptr @fn_find_fn(ptr @.str21924) %t140 = icmp ne ptr %t139, null %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then22, label %ifend24 then22: %t143 = call ptr @fn_fn_sym(ptr @.str21926) store i32 8437, ptr @lp_site %t144 = call ptr @lp_str_concat(ptr @.str21925, ptr %t143) store i32 0, ptr @lp_site store i32 8438, ptr @lp_site %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str21927) store i32 0, ptr @lp_site call void @lp_free(ptr %t144) call void @fn_emit(ptr %t145) br label %ifend24 ifend24: call void @fn_emit(ptr @.str21928) store i32 0, ptr %t0 br label %wcond25 wcond25: %t146 = load i32, ptr %t0 %t147 = load ptr, ptr @g_g_tests %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 %wbody26, label %wend27 wbody26: %t153 = load ptr, ptr @g_g_tests %t154 = load i32, ptr %t0 %t155 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t158 = load i32, ptr %t157 %t159 = icmp ult i32 %t154, %t158 br i1 %t159, label %ixok28, label %ixbad29 ixbad29: %t160 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t160, ptr @.fmt_bounds, ptr @.str21930, i32 %t154, i32 %t158) call void @exit(i32 1) unreachable ixok28: %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 store i32 8439, ptr @lp_site %t165 = call ptr @lp_str_concat(ptr @.str21929, ptr %t164) store i32 0, ptr @lp_site %t166 = call ptr @fn_emit_str_const(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr @g_g_tests %t169 = load i32, ptr %t0 %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 %ixok30, label %ixbad31 ixbad31: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str21932, i32 %t169, i32 %t173) call void @exit(i32 1) unreachable ixok30: %t176 = getelementptr inbounds ptr, ptr %t171, i32 %t169 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 store i32 8440, ptr @lp_site %t180 = call ptr @lp_str_concat(ptr @.str21931, ptr %t179) store i32 0, ptr @lp_site %t181 = call ptr @fn_emit_str_const(ptr %t180) store ptr %t181, ptr %t182 %t183 = load ptr, ptr @g_g_tests %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 %ixok32, label %ixbad33 ixbad33: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str21933, i32 %t184, i32 %t188) call void @exit(i32 1) unreachable ixok32: %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 %t195 = call ptr @fn_emit_str_const(ptr %t194) store ptr %t195, ptr %t196 %t197 = call ptr @fn_lbl(ptr @.str21934) store ptr %t197, ptr %t198 %t199 = call ptr @fn_lbl(ptr @.str21935) store ptr %t199, ptr %t200 %t201 = call ptr @fn_lbl(ptr @.str21936) store ptr %t201, ptr %t202 %t203 = call ptr @fn_emit_bind(ptr @.str21937) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t204 store i32 8441, ptr @lp_site %t206 = call ptr @lp_str_concat(ptr @.str21938, ptr %t205) store i32 0, ptr @lp_site store i32 8442, ptr @lp_site %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str21939) store i32 0, ptr @lp_site call void @lp_free(ptr %t206) %t208 = call ptr @fn_emit_bind(ptr %t207) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 store i32 8443, ptr @lp_site %t211 = call ptr @lp_str_concat(ptr @.str21940, ptr %t210) store i32 0, ptr @lp_site store i32 8444, ptr @lp_site %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str21941) store i32 0, ptr @lp_site call void @lp_free(ptr %t211) %t213 = load ptr, ptr %t200 store i32 8445, 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 8446, ptr @lp_site %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str21942) store i32 0, ptr @lp_site call void @lp_free(ptr %t214) %t216 = load ptr, ptr %t198 store i32 8447, 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 8448, ptr @lp_site %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str21943) store i32 0, ptr @lp_site call void @lp_free(ptr %t217) call void @fn_emit(ptr %t218) %t219 = load ptr, ptr %t198 store i32 8449, ptr @lp_site %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str21944) store i32 0, ptr @lp_site call void @fn_emit(ptr %t220) %t221 = load ptr, ptr %t204 store i32 8450, ptr @lp_site %t222 = call ptr @lp_str_concat(ptr @.str21945, ptr %t221) store i32 0, ptr @lp_site store i32 8451, ptr @lp_site %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str21946) store i32 0, ptr @lp_site call void @lp_free(ptr %t222) %t224 = load ptr, ptr %t196 store i32 8452, 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) store i32 8453, ptr @lp_site %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str21947) 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 8454, ptr @lp_site %t230 = call ptr @lp_str_concat(ptr @.str21948, ptr %t229) store i32 0, ptr @lp_site store i32 8455, ptr @lp_site %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str21949) store i32 0, ptr @lp_site call void @lp_free(ptr %t230) %t232 = call ptr @fn_emit_bind(ptr %t231) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t233 store i32 8456, ptr @lp_site %t235 = call ptr @lp_str_concat(ptr @.str21950, ptr %t234) store i32 0, ptr @lp_site store i32 8457, ptr @lp_site %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str21951) store i32 0, ptr @lp_site call void @lp_free(ptr %t235) %t237 = load ptr, ptr %t200 store i32 8458, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t236, ptr %t237) store i32 0, ptr @lp_site call void @lp_free(ptr %t236) store i32 8459, ptr @lp_site %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str21952) store i32 0, ptr @lp_site call void @lp_free(ptr %t238) %t240 = load ptr, ptr %t202 store i32 8460, ptr @lp_site %t241 = call ptr @lp_str_concat(ptr %t239, ptr %t240) store i32 0, ptr @lp_site call void @lp_free(ptr %t239) store i32 8461, ptr @lp_site %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str21953) store i32 0, ptr @lp_site call void @lp_free(ptr %t241) call void @fn_emit(ptr %t242) %t243 = load ptr, ptr %t200 store i32 8462, ptr @lp_site %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str21954) store i32 0, ptr @lp_site call void @fn_emit(ptr %t244) %t245 = call ptr @fn_emit_bind(ptr @.str21955) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t246 store i32 8463, ptr @lp_site %t248 = call ptr @lp_str_concat(ptr @.str21956, ptr %t247) store i32 0, ptr @lp_site store i32 8464, ptr @lp_site %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str21957) store i32 0, ptr @lp_site call void @lp_free(ptr %t248) %t250 = call ptr @fn_emit_bind(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t251 store i32 8465, ptr @lp_site %t253 = call ptr @lp_str_concat(ptr @.str21958, ptr %t252) store i32 0, ptr @lp_site store i32 8466, ptr @lp_site %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str21959) store i32 0, ptr @lp_site call void @lp_free(ptr %t253) call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str21960) %t255 = load i32, ptr %t0 %t256 = icmp sgt i32 %t255, 0 %t257 = zext i1 %t256 to i32 %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then34, label %ifend36 then34: call void @fn_emit(ptr @.str21961) call void @fn_emit(ptr @.str21962) br label %ifend36 ifend36: %t259 = load i32, ptr %t0 %t260 = call ptr @fn_itoa(i32 %t259) store i32 8467, ptr @lp_site %t261 = call ptr @lp_str_concat(ptr @.str21963, ptr %t260) store i32 0, ptr @lp_site store i32 8468, ptr @lp_site %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str21964) store i32 0, ptr @lp_site call void @lp_free(ptr %t261) call void @fn_emit(ptr %t262) %t263 = call ptr @fn_emit_bind(ptr @.str21965) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t264 store i32 8469, ptr @lp_site %t266 = call ptr @lp_str_concat(ptr @.str21966, ptr %t265) store i32 0, ptr @lp_site store i32 8470, ptr @lp_site %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str21967) store i32 0, ptr @lp_site call void @lp_free(ptr %t266) %t268 = call ptr @fn_emit_bind(ptr %t267) store ptr %t268, ptr %t269 %t270 = call ptr @fn_lbl(ptr @.str21968) store ptr %t270, ptr %t271 %t272 = call ptr @fn_lbl(ptr @.str21969) store ptr %t272, ptr %t273 %t274 = call ptr @fn_lbl(ptr @.str21970) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t269 store i32 8471, ptr @lp_site %t277 = call ptr @lp_str_concat(ptr @.str21971, ptr %t276) store i32 0, ptr @lp_site store i32 8472, ptr @lp_site %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str21972) store i32 0, ptr @lp_site call void @lp_free(ptr %t277) %t279 = load ptr, ptr %t273 store i32 8473, 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 8474, ptr @lp_site %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str21973) store i32 0, ptr @lp_site call void @lp_free(ptr %t280) %t282 = load ptr, ptr %t271 store i32 8475, 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) store i32 8476, ptr @lp_site %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str21974) store i32 0, ptr @lp_site call void @lp_free(ptr %t283) call void @fn_emit(ptr %t284) %t285 = load ptr, ptr %t271 store i32 8477, ptr @lp_site %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str21975) store i32 0, ptr @lp_site call void @fn_emit(ptr %t286) %t287 = load ptr, ptr %t167 store i32 8478, ptr @lp_site %t288 = call ptr @lp_str_concat(ptr @.str21976, ptr %t287) store i32 0, ptr @lp_site store i32 8479, ptr @lp_site %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str21977) store i32 0, ptr @lp_site call void @lp_free(ptr %t288) call void @fn_emit(ptr %t289) %t290 = load ptr, ptr %t275 store i32 8480, ptr @lp_site %t291 = call ptr @lp_str_concat(ptr @.str21978, ptr %t290) store i32 0, ptr @lp_site store i32 8481, ptr @lp_site %t292 = call ptr @lp_str_concat(ptr %t291, ptr @.str21979) store i32 0, ptr @lp_site call void @lp_free(ptr %t291) call void @fn_emit(ptr %t292) %t293 = load ptr, ptr %t273 store i32 8482, ptr @lp_site %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str21980) store i32 0, ptr @lp_site call void @fn_emit(ptr %t294) %t295 = call ptr @fn_emit_bind(ptr @.str21981) store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t296 store i32 8483, ptr @lp_site %t298 = call ptr @lp_str_concat(ptr @.str21982, ptr %t297) store i32 0, ptr @lp_site store i32 8484, ptr @lp_site %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str21983) store i32 0, ptr @lp_site call void @lp_free(ptr %t298) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t301 store i32 8485, ptr @lp_site %t303 = call ptr @lp_str_concat(ptr @.str21984, ptr %t302) store i32 0, ptr @lp_site store i32 8486, ptr @lp_site %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str21985) store i32 0, ptr @lp_site call void @lp_free(ptr %t303) call void @fn_emit(ptr %t304) %t305 = load ptr, ptr %t182 store i32 8487, ptr @lp_site %t306 = call ptr @lp_str_concat(ptr @.str21986, ptr %t305) store i32 0, ptr @lp_site store i32 8488, ptr @lp_site %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str21987) store i32 0, ptr @lp_site call void @lp_free(ptr %t306) call void @fn_emit(ptr %t307) %t308 = load ptr, ptr %t275 store i32 8489, ptr @lp_site %t309 = call ptr @lp_str_concat(ptr @.str21988, ptr %t308) store i32 0, ptr @lp_site store i32 8490, ptr @lp_site %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str21989) store i32 0, ptr @lp_site call void @lp_free(ptr %t309) call void @fn_emit(ptr %t310) %t311 = load ptr, ptr %t275 store i32 8491, ptr @lp_site %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str21990) store i32 0, ptr @lp_site call void @fn_emit(ptr %t312) %t313 = load ptr, ptr %t202 store i32 8492, ptr @lp_site %t314 = call ptr @lp_str_concat(ptr @.str21991, ptr %t313) store i32 0, ptr @lp_site store i32 8493, ptr @lp_site %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str21992) store i32 0, ptr @lp_site call void @lp_free(ptr %t314) call void @fn_emit(ptr %t315) %t316 = load ptr, ptr %t202 store i32 8494, ptr @lp_site %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str21993) store i32 0, ptr @lp_site call void @fn_emit(ptr %t317) %t318 = load i32, ptr %t0 %t319 = add i32 %t318, 1 store i32 %t319, ptr %t0 br label %wcond25 wend27: %t320 = call ptr @fn_lbl(ptr @.str21994) store ptr %t320, ptr %t321 %t322 = call ptr @fn_lbl(ptr @.str21995) store ptr %t322, ptr %t323 %t324 = call ptr @fn_emit_bind(ptr @.str21996) store ptr %t324, ptr %t325 %t326 = call ptr @fn_emit_bind(ptr @.str21997) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 store i32 8495, ptr @lp_site %t329 = call ptr @lp_str_concat(ptr @.str21998, ptr %t328) store i32 0, ptr @lp_site store i32 8496, ptr @lp_site %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str21999) 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 %t325 store i32 8497, ptr @lp_site %t334 = call ptr @lp_str_concat(ptr @.str22000, ptr %t333) store i32 0, ptr @lp_site store i32 8498, ptr @lp_site %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str22001) store i32 0, ptr @lp_site call void @lp_free(ptr %t334) %t336 = call ptr @fn_emit_bind(ptr %t335) store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t332 store i32 8499, ptr @lp_site %t339 = call ptr @lp_str_concat(ptr @.str22002, ptr %t338) store i32 0, ptr @lp_site store i32 8500, ptr @lp_site %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str22003) store i32 0, ptr @lp_site call void @lp_free(ptr %t339) %t341 = load ptr, ptr %t337 store i32 8501, ptr @lp_site %t342 = call ptr @lp_str_concat(ptr %t340, ptr %t341) store i32 0, ptr @lp_site call void @lp_free(ptr %t340) %t343 = call ptr @fn_emit_bind(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t344 store i32 8502, ptr @lp_site %t346 = call ptr @lp_str_concat(ptr @.str22004, ptr %t345) store i32 0, ptr @lp_site store i32 8503, ptr @lp_site %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str22005) store i32 0, ptr @lp_site call void @lp_free(ptr %t346) %t348 = load ptr, ptr %t321 store i32 8504, 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) store i32 8505, ptr @lp_site %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str22006) store i32 0, ptr @lp_site call void @lp_free(ptr %t349) %t351 = load ptr, ptr %t323 store i32 8506, ptr @lp_site %t352 = call ptr @lp_str_concat(ptr %t350, ptr %t351) store i32 0, ptr @lp_site call void @lp_free(ptr %t350) store i32 8507, ptr @lp_site %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str22007) store i32 0, ptr @lp_site call void @lp_free(ptr %t352) call void @fn_emit(ptr %t353) %t354 = load ptr, ptr %t321 store i32 8508, ptr @lp_site %t355 = call ptr @lp_str_concat(ptr %t354, ptr @.str22008) store i32 0, ptr @lp_site call void @fn_emit(ptr %t355) %t356 = load ptr, ptr %t327 store i32 8509, ptr @lp_site %t357 = call ptr @lp_str_concat(ptr @.str22009, ptr %t356) store i32 0, ptr @lp_site store i32 8510, ptr @lp_site %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str22010) store i32 0, ptr @lp_site call void @lp_free(ptr %t357) call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str22011) %t359 = load ptr, ptr %t323 store i32 8511, ptr @lp_site %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str22012) store i32 0, ptr @lp_site call void @fn_emit(ptr %t360) %t361 = call ptr @fn_emit_bind(ptr @.str22013) store ptr %t361, ptr %t362 %t363 = load ptr, ptr %t325 store i32 8512, ptr @lp_site %t364 = call ptr @lp_str_concat(ptr @.str22014, ptr %t363) store i32 0, ptr @lp_site store i32 8513, ptr @lp_site %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str22015) store i32 0, ptr @lp_site call void @lp_free(ptr %t364) %t366 = load ptr, ptr %t362 store i32 8514, ptr @lp_site %t367 = call ptr @lp_str_concat(ptr %t365, ptr %t366) store i32 0, ptr @lp_site call void @lp_free(ptr %t365) %t368 = call ptr @fn_emit_bind(ptr %t367) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t369 store i32 8515, ptr @lp_site %t371 = call ptr @lp_str_concat(ptr @.str22016, ptr %t370) store i32 0, ptr @lp_site store i32 8516, ptr @lp_site %t372 = call ptr @lp_str_concat(ptr %t371, ptr @.str22017) store i32 0, ptr @lp_site call void @lp_free(ptr %t371) %t373 = load ptr, ptr %t362 store i32 8517, ptr @lp_site %t374 = call ptr @lp_str_concat(ptr %t372, ptr %t373) store i32 0, ptr @lp_site call void @lp_free(ptr %t372) store i32 8518, ptr @lp_site %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str22018) store i32 0, ptr @lp_site call void @lp_free(ptr %t374) call void @fn_emit(ptr %t375) %t376 = load ptr, ptr %t362 store i32 8519, ptr @lp_site %t377 = call ptr @lp_str_concat(ptr @.str22019, ptr %t376) store i32 0, ptr @lp_site store i32 8520, ptr @lp_site %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str22020) 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 8521, ptr @lp_site %t382 = call ptr @lp_str_concat(ptr @.str22021, ptr %t381) store i32 0, ptr @lp_site store i32 8522, ptr @lp_site %t383 = call ptr @lp_str_concat(ptr %t382, ptr @.str22022) store i32 0, ptr @lp_site call void @lp_free(ptr %t382) %t384 = call ptr @fn_emit_bind(ptr %t383) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t385 store i32 8523, ptr @lp_site %t387 = call ptr @lp_str_concat(ptr @.str22023, ptr %t386) store i32 0, ptr @lp_site store i32 8524, ptr @lp_site %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str22024) store i32 0, ptr @lp_site call void @lp_free(ptr %t387) call void @fn_emit(ptr %t388) 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 8525, 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 8526, 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: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str22026, 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 8527, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str22027, ptr %t60) store i32 0, ptr @lp_site store i32 8528, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str22028) 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 8529, 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 8530, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str22029) 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 8531, 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 8532, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str22030) 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 @.str22031) %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 @.str22032) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: store ptr @.str22033, 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 @.str22034) %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 @.str22035) %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 @.str22036, ptr %retval br label %ret ifend10: %t38 = load ptr, ptr %t6 store i32 8533, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr @.str22037, ptr %t38) store i32 0, ptr @lp_site store i32 8534, ptr @lp_site %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str22039) 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 8535, 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 8536, 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: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str22041, 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 8537, ptr @lp_site %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str22042) 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 8538, 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 8539, ptr @lp_site %t82 = call ptr @lp_str_concat(ptr @.str22043, ptr %t81) store i32 0, ptr @lp_site store i32 8540, ptr @lp_site %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str22044) 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 8541, 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 8542, ptr @lp_site %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str22045) 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 8543, 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 8544, ptr @lp_site %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str22046) 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 8545, 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 8546, 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 8547, 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 8548, 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 8549, 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 8550, 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 8551, 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 8552, 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 8553, 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 8554, 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 8555, 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 8556, 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: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str22049, 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: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str22050, 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: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str22051, 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: %t169 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str22052, 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: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str22053, 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: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str22054, 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 @.str22055) 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 @.str22056) 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 @.str22057) store i32 1, ptr @g_g_fprintf_declared br label %ifend143 ifend143: call void @fn_emith(ptr @.str22058) 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 @.str22059) store i32 1, ptr @g_g_fprintf_declared br label %ifend149 ifend149: call void @fn_emith(ptr @.str22060) 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 @.str22061) 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 @.str22062) 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 @.str22063) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str22064) 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 @.str22065) br label %ifend11 ifend11: call void @fn_emith(ptr @.str22066) %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: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str22067, 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 @.str22068) call void @fn_emith(ptr @.str22069) %t39 = load ptr, ptr %t14 call void @fn_emith(ptr %t39) call void @fn_emith(ptr @.str22070) %t40 = load ptr, ptr %t14 store i32 8557, ptr @lp_site %t41 = call ptr @lp_str_concat(ptr @.str22071, ptr %t40) store i32 0, ptr @lp_site store i32 8558, ptr @lp_site %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str22073) 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 @.str22074) store ptr %t46, ptr %t47 %t48 = call ptr @fn_emit_str_const(ptr @.str22075) store ptr %t48, ptr %t49 %t50 = call ptr @fn_emit_str_const(ptr @.str22076) store ptr %t50, ptr %t51 call void @fn_emith(ptr @.str22077) call void @fn_emith(ptr @.str22078) %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 @.str22079) 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 @.str22080) store i32 1, ptr @g_g_atexit_declared br label %ifend19 ifend19: call void @fn_emit(ptr @.str22081) %t60 = load ptr, ptr %t47 store i32 8559, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr @.str22082, ptr %t60) store i32 0, ptr @lp_site store i32 8560, ptr @lp_site %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str22083) store i32 0, ptr @lp_site call void @lp_free(ptr %t61) call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str22084) %t63 = load ptr, ptr %t49 store i32 8561, ptr @lp_site %t64 = call ptr @lp_str_concat(ptr @.str22085, ptr %t63) store i32 0, ptr @lp_site store i32 8562, ptr @lp_site %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str22086) 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 8563, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr @.str22087, ptr %t66) store i32 0, ptr @lp_site store i32 8564, ptr @lp_site %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str22088) store i32 0, ptr @lp_site call void @lp_free(ptr %t67) call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str22089) call void @fn_emit(ptr @.str22090) call void @fn_emit(ptr @.str22091) %t69 = load ptr, ptr %t45 store i32 8565, ptr @lp_site %t70 = call ptr @lp_str_concat(ptr @.str22092, ptr %t69) store i32 0, ptr @lp_site store i32 8566, ptr @lp_site %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str22093) store i32 0, ptr @lp_site call void @lp_free(ptr %t70) call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str22094) call void @fn_emit(ptr @.str22095) call void @fn_emit(ptr @.str22096) %t72 = load ptr, ptr %t14 store i32 8567, ptr @lp_site %t73 = call ptr @lp_str_concat(ptr @.str22097, ptr %t72) store i32 0, ptr @lp_site store i32 8568, ptr @lp_site %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str22098) store i32 0, ptr @lp_site call void @lp_free(ptr %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str22099) call void @fn_emit(ptr @.str22100) call void @fn_emit(ptr @.str22101) %t75 = load ptr, ptr %t14 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str22102) call void @fn_emit(ptr @.str22103) call void @fn_emit(ptr @.str22104) %t76 = load ptr, ptr %t14 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str22105) call void @fn_emit(ptr @.str22106) call void @fn_emit(ptr @.str22107) call void @fn_emit(ptr @.str22108) call void @fn_emit(ptr @.str22109) call void @fn_emit(ptr @.str22110) call void @fn_emit(ptr @.str22111) call void @fn_emit(ptr @.str22112) call void @fn_emit(ptr @.str22113) call void @fn_emit(ptr @.str22114) call void @fn_emit(ptr @.str22115) call void @fn_emit(ptr @.str22116) call void @fn_emith(ptr @.str22117) 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 8569, 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: %t13 = load ptr, ptr @__stdoutp 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 8570, ptr @lp_site %t32 = call ptr @lp_pak_open(ptr %t31, ptr @.str22119) 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 8571, ptr @lp_site %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str22120) 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 @.str22122, ptr @.str22123) %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str22124) %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 @.str22125, ptr @.str22126) store ptr %t5, ptr %t6 %t8 = load ptr, ptr %t6 store i32 8572, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str22127) 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 8573, ptr @lp_site %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str22129) 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 @.str22130) 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 8574, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str22131) store i32 0, ptr @lp_site store ptr %t10, ptr %t11 store ptr @.str22133, ptr %t12 %t13 = load ptr, ptr %t12 store i32 8575, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str22134, ptr %t13) store i32 0, ptr @lp_site store i32 8576, ptr @lp_site %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str22135) store i32 0, ptr @lp_site call void @lp_free(ptr %t14) %t16 = load ptr, ptr %t11 store i32 8577, 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 8578, ptr @lp_site %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str22136) 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 8579, ptr @lp_site %t21 = call ptr @lp_pak_open(ptr %t20, ptr @.str22137) 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 8580, 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 8581, ptr @lp_site %t38 = call ptr @lp_str_concat(ptr @.str22138, ptr %t37) store i32 0, ptr @lp_site store i32 8582, ptr @lp_site %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str22139) 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 8583, ptr @lp_site %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str22140) store i32 0, ptr @lp_site store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t4 store i32 8584, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr @.str22142, ptr %t19) store i32 0, ptr @lp_site store i32 8585, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str22143) store i32 0, ptr @lp_site call void @lp_free(ptr %t20) %t22 = load i32, ptr %t11 store i32 8586, ptr @lp_site %t23 = call ptr @lp_int_str(i32 %t22) store i32 0, ptr @lp_site store i32 8587, 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 8588, ptr @lp_site %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str22144) store i32 0, ptr @lp_site call void @lp_free(ptr %t24) %t26 = load ptr, ptr %t18 store i32 8589, 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 8590, ptr @lp_site %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str22145) store i32 0, ptr @lp_site call void @lp_free(ptr %t27) %t29 = load ptr, ptr %t0 store i32 8591, 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 8592, ptr @lp_site %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str22146) 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 @.str22147, 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 8593, ptr @lp_site %t45 = call ptr @lp_str_concat(ptr @.str22148, ptr %t44) store i32 0, ptr @lp_site store i32 8594, ptr @lp_site %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str22149) store i32 0, ptr @lp_site call void @lp_free(ptr %t45) %t47 = load ptr, ptr %t2 store i32 8595, 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 8596, ptr @lp_site %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str22150) store i32 0, ptr @lp_site call void @lp_free(ptr %t48) %t50 = load ptr, ptr %t18 store i32 8597, 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 8598, 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 8599, ptr @lp_site %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str22151) store i32 0, ptr @lp_site call void @lp_free(ptr %t54) %t56 = load ptr, ptr %t18 store i32 8600, 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 8601, 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 8602, ptr @lp_site %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str22152) store i32 0, ptr @lp_site call void @lp_free(ptr %t60) store i32 8603, 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 8604, ptr @lp_site %t66 = call ptr @lp_str_concat(ptr @.str22153, ptr %t65) store i32 0, ptr @lp_site store i32 8605, ptr @lp_site %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str22154) store i32 0, ptr @lp_site call void @lp_free(ptr %t66) %t68 = call i32 @system(ptr %t67) store ptr @.str22155, 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 8606, ptr @lp_site %t77 = call ptr @lp_str_concat(ptr @.str22156, ptr %t76) store i32 0, ptr @lp_site %t78 = load i32, ptr %t37 %t79 = call ptr @fn_itoa(i32 %t78) store i32 8607, 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 8608, ptr @lp_site %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str22157) 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 8609, ptr @lp_site %t85 = call ptr @lp_str_concat(ptr %t82, ptr %t84) store i32 0, ptr @lp_site store i32 8610, ptr @lp_site %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str22158) 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 8611, ptr @lp_site %t93 = call ptr @lp_str_concat(ptr @.str22159, ptr %t92) store i32 0, ptr @lp_site %t94 = load i32, ptr %t37 %t95 = call ptr @fn_itoa(i32 %t94) store i32 8612, 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 8613, ptr @lp_site %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str22160) store i32 0, ptr @lp_site call void @lp_free(ptr %t96) store i32 8614, 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 8615, ptr @lp_site %t2 = call ptr @lp_str_concat(ptr @.str22161, ptr %t1) store i32 0, ptr @lp_site store i32 8616, ptr @lp_site %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str22163) 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 8617, 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 8618, 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 @.str22166) 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 8619, 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 8620, ptr @lp_site %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str22167) 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 @.str22169, i32 0, i32 0, ptr @.str22170, ptr %t3) call void @fn_diag_exit(i32 1) br label %ifend2 ifend2: %t4 = load ptr, ptr @__stderrp %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 8621, 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 8622, 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 8623, 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 8624, ptr @lp_site %t7 = call ptr @lp_str_concat(ptr @.str22174, ptr %t6) store i32 0, ptr @lp_site store i32 8625, ptr @lp_site %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str22176) store i32 0, ptr @lp_site call void @lp_free(ptr %t7) %t9 = load ptr, ptr %t5 store i32 8626, 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 8627, ptr @lp_site %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str22177) 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 8628, ptr @lp_site %t14 = call ptr @lp_str_concat(ptr @.str22178, 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 8629, ptr @lp_site %t5 = call ptr @lp_str_concat(ptr @.str22179, ptr %t4) store i32 0, ptr @lp_site store i32 8630, ptr @lp_site %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str22181) 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 8631, ptr @lp_site %t9 = call ptr @lp_str_concat(ptr @.str22182, 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 @.str22183) 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 @.str22184, ptr %t9 %t10 = load ptr, ptr %t9 store i32 8632, ptr @lp_site %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str22185) 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 8633, ptr @lp_site %t19 = call ptr @lp_str_concat(ptr @.str22187, ptr %t18) store i32 0, ptr @lp_site store i32 8634, ptr @lp_site %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str22188) 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 @.str22189, 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 @.str22190) %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 @.str22191) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) store i32 8635, ptr @lp_site %t10 = call ptr @lp_str_concat(ptr @.str22192, 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 8636, 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 8637, 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 8638, 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 8639, 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 8640, 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 @.str22195, ptr @g_g_parse_file %t30 = getelementptr %LSlice, ptr null, i32 1 %t31 = ptrtoint ptr %t30 to i64 store i32 8641, 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 8642, 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 8643, 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 8644, 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 8645, 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 @.str22196, ptr @g_g_err_file %t65 = getelementptr %LSlice, ptr null, i32 1 %t66 = ptrtoint ptr %t65 to i64 store i32 8646, 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 8647, 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 8648, 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 8649, 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 8650, 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 8651, 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 8652, 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 8653, 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 8654, 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 8655, 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 8656, 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 8657, 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 8658, 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 8659, 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 8660, 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 8661, 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 8662, 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 8663, 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 8664, 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 8665, 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 8666, 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 @.str22197, ptr @g_g_mu_done %t191 = getelementptr %LSlice, ptr null, i32 1 %t192 = ptrtoint ptr %t191 to i64 store i32 8667, 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 8668, 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 8669, 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 8670, 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 8671, 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 8672, 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 8673, 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 8674, 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 8675, 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 8676, 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 8677, 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 8678, 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 8679, 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 8680, 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 8681, 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 8682, 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 8683, 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 8684, 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 8685, 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 8686, 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 8687, 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 8688, 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 8689, 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 8690, 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 8691, 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 8692, 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 8693, 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_red_rec %t353 = getelementptr %LSlice, ptr null, i32 1 %t354 = ptrtoint ptr %t353 to i64 store i32 8694, 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_red_tbl %t359 = getelementptr %LSlice, ptr null, i32 1 %t360 = ptrtoint ptr %t359 to i64 store i32 8695, 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_red_tgt %t365 = getelementptr %LSlice, ptr null, i32 1 %t366 = ptrtoint ptr %t365 to i64 store i32 8696, 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_red_mc %t371 = getelementptr %LSlice, ptr null, i32 1 %t372 = ptrtoint ptr %t371 to i64 store i32 8697, 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_tgt_comp %t377 = getelementptr %LSlice, ptr null, i32 1 %t378 = ptrtoint ptr %t377 to i64 store i32 8698, 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_tgt_field %t383 = getelementptr %LSlice, ptr null, i32 1 %t384 = ptrtoint ptr %t383 to i64 store i32 8699, 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_tgt_node %t389 = getelementptr %LSlice, ptr null, i32 1 %t390 = ptrtoint ptr %t389 to i64 store i32 8700, 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_col_comp %t395 = getelementptr %LSlice, ptr null, i32 1 %t396 = ptrtoint ptr %t395 to i64 store i32 8701, 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_col_field %t401 = getelementptr %LSlice, ptr null, i32 1 %t402 = ptrtoint ptr %t401 to i64 store i32 8702, 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_rv_nodes %t407 = getelementptr %LSlice, ptr null, i32 1 %t408 = ptrtoint ptr %t407 to i64 store i32 8703, 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_mc_reg %t413 = getelementptr %LSlice, ptr null, i32 1 %t414 = ptrtoint ptr %t413 to i64 store i32 8704, 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_mc_rec %t419 = getelementptr %LSlice, ptr null, i32 1 %t420 = ptrtoint ptr %t419 to i64 store i32 8705, 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_mc_field %t425 = getelementptr %LSlice, ptr null, i32 1 %t426 = ptrtoint ptr %t425 to i64 store i32 8706, 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_mc_file %t431 = getelementptr %LSlice, ptr null, i32 1 %t432 = ptrtoint ptr %t431 to i64 store i32 8707, 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_mc_line %t437 = getelementptr %LSlice, ptr null, i32 1 %t438 = ptrtoint ptr %t437 to i64 store i32 8708, 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_mc_enum %t443 = getelementptr %LSlice, ptr null, i32 1 %t444 = ptrtoint ptr %t443 to i64 store i32 8709, 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_mc_state %t449 = getelementptr %LSlice, ptr null, i32 1 %t450 = ptrtoint ptr %t449 to i64 store i32 8710, 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_path %t455 = getelementptr %LSlice, ptr null, i32 1 %t456 = ptrtoint ptr %t455 to i64 store i32 8711, 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_start %t461 = getelementptr %LSlice, ptr null, i32 1 %t462 = ptrtoint ptr %t461 to i64 store i32 8712, 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_tick %t467 = getelementptr %LSlice, ptr null, i32 1 %t468 = ptrtoint ptr %t467 to i64 store i32 8713, 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_mc_acts %t473 = getelementptr %LSlice, ptr null, i32 1 %t474 = ptrtoint ptr %t473 to i64 store i32 8714, 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_mc_gen %t479 = getelementptr %LSlice, ptr null, i32 1 %t480 = ptrtoint ptr %t479 to i64 store i32 8715, 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_mc_fns %t485 = getelementptr %LSlice, ptr null, i32 1 %t486 = ptrtoint ptr %t485 to i64 store i32 8716, 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_mt_key %t491 = getelementptr %LSlice, ptr null, i32 1 %t492 = ptrtoint ptr %t491 to i64 store i32 8717, 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_mt_from %t497 = getelementptr %LSlice, ptr null, i32 1 %t498 = ptrtoint ptr %t497 to i64 store i32 8718, 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_mt_to %t503 = getelementptr %LSlice, ptr null, i32 1 %t504 = ptrtoint ptr %t503 to i64 store i32 8719, 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_mt_on %t509 = getelementptr %LSlice, ptr null, i32 1 %t510 = ptrtoint ptr %t509 to i64 store i32 8720, 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_mt_guard %t515 = getelementptr %LSlice, ptr null, i32 1 %t516 = ptrtoint ptr %t515 to i64 store i32 8721, 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_mt_enter %t521 = getelementptr %LSlice, ptr null, i32 1 %t522 = ptrtoint ptr %t521 to i64 store i32 8722, 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_mt_file %t527 = getelementptr %LSlice, ptr null, i32 1 %t528 = ptrtoint ptr %t527 to i64 store i32 8723, 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_mt_line %t533 = getelementptr %LSlice, ptr null, i32 1 %t534 = ptrtoint ptr %t533 to i64 store i32 8724, 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_mt_col %t539 = getelementptr %LSlice, ptr null, i32 1 %t540 = ptrtoint ptr %t539 to i64 store i32 8725, 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_ma_node %t545 = getelementptr %LSlice, ptr null, i32 1 %t546 = ptrtoint ptr %t545 to i64 store i32 8726, 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_ma_call %t551 = getelementptr %LSlice, ptr null, i32 1 %t552 = ptrtoint ptr %t551 to i64 store i32 8727, 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_ma_state %t557 = getelementptr %LSlice, ptr null, i32 1 %t558 = ptrtoint ptr %t557 to i64 store i32 8728, 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_ma_excess %t563 = getelementptr %LSlice, ptr null, i32 1 %t564 = ptrtoint ptr %t563 to i64 store i32 8729, 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_mg_vars %t569 = getelementptr %LSlice, ptr null, i32 1 %t570 = ptrtoint ptr %t569 to i64 store i32 8730, 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_mg_vstate %t575 = getelementptr %LSlice, ptr null, i32 1 %t576 = ptrtoint ptr %t575 to i64 store i32 8731, 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_mg_written %t581 = getelementptr %LSlice, ptr null, i32 1 %t582 = ptrtoint ptr %t581 to i64 store i32 8732, 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_mg_let %t587 = getelementptr %LSlice, ptr null, i32 1 %t588 = ptrtoint ptr %t587 to i64 store i32 8733, 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_mr_unit %t593 = getelementptr %LSlice, ptr null, i32 1 %t594 = ptrtoint ptr %t593 to i64 store i32 8734, 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_ms_name %t599 = getelementptr %LSlice, ptr null, i32 1 %t600 = ptrtoint ptr %t599 to i64 store i32 8735, 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_ms_mod %t605 = getelementptr %LSlice, ptr null, i32 1 %t606 = ptrtoint ptr %t605 to i64 store i32 8736, 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_ms_param %t611 = getelementptr %LSlice, ptr null, i32 1 %t612 = ptrtoint ptr %t611 to i64 store i32 8737, 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_ms_export %t617 = getelementptr %LSlice, ptr null, i32 1 %t618 = ptrtoint ptr %t617 to i64 store i32 8738, 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_mu_node %t623 = getelementptr %LSlice, ptr null, i32 1 %t624 = ptrtoint ptr %t623 to i64 store i32 8739, 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_mu_kind %t629 = getelementptr %LSlice, ptr null, i32 1 %t630 = ptrtoint ptr %t629 to i64 store i32 8740, 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_mu_need %t635 = getelementptr %LSlice, ptr null, i32 1 %t636 = ptrtoint ptr %t635 to i64 store i32 8741, 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_mu_mut %t641 = getelementptr %LSlice, ptr null, i32 1 %t642 = ptrtoint ptr %t641 to i64 store i32 8742, 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_mc_call %t647 = getelementptr %LSlice, ptr null, i32 1 %t648 = ptrtoint ptr %t647 to i64 store i32 8743, 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_mc_unit %t653 = getelementptr %LSlice, ptr null, i32 1 %t654 = ptrtoint ptr %t653 to i64 store i32 8744, 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_mc_callee %t659 = getelementptr %LSlice, ptr null, i32 1 %t660 = ptrtoint ptr %t659 to i64 store i32 8745, 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_mr_node %t665 = getelementptr %LSlice, ptr null, i32 1 %t666 = ptrtoint ptr %t665 to i64 store i32 8746, 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_mr_var %t671 = getelementptr %LSlice, ptr null, i32 1 %t672 = ptrtoint ptr %t671 to i64 store i32 8747, 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_mr_ui %t677 = getelementptr %LSlice, ptr null, i32 1 %t678 = ptrtoint ptr %t677 to i64 store i32 8748, 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_mg_report store ptr @.str22198, ptr @g_g_mg_entry %t683 = getelementptr %LSlice, ptr null, i32 1 %t684 = ptrtoint ptr %t683 to i64 store i32 8749, 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_mg_fv_name %t689 = getelementptr %LSlice, ptr null, i32 1 %t690 = ptrtoint ptr %t689 to i64 store i32 8750, 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_mg_fv_node %t695 = getelementptr %LSlice, ptr null, i32 1 %t696 = ptrtoint ptr %t695 to i64 store i32 8751, 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_mc_passed %t701 = getelementptr %LSlice, ptr null, i32 1 %t702 = ptrtoint ptr %t701 to i64 store i32 8752, 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_mg_lines store ptr @.str22199, ptr @g_g_mg_keys %t707 = getelementptr %LSlice, ptr null, i32 1 %t708 = ptrtoint ptr %t707 to i64 store i32 8753, 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_mv_need %t713 = getelementptr %LSlice, ptr null, i32 1 %t714 = ptrtoint ptr %t713 to i64 store i32 8754, 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_mv_mut %t719 = getelementptr %LSlice, ptr null, i32 1 %t720 = ptrtoint ptr %t719 to i64 store i32 8755, 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_mcm_need %t725 = getelementptr %LSlice, ptr null, i32 1 %t726 = ptrtoint ptr %t725 to i64 store i32 8756, 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_mcm_mut %t731 = getelementptr %LSlice, ptr null, i32 1 %t732 = ptrtoint ptr %t731 to i64 store i32 8757, 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_mg_pbv %t737 = getelementptr %LSlice, ptr null, i32 1 %t738 = ptrtoint ptr %t737 to i64 store i32 8758, 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_rg_name %t743 = getelementptr %LSlice, ptr null, i32 1 %t744 = ptrtoint ptr %t743 to i64 store i32 8759, 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_rg_type %t749 = getelementptr %LSlice, ptr null, i32 1 %t750 = ptrtoint ptr %t749 to i64 store i32 8760, 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_rg_prefix %t755 = getelementptr %LSlice, ptr null, i32 1 %t756 = ptrtoint ptr %t755 to i64 store i32 8761, 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_rg_var %t761 = getelementptr %LSlice, ptr null, i32 1 %t762 = ptrtoint ptr %t761 to i64 store i32 8762, 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_rg_open %t767 = getelementptr %LSlice, ptr null, i32 1 %t768 = ptrtoint ptr %t767 to i64 store i32 8763, 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_rg_from %t773 = getelementptr %LSlice, ptr null, i32 1 %t774 = ptrtoint ptr %t773 to i64 store i32 8764, 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_rg_at %t779 = getelementptr %LSlice, ptr null, i32 1 %t780 = ptrtoint ptr %t779 to i64 store i32 8765, 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_df_reg %t785 = getelementptr %LSlice, ptr null, i32 1 %t786 = ptrtoint ptr %t785 to i64 store i32 8766, 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_df_key %t791 = getelementptr %LSlice, ptr null, i32 1 %t792 = ptrtoint ptr %t791 to i64 store i32 8767, 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_df_rec %t797 = getelementptr %LSlice, ptr null, i32 1 %t798 = ptrtoint ptr %t797 to i64 store i32 8768, 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_df_kline %t803 = getelementptr %LSlice, ptr null, i32 1 %t804 = ptrtoint ptr %t803 to i64 store i32 8769, 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_df_kcol %t809 = getelementptr %LSlice, ptr null, i32 1 %t810 = ptrtoint ptr %t809 to i64 store i32 8770, 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_df_src %t815 = getelementptr %LSlice, ptr null, i32 1 %t816 = ptrtoint ptr %t815 to i64 store i32 8771, 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_df_via %t821 = getelementptr %LSlice, ptr null, i32 1 %t822 = ptrtoint ptr %t821 to i64 store i32 8772, 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_at_start %t827 = getelementptr %LSlice, ptr null, i32 1 %t828 = ptrtoint ptr %t827 to i64 store i32 8773, 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_at_count %t833 = getelementptr %LSlice, ptr null, i32 1 %t834 = ptrtoint ptr %t833 to i64 store i32 8774, 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_at_name %t839 = getelementptr %LSlice, ptr null, i32 1 %t840 = ptrtoint ptr %t839 to i64 store i32 8775, 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_at_args %t845 = getelementptr %LSlice, ptr null, i32 1 %t846 = ptrtoint ptr %t845 to i64 store i32 8776, 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_at_first %t851 = getelementptr %LSlice, ptr null, i32 1 %t852 = ptrtoint ptr %t851 to i64 store i32 8777, 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_at_nargs %t857 = getelementptr %LSlice, ptr null, i32 1 %t858 = ptrtoint ptr %t857 to i64 store i32 8778, 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_at_unres %t863 = getelementptr %LSlice, ptr null, i32 1 %t864 = ptrtoint ptr %t863 to i64 store i32 8779, 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_at_decl %t869 = getelementptr %LSlice, ptr null, i32 1 %t870 = ptrtoint ptr %t869 to i64 store i32 8780, 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_at_strs %t875 = getelementptr %LSlice, ptr null, i32 1 %t876 = ptrtoint ptr %t875 to i64 store i32 8781, 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_at_decl_args %t881 = getelementptr %LSlice, ptr null, i32 1 %t882 = ptrtoint ptr %t881 to i64 store i32 8782, 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_vc_kind %t887 = getelementptr %LSlice, ptr null, i32 1 %t888 = ptrtoint ptr %t887 to i64 store i32 8783, 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_vc_name %t893 = getelementptr %LSlice, ptr null, i32 1 %t894 = ptrtoint ptr %t893 to i64 store i32 8784, 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_vc_role %t899 = getelementptr %LSlice, ptr null, i32 1 %t900 = ptrtoint ptr %t899 to i64 store i32 8785, 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_vc_form %t905 = getelementptr %LSlice, ptr null, i32 1 %t906 = ptrtoint ptr %t905 to i64 store i32 8786, 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_vc_on %t911 = getelementptr %LSlice, ptr null, i32 1 %t912 = ptrtoint ptr %t911 to i64 store i32 8787, 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_vc_doc %t917 = getelementptr %LSlice, ptr null, i32 1 %t918 = ptrtoint ptr %t917 to i64 store i32 8788, 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_rg_permap %t923 = getelementptr %LSlice, ptr null, i32 1 %t924 = ptrtoint ptr %t923 to i64 store i32 8789, 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_rg_chunk store ptr @.str22200, ptr @g_g_pm_root %t929 = getelementptr %LSlice, ptr null, i32 1 %t930 = ptrtoint ptr %t929 to i64 store i32 8790, 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_pm_recs %t935 = getelementptr %LSlice, ptr null, i32 1 %t936 = ptrtoint ptr %t935 to i64 store i32 8791, 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_pm_pooled %t941 = getelementptr %LSlice, ptr null, i32 1 %t942 = ptrtoint ptr %t941 to i64 store i32 8792, 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_pm_fnty %t947 = getelementptr %LSlice, ptr null, i32 1 %t948 = ptrtoint ptr %t947 to i64 store i32 8793, 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_pmc_names %t953 = getelementptr %LSlice, ptr null, i32 1 %t954 = ptrtoint ptr %t953 to i64 store i32 8794, 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_pmc_isf %t959 = getelementptr %LSlice, ptr null, i32 1 %t960 = ptrtoint ptr %t959 to i64 store i32 8795, 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_pmc_iv %t965 = getelementptr %LSlice, ptr null, i32 1 %t966 = ptrtoint ptr %t965 to i64 store i32 8796, 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_pmc_ftext %t971 = getelementptr %LSlice, ptr null, i32 1 %t972 = ptrtoint ptr %t971 to i64 store i32 8797, 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_pmc_all %t977 = getelementptr %LSlice, ptr null, i32 1 %t978 = ptrtoint ptr %t977 to i64 store i32 8798, 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_pmc_node %t983 = getelementptr %LSlice, ptr null, i32 1 %t984 = ptrtoint ptr %t983 to i64 store i32 8799, 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_pmk_reg %t989 = getelementptr %LSlice, ptr null, i32 1 %t990 = ptrtoint ptr %t989 to i64 store i32 8800, 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_pmk_key %t995 = getelementptr %LSlice, ptr null, i32 1 %t996 = ptrtoint ptr %t995 to i64 store i32 8801, 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_pmk_rec %t1001 = getelementptr %LSlice, ptr null, i32 1 %t1002 = ptrtoint ptr %t1001 to i64 store i32 8802, 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_pmk_kline %t1007 = getelementptr %LSlice, ptr null, i32 1 %t1008 = ptrtoint ptr %t1007 to i64 store i32 8803, 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_pmk_kcol %t1013 = getelementptr %LSlice, ptr null, i32 1 %t1014 = ptrtoint ptr %t1013 to i64 store i32 8804, 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_pmk_file %t1019 = getelementptr %LSlice, ptr null, i32 1 %t1020 = ptrtoint ptr %t1019 to i64 store i32 8805, 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_pmk_ref_reg %t1025 = getelementptr %LSlice, ptr null, i32 1 %t1026 = ptrtoint ptr %t1025 to i64 store i32 8806, 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_pmk_ref_key %t1031 = getelementptr %LSlice, ptr null, i32 1 %t1032 = ptrtoint ptr %t1031 to i64 store i32 8807, 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_pmk_ref_at store ptr @.str22201, ptr @g_g_pmk_mod store ptr @.str22202, ptr @g_g_pmk_md %t1037 = getelementptr %LSlice, ptr null, i32 1 %t1038 = ptrtoint ptr %t1037 to i64 store i32 8808, 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_vw_name %t1043 = getelementptr %LSlice, ptr null, i32 1 %t1044 = ptrtoint ptr %t1043 to i64 store i32 8809, 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_vw_node %t1049 = getelementptr %LSlice, ptr null, i32 1 %t1050 = ptrtoint ptr %t1049 to i64 store i32 8810, 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_vw_fields %t1055 = getelementptr %LSlice, ptr null, i32 1 %t1056 = ptrtoint ptr %t1055 to i64 store i32 8811, 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_vw_fnames %t1061 = getelementptr %LSlice, ptr null, i32 1 %t1062 = ptrtoint ptr %t1061 to i64 store i32 8812, 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_vw_calls %t1067 = getelementptr %LSlice, ptr null, i32 1 %t1068 = ptrtoint ptr %t1067 to i64 store i32 8813, 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_vw_cnames %t1073 = getelementptr %LSlice, ptr null, i32 1 %t1074 = ptrtoint ptr %t1073 to i64 store i32 8814, 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_vw_helpers %t1079 = getelementptr %LSlice, ptr null, i32 1 %t1080 = ptrtoint ptr %t1079 to i64 store i32 8815, 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_vw_hdr %t1085 = getelementptr %LSlice, ptr null, i32 1 %t1086 = ptrtoint ptr %t1085 to i64 store i32 8816, 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_vw_nps %t1091 = getelementptr %LSlice, ptr null, i32 1 %t1092 = ptrtoint ptr %t1091 to i64 store i32 8817, 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_vw_ps %t1097 = getelementptr %LSlice, ptr null, i32 1 %t1098 = ptrtoint ptr %t1097 to i64 store i32 8818, 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_cm_name %t1103 = getelementptr %LSlice, ptr null, i32 1 %t1104 = ptrtoint ptr %t1103 to i64 store i32 8819, 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_cm_file %t1109 = getelementptr %LSlice, ptr null, i32 1 %t1110 = ptrtoint ptr %t1109 to i64 store i32 8820, 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_cm_line %t1115 = getelementptr %LSlice, ptr null, i32 1 %t1116 = ptrtoint ptr %t1115 to i64 store i32 8821, 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_cm_vis %t1121 = getelementptr %LSlice, ptr null, i32 1 %t1122 = ptrtoint ptr %t1121 to i64 store i32 8822, 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_cm_keep %t1127 = getelementptr %LSlice, ptr null, i32 1 %t1128 = ptrtoint ptr %t1127 to i64 store i32 8823, 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_cm_keep_ty %t1133 = getelementptr %LSlice, ptr null, i32 1 %t1134 = ptrtoint ptr %t1133 to i64 store i32 8824, 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_cm_prop %t1139 = getelementptr %LSlice, ptr null, i32 1 %t1140 = ptrtoint ptr %t1139 to i64 store i32 8825, 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_cm_defs %t1145 = getelementptr %LSlice, ptr null, i32 1 %t1146 = ptrtoint ptr %t1145 to i64 store i32 8826, 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_cm_fields %t1151 = getelementptr %LSlice, ptr null, i32 1 %t1152 = ptrtoint ptr %t1151 to i64 store i32 8827, 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_cm_fnames %t1157 = getelementptr %LSlice, ptr null, i32 1 %t1158 = ptrtoint ptr %t1157 to i64 store i32 8828, 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_cm_calls %t1163 = getelementptr %LSlice, ptr null, i32 1 %t1164 = ptrtoint ptr %t1163 to i64 store i32 8829, 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_cm_cnames %t1169 = getelementptr %LSlice, ptr null, i32 1 %t1170 = ptrtoint ptr %t1169 to i64 store i32 8830, 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_cm_head %t1175 = getelementptr %LSlice, ptr null, i32 1 %t1176 = ptrtoint ptr %t1175 to i64 store i32 8831, 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_cm_hdr %t1181 = getelementptr %LSlice, ptr null, i32 1 %t1182 = ptrtoint ptr %t1181 to i64 store i32 8832, 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_cm_ps %t1187 = getelementptr %LSlice, ptr null, i32 1 %t1188 = ptrtoint ptr %t1187 to i64 store i32 8833, 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_cm_at %t1193 = getelementptr %LSlice, ptr null, i32 1 %t1194 = ptrtoint ptr %t1193 to i64 store i32 8834, 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_cm_kat %t1199 = getelementptr %LSlice, ptr null, i32 1 %t1200 = ptrtoint ptr %t1199 to i64 store i32 8835, 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_cm_fline %t1205 = getelementptr %LSlice, ptr null, i32 1 %t1206 = ptrtoint ptr %t1205 to i64 store i32 8836, 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_cm_isev %t1211 = getelementptr %LSlice, ptr null, i32 1 %t1212 = ptrtoint ptr %t1211 to i64 store i32 8837, 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_cm_xml_path %t1217 = getelementptr %LSlice, ptr null, i32 1 %t1218 = ptrtoint ptr %t1217 to i64 store i32 8838, 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_cm_lss_path %t1223 = getelementptr %LSlice, ptr null, i32 1 %t1224 = ptrtoint ptr %t1223 to i64 store i32 8839, 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_cm_xml %t1229 = getelementptr %LSlice, ptr null, i32 1 %t1230 = ptrtoint ptr %t1229 to i64 store i32 8840, 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_po_cstr store ptr @.str22205, ptr @g_g_i18n_src store ptr @.str22206, ptr @g_g_i18n_en_path %t1235 = getelementptr %LSlice, ptr null, i32 1 %t1236 = ptrtoint ptr %t1235 to i64 store i32 8841, 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_rg_textkey %t1241 = getelementptr %LSlice, ptr null, i32 1 %t1242 = ptrtoint ptr %t1241 to i64 store i32 8842, 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_ks_key %t1247 = getelementptr %LSlice, ptr null, i32 1 %t1248 = ptrtoint ptr %t1247 to i64 store i32 8843, 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_ks_kind %t1253 = getelementptr %LSlice, ptr null, i32 1 %t1254 = ptrtoint ptr %t1253 to i64 store i32 8844, 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_ks_file %t1259 = getelementptr %LSlice, ptr null, i32 1 %t1260 = ptrtoint ptr %t1259 to i64 store i32 8845, 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_ks_line %t1265 = getelementptr %LSlice, ptr null, i32 1 %t1266 = ptrtoint ptr %t1265 to i64 store i32 8846, 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_ks_col store ptr @.str22207, ptr @g_g_xk_src store ptr @.str22208, ptr @g_g_xk_file store ptr @.str22209, ptr @g_g_xk_last_name store ptr @.str22210, ptr @g_g_src_name %t1271 = getelementptr %LSlice, ptr null, i32 1 %t1272 = ptrtoint ptr %t1271 to i64 store i32 8847, 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_ix_tagged %t1277 = getelementptr %LSlice, ptr null, i32 1 %t1278 = ptrtoint ptr %t1277 to i64 store i32 8848, 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_ix_keys %t1283 = getelementptr %LSlice, ptr null, i32 1 %t1284 = ptrtoint ptr %t1283 to i64 store i32 8849, 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_ix_vals store ptr @.str22211, ptr @g_g_ret_label %t1289 = getelementptr %LSlice, ptr null, i32 1 %t1290 = ptrtoint ptr %t1289 to i64 store i32 8850, 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_site_fn %t1295 = getelementptr %LSlice, ptr null, i32 1 %t1296 = ptrtoint ptr %t1295 to i64 store i32 8851, 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_site_file %t1301 = getelementptr %LSlice, ptr null, i32 1 %t1302 = ptrtoint ptr %t1301 to i64 store i32 8852, 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_site_line %t1307 = getelementptr %LSlice, ptr null, i32 1 %t1308 = ptrtoint ptr %t1307 to i64 store i32 8853, 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_site_kind %t1313 = getelementptr %LSlice, ptr null, i32 1 %t1314 = ptrtoint ptr %t1313 to i64 store i32 8854, 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_site_owner %t1319 = getelementptr %LSlice, ptr null, i32 1 %t1320 = ptrtoint ptr %t1319 to i64 store i32 8855, 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_owner_names store ptr @.str22212, ptr @g_g_cur_fn_name %t1325 = getelementptr %LSlice, ptr null, i32 1 %t1326 = ptrtoint ptr %t1325 to i64 store i32 8856, 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_site_kinds %t1331 = getelementptr %LSlice, ptr null, i32 1 %t1332 = ptrtoint ptr %t1331 to i64 store i32 8857, 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_site_kindc %t1337 = getelementptr %LSlice, ptr null, i32 1 %t1338 = ptrtoint ptr %t1337 to i64 store i32 8858, 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_scan_roots %t1343 = getelementptr %LSlice, ptr null, i32 1 %t1344 = ptrtoint ptr %t1343 to i64 store i32 8859, 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_cap_keys %t1349 = getelementptr %LSlice, ptr null, i32 1 %t1350 = ptrtoint ptr %t1349 to i64 store i32 8860, 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_cap_vals %t1355 = getelementptr %LSlice, ptr null, i32 1 %t1356 = ptrtoint ptr %t1355 to i64 store i32 8861, 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_alloc_ok_names %t1361 = getelementptr %LSlice, ptr null, i32 1 %t1362 = ptrtoint ptr %t1361 to i64 store i32 8862, 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_frame_fields %t1367 = getelementptr %LSlice, ptr null, i32 1 %t1368 = ptrtoint ptr %t1367 to i64 store i32 8863, 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_fr_root %t1373 = getelementptr %LSlice, ptr null, i32 1 %t1374 = ptrtoint ptr %t1373 to i64 store i32 8864, 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_fr_from %t1379 = getelementptr %LSlice, ptr null, i32 1 %t1380 = ptrtoint ptr %t1379 to i64 store i32 8865, 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_es_flag %t1385 = getelementptr %LSlice, ptr null, i32 1 %t1386 = ptrtoint ptr %t1385 to i64 store i32 8866, 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_es_why %t1391 = getelementptr %LSlice, ptr null, i32 1 %t1392 = ptrtoint ptr %t1391 to i64 store i32 8867, 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_es_own %t1397 = getelementptr %LSlice, ptr null, i32 1 %t1398 = ptrtoint ptr %t1397 to i64 store i32 8868, 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_es_gname %t1403 = getelementptr %LSlice, ptr null, i32 1 %t1404 = ptrtoint ptr %t1403 to i64 store i32 8869, 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_es_gcls %t1409 = getelementptr %LSlice, ptr null, i32 1 %t1410 = ptrtoint ptr %t1409 to i64 store i32 8870, 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_es_ok %t1415 = getelementptr %LSlice, ptr null, i32 1 %t1416 = ptrtoint ptr %t1415 to i64 store i32 8871, 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_es_ov %t1421 = getelementptr %LSlice, ptr null, i32 1 %t1422 = ptrtoint ptr %t1421 to i64 store i32 8872, 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_es_swhy %t1427 = getelementptr %LSlice, ptr null, i32 1 %t1428 = ptrtoint ptr %t1427 to i64 store i32 8873, 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_es_site_aok %t1433 = getelementptr %LSlice, ptr null, i32 1 %t1434 = ptrtoint ptr %t1433 to i64 store i32 8874, 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_es_site_grow %t1439 = getelementptr %LSlice, ptr null, i32 1 %t1440 = ptrtoint ptr %t1439 to i64 store i32 8875, 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_es_fnrefs %t1445 = getelementptr %LSlice, ptr null, i32 1 %t1446 = ptrtoint ptr %t1445 to i64 store i32 8876, 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_es_consumed %t1451 = getelementptr %LSlice, ptr null, i32 1 %t1452 = ptrtoint ptr %t1451 to i64 store i32 8877, 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_es_ft %t1457 = getelementptr %LSlice, ptr null, i32 1 %t1458 = ptrtoint ptr %t1457 to i64 store i32 8878, 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_es_ff %t1463 = getelementptr %LSlice, ptr null, i32 1 %t1464 = ptrtoint ptr %t1463 to i64 store i32 8879, 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_es_st %t1469 = getelementptr %LSlice, ptr null, i32 1 %t1470 = ptrtoint ptr %t1469 to i64 store i32 8880, 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_es_sv %t1475 = getelementptr %LSlice, ptr null, i32 1 %t1476 = ptrtoint ptr %t1475 to i64 store i32 8881, 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_es_site %t1481 = getelementptr %LSlice, ptr null, i32 1 %t1482 = ptrtoint ptr %t1481 to i64 store i32 8882, 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_es_site_cls %t1487 = getelementptr %LSlice, ptr null, i32 1 %t1488 = ptrtoint ptr %t1487 to i64 store i32 8883, 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_es_site_fn %t1493 = getelementptr %LSlice, ptr null, i32 1 %t1494 = ptrtoint ptr %t1493 to i64 store i32 8884, 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_es_fk %t1499 = getelementptr %LSlice, ptr null, i32 1 %t1500 = ptrtoint ptr %t1499 to i64 store i32 8885, 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_es_fv %t1505 = getelementptr %LSlice, ptr null, i32 1 %t1506 = ptrtoint ptr %t1505 to i64 store i32 8886, 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_es_fparam %t1511 = getelementptr %LSlice, ptr null, i32 1 %t1512 = ptrtoint ptr %t1511 to i64 store i32 8887, 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_es_fret %t1517 = getelementptr %LSlice, ptr null, i32 1 %t1518 = ptrtoint ptr %t1517 to i64 store i32 8888, 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_es_fnode %t1523 = getelementptr %LSlice, ptr null, i32 1 %t1524 = ptrtoint ptr %t1523 to i64 store i32 8889, 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_es_fspans %t1529 = getelementptr %LSlice, ptr null, i32 1 %t1530 = ptrtoint ptr %t1529 to i64 store i32 8890, 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_es_calls_f %t1535 = getelementptr %LSlice, ptr null, i32 1 %t1536 = ptrtoint ptr %t1535 to i64 store i32 8891, 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_es_calls_t %t1541 = getelementptr %LSlice, ptr null, i32 1 %t1542 = ptrtoint ptr %t1541 to i64 store i32 8892, 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_es_ln %t1547 = getelementptr %LSlice, ptr null, i32 1 %t1548 = ptrtoint ptr %t1547 to i64 store i32 8893, 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_es_lc %t1553 = getelementptr %LSlice, ptr null, i32 1 %t1554 = ptrtoint ptr %t1553 to i64 store i32 8894, 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_es_lt %t1559 = getelementptr %LSlice, ptr null, i32 1 %t1560 = ptrtoint ptr %t1559 to i64 store i32 8895, 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_res_make_fn %t1565 = getelementptr %LSlice, ptr null, i32 1 %t1566 = ptrtoint ptr %t1565 to i64 store i32 8896, 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_res_make_kind %t1571 = getelementptr %LSlice, ptr null, i32 1 %t1572 = ptrtoint ptr %t1571 to i64 store i32 8897, 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_res_free_fn %t1577 = getelementptr %LSlice, ptr null, i32 1 %t1578 = ptrtoint ptr %t1577 to i64 store i32 8898, 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_res_free_kind %t1583 = getelementptr %LSlice, ptr null, i32 1 %t1584 = ptrtoint ptr %t1583 to i64 store i32 8899, 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_own_type %t1589 = getelementptr %LSlice, ptr null, i32 1 %t1590 = ptrtoint ptr %t1589 to i64 store i32 8900, 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_g_own_field %t1595 = getelementptr %LSlice, ptr null, i32 1 %t1596 = ptrtoint ptr %t1595 to i64 store i32 8901, 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_g_own_kind %t1601 = getelementptr %LSlice, ptr null, i32 1 %t1602 = ptrtoint ptr %t1601 to i64 store i32 8902, 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_g_gi_idx_k %t1607 = getelementptr %LSlice, ptr null, i32 1 %t1608 = ptrtoint ptr %t1607 to i64 store i32 8903, 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_g_gi_idx_v %t1613 = getelementptr %LSlice, ptr null, i32 1 %t1614 = ptrtoint ptr %t1613 to i64 store i32 8904, 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_g_gi_fn_seen %t1619 = getelementptr %LSlice, ptr null, i32 1 %t1620 = ptrtoint ptr %t1619 to i64 store i32 8905, 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_g_gi_state %t1625 = getelementptr %LSlice, ptr null, i32 1 %t1626 = ptrtoint ptr %t1625 to i64 store i32 8906, 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_g_gi_out %t1631 = getelementptr %LSlice, ptr null, i32 1 %t1632 = ptrtoint ptr %t1631 to i64 store i32 8907, 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_g_dp_key %t1637 = getelementptr %LSlice, ptr null, i32 1 %t1638 = ptrtoint ptr %t1637 to i64 store i32 8908, 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_g_dp_cnt %t1643 = getelementptr %LSlice, ptr null, i32 1 %t1644 = ptrtoint ptr %t1643 to i64 store i32 8909, 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_g_dp_name %t1649 = getelementptr %LSlice, ptr null, i32 1 %t1650 = ptrtoint ptr %t1649 to i64 store i32 8910, 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_g_dp_writes %t1655 = getelementptr %LSlice, ptr null, i32 1 %t1656 = ptrtoint ptr %t1655 to i64 store i32 8911, 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_g_dp_al_local %t1661 = getelementptr %LSlice, ptr null, i32 1 %t1662 = ptrtoint ptr %t1661 to i64 store i32 8912, 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_g_dp_al_owner %t1667 = getelementptr %LSlice, ptr null, i32 1 %t1668 = ptrtoint ptr %t1667 to i64 store i32 8913, 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_g_dp_al_global %t1673 = getelementptr %LSlice, ptr null, i32 1 %t1674 = ptrtoint ptr %t1673 to i64 store i32 8914, 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_g_dp_aliases %t1679 = getelementptr %LSlice, ptr null, i32 1 %t1680 = ptrtoint ptr %t1679 to i64 store i32 8915, 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_g_dr_name %t1685 = getelementptr %LSlice, ptr null, i32 1 %t1686 = ptrtoint ptr %t1685 to i64 store i32 8916, 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_g_dr_node %t1691 = getelementptr %LSlice, ptr null, i32 1 %t1692 = ptrtoint ptr %t1691 to i64 store i32 8917, 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_dr_refs %t1697 = getelementptr %LSlice, ptr null, i32 1 %t1698 = ptrtoint ptr %t1697 to i64 store i32 8918, 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_dr_bits %t1703 = getelementptr %LSlice, ptr null, i32 1 %t1704 = ptrtoint ptr %t1703 to i64 store i32 8919, 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_dr_wbits %t1709 = getelementptr %LSlice, ptr null, i32 1 %t1710 = ptrtoint ptr %t1709 to i64 store i32 8920, 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_dr_find_k %t1715 = getelementptr %LSlice, ptr null, i32 1 %t1716 = ptrtoint ptr %t1715 to i64 store i32 8921, 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_g_dr_rl_name %t1721 = getelementptr %LSlice, ptr null, i32 1 %t1722 = ptrtoint ptr %t1721 to i64 store i32 8922, 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_g_dr_rl_reg %t1727 = getelementptr %LSlice, ptr null, i32 1 %t1728 = ptrtoint ptr %t1727 to i64 store i32 8923, ptr @lp_site %t1729 = call ptr @lp_malloc(i64 %t1728) store i32 0, ptr @lp_site %t1730 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 0 store ptr null, ptr %t1730 %t1731 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 1 store i32 0, ptr %t1731 %t1732 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 2 store i32 0, ptr %t1732 store ptr %t1729, ptr @g_g_dr_find_v %t1733 = getelementptr %LSlice, ptr null, i32 1 %t1734 = ptrtoint ptr %t1733 to i64 store i32 8924, ptr @lp_site %t1735 = call ptr @lp_malloc(i64 %t1734) store i32 0, ptr @lp_site %t1736 = getelementptr inbounds %LSlice, ptr %t1735, i32 0, i32 0 store ptr null, ptr %t1736 %t1737 = getelementptr inbounds %LSlice, ptr %t1735, i32 0, i32 1 store i32 0, ptr %t1737 %t1738 = getelementptr inbounds %LSlice, ptr %t1735, i32 0, i32 2 store i32 0, ptr %t1738 store ptr %t1735, ptr @g_g_dr_disp_of %t1739 = getelementptr %LSlice, ptr null, i32 1 %t1740 = ptrtoint ptr %t1739 to i64 store i32 8925, ptr @lp_site %t1741 = call ptr @lp_malloc(i64 %t1740) store i32 0, ptr @lp_site %t1742 = getelementptr inbounds %LSlice, ptr %t1741, i32 0, i32 0 store ptr null, ptr %t1742 %t1743 = getelementptr inbounds %LSlice, ptr %t1741, i32 0, i32 1 store i32 0, ptr %t1743 %t1744 = getelementptr inbounds %LSlice, ptr %t1741, i32 0, i32 2 store i32 0, ptr %t1744 store ptr %t1741, ptr @g_g_dr_root %t1745 = getelementptr %LSlice, ptr null, i32 1 %t1746 = ptrtoint ptr %t1745 to i64 store i32 8926, ptr @lp_site %t1747 = call ptr @lp_malloc(i64 %t1746) store i32 0, ptr @lp_site %t1748 = getelementptr inbounds %LSlice, ptr %t1747, i32 0, i32 0 store ptr null, ptr %t1748 %t1749 = getelementptr inbounds %LSlice, ptr %t1747, i32 0, i32 1 store i32 0, ptr %t1749 %t1750 = getelementptr inbounds %LSlice, ptr %t1747, i32 0, i32 2 store i32 0, ptr %t1750 store ptr %t1747, ptr @g_g_dr_hf %t1751 = getelementptr %LSlice, ptr null, i32 1 %t1752 = ptrtoint ptr %t1751 to i64 store i32 8927, ptr @lp_site %t1753 = call ptr @lp_malloc(i64 %t1752) store i32 0, ptr @lp_site %t1754 = getelementptr inbounds %LSlice, ptr %t1753, i32 0, i32 0 store ptr null, ptr %t1754 %t1755 = getelementptr inbounds %LSlice, ptr %t1753, i32 0, i32 1 store i32 0, ptr %t1755 %t1756 = getelementptr inbounds %LSlice, ptr %t1753, i32 0, i32 2 store i32 0, ptr %t1756 store ptr %t1753, ptr @g_g_dr_locals %t1757 = getelementptr %LSlice, ptr null, i32 1 %t1758 = ptrtoint ptr %t1757 to i64 store i32 8928, ptr @lp_site %t1759 = call ptr @lp_malloc(i64 %t1758) store i32 0, ptr @lp_site %t1760 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 0 store ptr null, ptr %t1760 %t1761 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 1 store i32 0, ptr %t1761 %t1762 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 2 store i32 0, ptr %t1762 store ptr %t1759, ptr @g_g_dr_bits2 %t1763 = getelementptr %LSlice, ptr null, i32 1 %t1764 = ptrtoint ptr %t1763 to i64 store i32 8929, ptr @lp_site %t1765 = call ptr @lp_malloc(i64 %t1764) store i32 0, ptr @lp_site %t1766 = getelementptr inbounds %LSlice, ptr %t1765, i32 0, i32 0 store ptr null, ptr %t1766 %t1767 = getelementptr inbounds %LSlice, ptr %t1765, i32 0, i32 1 store i32 0, ptr %t1767 %t1768 = getelementptr inbounds %LSlice, ptr %t1765, i32 0, i32 2 store i32 0, ptr %t1768 store ptr %t1765, ptr @g_g_dr_cur2 %t1769 = getelementptr %LSlice, ptr null, i32 1 %t1770 = ptrtoint ptr %t1769 to i64 store i32 8930, ptr @lp_site %t1771 = call ptr @lp_malloc(i64 %t1770) store i32 0, ptr @lp_site %t1772 = getelementptr inbounds %LSlice, ptr %t1771, i32 0, i32 0 store ptr null, ptr %t1772 %t1773 = getelementptr inbounds %LSlice, ptr %t1771, i32 0, i32 1 store i32 0, ptr %t1773 %t1774 = getelementptr inbounds %LSlice, ptr %t1771, i32 0, i32 2 store i32 0, ptr %t1774 store ptr %t1771, ptr @g_g_dr_refs2 %t1775 = getelementptr %LSlice, ptr null, i32 1 %t1776 = ptrtoint ptr %t1775 to i64 store i32 8931, ptr @lp_site %t1777 = call ptr @lp_malloc(i64 %t1776) store i32 0, ptr @lp_site %t1778 = getelementptr inbounds %LSlice, ptr %t1777, i32 0, i32 0 store ptr null, ptr %t1778 %t1779 = getelementptr inbounds %LSlice, ptr %t1777, i32 0, i32 1 store i32 0, ptr %t1779 %t1780 = getelementptr inbounds %LSlice, ptr %t1777, i32 0, i32 2 store i32 0, ptr %t1780 store ptr %t1777, ptr @g_g_dr_wbits2 %t1781 = getelementptr %LSlice, ptr null, i32 1 %t1782 = ptrtoint ptr %t1781 to i64 store i32 8932, ptr @lp_site %t1783 = call ptr @lp_malloc(i64 %t1782) store i32 0, ptr @lp_site %t1784 = getelementptr inbounds %LSlice, ptr %t1783, i32 0, i32 0 store ptr null, ptr %t1784 %t1785 = getelementptr inbounds %LSlice, ptr %t1783, i32 0, i32 1 store i32 0, ptr %t1785 %t1786 = getelementptr inbounds %LSlice, ptr %t1783, i32 0, i32 2 store i32 0, ptr %t1786 store ptr %t1783, ptr @g_g_det_names store ptr @.str22213, ptr @g_g_det_ctx %t1787 = getelementptr %LSlice, ptr null, i32 1 %t1788 = ptrtoint ptr %t1787 to i64 store i32 8933, ptr @lp_site %t1789 = call ptr @lp_malloc(i64 %t1788) store i32 0, ptr @lp_site %t1790 = getelementptr inbounds %LSlice, ptr %t1789, i32 0, i32 0 store ptr null, ptr %t1790 %t1791 = getelementptr inbounds %LSlice, ptr %t1789, i32 0, i32 1 store i32 0, ptr %t1791 %t1792 = getelementptr inbounds %LSlice, ptr %t1789, i32 0, i32 2 store i32 0, ptr %t1792 store ptr %t1789, ptr @g_g_inj_done %t1793 = getelementptr %LSlice, ptr null, i32 1 %t1794 = ptrtoint ptr %t1793 to i64 store i32 8934, ptr @lp_site %t1795 = call ptr @lp_malloc(i64 %t1794) store i32 0, ptr @lp_site %t1796 = getelementptr inbounds %LSlice, ptr %t1795, i32 0, i32 0 store ptr null, ptr %t1796 %t1797 = getelementptr inbounds %LSlice, ptr %t1795, i32 0, i32 1 store i32 0, ptr %t1797 %t1798 = getelementptr inbounds %LSlice, ptr %t1795, i32 0, i32 2 store i32 0, ptr %t1798 store ptr %t1795, ptr @g_g_sn_tag %t1799 = getelementptr %LSlice, ptr null, i32 1 %t1800 = ptrtoint ptr %t1799 to i64 store i32 8935, ptr @lp_site %t1801 = call ptr @lp_malloc(i64 %t1800) store i32 0, ptr @lp_site %t1802 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 0 store ptr null, ptr %t1802 %t1803 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 1 store i32 0, ptr %t1803 %t1804 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 2 store i32 0, ptr %t1804 store ptr %t1801, ptr @g_g_sn_via %t1805 = getelementptr %LSlice, ptr null, i32 1 %t1806 = ptrtoint ptr %t1805 to i64 store i32 8936, ptr @lp_site %t1807 = call ptr @lp_malloc(i64 %t1806) store i32 0, ptr @lp_site %t1808 = getelementptr inbounds %LSlice, ptr %t1807, i32 0, i32 0 store ptr null, ptr %t1808 %t1809 = getelementptr inbounds %LSlice, ptr %t1807, i32 0, i32 1 store i32 0, ptr %t1809 %t1810 = getelementptr inbounds %LSlice, ptr %t1807, i32 0, i32 2 store i32 0, ptr %t1810 store ptr %t1807, ptr @g_g_sn_fn %t1811 = getelementptr %LSlice, ptr null, i32 1 %t1812 = ptrtoint ptr %t1811 to i64 store i32 8937, ptr @lp_site %t1813 = call ptr @lp_malloc(i64 %t1812) store i32 0, ptr @lp_site %t1814 = getelementptr inbounds %LSlice, ptr %t1813, i32 0, i32 0 store ptr null, ptr %t1814 %t1815 = getelementptr inbounds %LSlice, ptr %t1813, i32 0, i32 1 store i32 0, ptr %t1815 %t1816 = getelementptr inbounds %LSlice, ptr %t1813, i32 0, i32 2 store i32 0, ptr %t1816 store ptr %t1813, ptr @g_g_sn_call %t1817 = getelementptr %LSlice, ptr null, i32 1 %t1818 = ptrtoint ptr %t1817 to i64 store i32 8938, ptr @lp_site %t1819 = call ptr @lp_malloc(i64 %t1818) store i32 0, ptr @lp_site %t1820 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 0 store ptr null, ptr %t1820 %t1821 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 1 store i32 0, ptr %t1821 %t1822 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 2 store i32 0, ptr %t1822 store ptr %t1819, ptr @g_g_cx_emits %t1823 = getelementptr %LSlice, ptr null, i32 1 %t1824 = ptrtoint ptr %t1823 to i64 store i32 8939, ptr @lp_site %t1825 = call ptr @lp_malloc(i64 %t1824) store i32 0, ptr @lp_site %t1826 = getelementptr inbounds %LSlice, ptr %t1825, i32 0, i32 0 store ptr null, ptr %t1826 %t1827 = getelementptr inbounds %LSlice, ptr %t1825, i32 0, i32 1 store i32 0, ptr %t1827 %t1828 = getelementptr inbounds %LSlice, ptr %t1825, i32 0, i32 2 store i32 0, ptr %t1828 store ptr %t1825, ptr @g_g_cx_fnrefs %t1829 = getelementptr %LSlice, ptr null, i32 1 %t1830 = ptrtoint ptr %t1829 to i64 store i32 8940, ptr @lp_site %t1831 = call ptr @lp_malloc(i64 %t1830) store i32 0, ptr @lp_site %t1832 = getelementptr inbounds %LSlice, ptr %t1831, i32 0, i32 0 store ptr null, ptr %t1832 %t1833 = getelementptr inbounds %LSlice, ptr %t1831, i32 0, i32 1 store i32 0, ptr %t1833 %t1834 = getelementptr inbounds %LSlice, ptr %t1831, i32 0, i32 2 store i32 0, ptr %t1834 store ptr %t1831, ptr @g_g_cx_h %t1835 = getelementptr %LSlice, ptr null, i32 1 %t1836 = ptrtoint ptr %t1835 to i64 store i32 8941, ptr @lp_site %t1837 = call ptr @lp_malloc(i64 %t1836) store i32 0, ptr @lp_site %t1838 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 0 store ptr null, ptr %t1838 %t1839 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 1 store i32 0, ptr %t1839 %t1840 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 2 store i32 0, ptr %t1840 store ptr %t1837, ptr @g_g_cx_hname %t1841 = getelementptr %LSlice, ptr null, i32 1 %t1842 = ptrtoint ptr %t1841 to i64 store i32 8942, ptr @lp_site %t1843 = call ptr @lp_malloc(i64 %t1842) store i32 0, ptr @lp_site %t1844 = getelementptr inbounds %LSlice, ptr %t1843, i32 0, i32 0 store ptr null, ptr %t1844 %t1845 = getelementptr inbounds %LSlice, ptr %t1843, i32 0, i32 1 store i32 0, ptr %t1845 %t1846 = getelementptr inbounds %LSlice, ptr %t1843, i32 0, i32 2 store i32 0, ptr %t1846 store ptr %t1843, ptr @g_g_cx_hhook %t1847 = getelementptr %LSlice, ptr null, i32 1 %t1848 = ptrtoint ptr %t1847 to i64 store i32 8943, ptr @lp_site %t1849 = call ptr @lp_malloc(i64 %t1848) store i32 0, ptr @lp_site %t1850 = getelementptr inbounds %LSlice, ptr %t1849, i32 0, i32 0 store ptr null, ptr %t1850 %t1851 = getelementptr inbounds %LSlice, ptr %t1849, i32 0, i32 1 store i32 0, ptr %t1851 %t1852 = getelementptr inbounds %LSlice, ptr %t1849, i32 0, i32 2 store i32 0, ptr %t1852 store ptr %t1849, ptr @g_g_cx_htarget %t1853 = getelementptr %LSlice, ptr null, i32 1 %t1854 = ptrtoint ptr %t1853 to i64 store i32 8944, ptr @lp_site %t1855 = call ptr @lp_malloc(i64 %t1854) store i32 0, ptr @lp_site %t1856 = getelementptr inbounds %LSlice, ptr %t1855, i32 0, i32 0 store ptr null, ptr %t1856 %t1857 = getelementptr inbounds %LSlice, ptr %t1855, i32 0, i32 1 store i32 0, ptr %t1857 %t1858 = getelementptr inbounds %LSlice, ptr %t1855, i32 0, i32 2 store i32 0, ptr %t1858 store ptr %t1855, ptr @g_g_cx_hq %t1859 = getelementptr %LSlice, ptr null, i32 1 %t1860 = ptrtoint ptr %t1859 to i64 store i32 8945, ptr @lp_site %t1861 = call ptr @lp_malloc(i64 %t1860) store i32 0, ptr @lp_site %t1862 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 0 store ptr null, ptr %t1862 %t1863 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 1 store i32 0, ptr %t1863 %t1864 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 2 store i32 0, ptr %t1864 store ptr %t1861, ptr @g_g_cx_hpub %t1865 = getelementptr %LSlice, ptr null, i32 1 %t1866 = ptrtoint ptr %t1865 to i64 store i32 8946, ptr @lp_site %t1867 = call ptr @lp_malloc(i64 %t1866) store i32 0, ptr @lp_site %t1868 = getelementptr inbounds %LSlice, ptr %t1867, i32 0, i32 0 store ptr null, ptr %t1868 %t1869 = getelementptr inbounds %LSlice, ptr %t1867, i32 0, i32 1 store i32 0, ptr %t1869 %t1870 = getelementptr inbounds %LSlice, ptr %t1867, i32 0, i32 2 store i32 0, ptr %t1870 store ptr %t1867, ptr @g_g_cx_hscene %t1871 = getelementptr %LSlice, ptr null, i32 1 %t1872 = ptrtoint ptr %t1871 to i64 store i32 8947, ptr @lp_site %t1873 = call ptr @lp_malloc(i64 %t1872) store i32 0, ptr @lp_site %t1874 = getelementptr inbounds %LSlice, ptr %t1873, i32 0, i32 0 store ptr null, ptr %t1874 %t1875 = getelementptr inbounds %LSlice, ptr %t1873, i32 0, i32 1 store i32 0, ptr %t1875 %t1876 = getelementptr inbounds %LSlice, ptr %t1873, i32 0, i32 2 store i32 0, ptr %t1876 store ptr %t1873, ptr @g_g_cx_hlayer %t1877 = getelementptr %LSlice, ptr null, i32 1 %t1878 = ptrtoint ptr %t1877 to i64 store i32 8948, ptr @lp_site %t1879 = call ptr @lp_malloc(i64 %t1878) store i32 0, ptr @lp_site %t1880 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 0 store ptr null, ptr %t1880 %t1881 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 1 store i32 0, ptr %t1881 %t1882 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 2 store i32 0, ptr %t1882 store ptr %t1879, ptr @g_g_cx_hlisten %t1883 = getelementptr %LSlice, ptr null, i32 1 %t1884 = ptrtoint ptr %t1883 to i64 store i32 8949, ptr @lp_site %t1885 = call ptr @lp_malloc(i64 %t1884) store i32 0, ptr @lp_site %t1886 = getelementptr inbounds %LSlice, ptr %t1885, i32 0, i32 0 store ptr null, ptr %t1886 %t1887 = getelementptr inbounds %LSlice, ptr %t1885, i32 0, i32 1 store i32 0, ptr %t1887 %t1888 = getelementptr inbounds %LSlice, ptr %t1885, i32 0, i32 2 store i32 0, ptr %t1888 store ptr %t1885, ptr @g_g_cx_slayers %t1889 = getelementptr %LSlice, ptr null, i32 1 %t1890 = ptrtoint ptr %t1889 to i64 store i32 8950, ptr @lp_site %t1891 = call ptr @lp_malloc(i64 %t1890) store i32 0, ptr @lp_site %t1892 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0 store ptr null, ptr %t1892 %t1893 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 1 store i32 0, ptr %t1893 %t1894 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 2 store i32 0, ptr %t1894 store ptr %t1891, ptr @g_g_cx_sthen %t1895 = getelementptr %LSlice, ptr null, i32 1 %t1896 = ptrtoint ptr %t1895 to i64 store i32 8951, ptr @lp_site %t1897 = call ptr @lp_malloc(i64 %t1896) store i32 0, ptr @lp_site %t1898 = getelementptr inbounds %LSlice, ptr %t1897, i32 0, i32 0 store ptr null, ptr %t1898 %t1899 = getelementptr inbounds %LSlice, ptr %t1897, i32 0, i32 1 store i32 0, ptr %t1899 %t1900 = getelementptr inbounds %LSlice, ptr %t1897, i32 0, i32 2 store i32 0, ptr %t1900 store ptr %t1897, ptr @g_g_cx_sloads %t1901 = getelementptr %LSlice, ptr null, i32 1 %t1902 = ptrtoint ptr %t1901 to i64 store i32 8952, ptr @lp_site %t1903 = call ptr @lp_malloc(i64 %t1902) store i32 0, ptr @lp_site %t1904 = getelementptr inbounds %LSlice, ptr %t1903, i32 0, i32 0 store ptr null, ptr %t1904 %t1905 = getelementptr inbounds %LSlice, ptr %t1903, i32 0, i32 1 store i32 0, ptr %t1905 %t1906 = getelementptr inbounds %LSlice, ptr %t1903, i32 0, i32 2 store i32 0, ptr %t1906 store ptr %t1903, ptr @g_g_cx_spub %t1907 = getelementptr %LSlice, ptr null, i32 1 %t1908 = ptrtoint ptr %t1907 to i64 store i32 8953, ptr @lp_site %t1909 = call ptr @lp_malloc(i64 %t1908) store i32 0, ptr @lp_site %t1910 = getelementptr inbounds %LSlice, ptr %t1909, i32 0, i32 0 store ptr null, ptr %t1910 %t1911 = getelementptr inbounds %LSlice, ptr %t1909, i32 0, i32 1 store i32 0, ptr %t1911 %t1912 = getelementptr inbounds %LSlice, ptr %t1909, i32 0, i32 2 store i32 0, ptr %t1912 store ptr %t1909, ptr @g_g_cx_wn %t1913 = getelementptr %LSlice, ptr null, i32 1 %t1914 = ptrtoint ptr %t1913 to i64 store i32 8954, ptr @lp_site %t1915 = call ptr @lp_malloc(i64 %t1914) store i32 0, ptr @lp_site %t1916 = getelementptr inbounds %LSlice, ptr %t1915, i32 0, i32 0 store ptr null, ptr %t1916 %t1917 = getelementptr inbounds %LSlice, ptr %t1915, i32 0, i32 1 store i32 0, ptr %t1917 %t1918 = getelementptr inbounds %LSlice, ptr %t1915, i32 0, i32 2 store i32 0, ptr %t1918 store ptr %t1915, ptr @g_g_cx_wkind %t1919 = getelementptr %LSlice, ptr null, i32 1 %t1920 = ptrtoint ptr %t1919 to i64 store i32 8955, ptr @lp_site %t1921 = call ptr @lp_malloc(i64 %t1920) store i32 0, ptr @lp_site %t1922 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 0 store ptr null, ptr %t1922 %t1923 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 1 store i32 0, ptr %t1923 %t1924 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 2 store i32 0, ptr %t1924 store ptr %t1921, ptr @g_g_cx_wslot %t1925 = getelementptr %LSlice, ptr null, i32 1 %t1926 = ptrtoint ptr %t1925 to i64 store i32 8956, ptr @lp_site %t1927 = call ptr @lp_malloc(i64 %t1926) store i32 0, ptr @lp_site %t1928 = getelementptr inbounds %LSlice, ptr %t1927, i32 0, i32 0 store ptr null, ptr %t1928 %t1929 = getelementptr inbounds %LSlice, ptr %t1927, i32 0, i32 1 store i32 0, ptr %t1929 %t1930 = getelementptr inbounds %LSlice, ptr %t1927, i32 0, i32 2 store i32 0, ptr %t1930 store ptr %t1927, ptr @g_g_cx_wentry %t1931 = getelementptr %LSlice, ptr null, i32 1 %t1932 = ptrtoint ptr %t1931 to i64 store i32 8957, ptr @lp_site %t1933 = call ptr @lp_malloc(i64 %t1932) store i32 0, ptr @lp_site %t1934 = getelementptr inbounds %LSlice, ptr %t1933, i32 0, i32 0 store ptr null, ptr %t1934 %t1935 = getelementptr inbounds %LSlice, ptr %t1933, i32 0, i32 1 store i32 0, ptr %t1935 %t1936 = getelementptr inbounds %LSlice, ptr %t1933, i32 0, i32 2 store i32 0, ptr %t1936 store ptr %t1933, ptr @g_ck_ro %t1937 = getelementptr %LSlice, ptr null, i32 1 %t1938 = ptrtoint ptr %t1937 to i64 store i32 8958, ptr @lp_site %t1939 = call ptr @lp_malloc(i64 %t1938) store i32 0, ptr @lp_site %t1940 = getelementptr inbounds %LSlice, ptr %t1939, i32 0, i32 0 store ptr null, ptr %t1940 %t1941 = getelementptr inbounds %LSlice, ptr %t1939, i32 0, i32 1 store i32 0, ptr %t1941 %t1942 = getelementptr inbounds %LSlice, ptr %t1939, i32 0, i32 2 store i32 0, ptr %t1942 store ptr %t1939, ptr @g_ck_alias %t1943 = getelementptr %LSlice, ptr null, i32 1 %t1944 = ptrtoint ptr %t1943 to i64 store i32 8959, ptr @lp_site %t1945 = call ptr @lp_malloc(i64 %t1944) store i32 0, ptr @lp_site %t1946 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 0 store ptr null, ptr %t1946 %t1947 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 1 store i32 0, ptr %t1947 %t1948 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 2 store i32 0, ptr %t1948 store ptr %t1945, ptr @g_ck_ro_st %t1949 = getelementptr %LSlice, ptr null, i32 1 %t1950 = ptrtoint ptr %t1949 to i64 store i32 8960, ptr @lp_site %t1951 = call ptr @lp_malloc(i64 %t1950) store i32 0, ptr @lp_site %t1952 = getelementptr inbounds %LSlice, ptr %t1951, i32 0, i32 0 store ptr null, ptr %t1952 %t1953 = getelementptr inbounds %LSlice, ptr %t1951, i32 0, i32 1 store i32 0, ptr %t1953 %t1954 = getelementptr inbounds %LSlice, ptr %t1951, i32 0, i32 2 store i32 0, ptr %t1954 store ptr %t1951, ptr @g_ck_from_st %t1955 = getelementptr %LSlice, ptr null, i32 1 %t1956 = ptrtoint ptr %t1955 to i64 store i32 8961, ptr @lp_site %t1957 = call ptr @lp_malloc(i64 %t1956) store i32 0, ptr @lp_site %t1958 = getelementptr inbounds %LSlice, ptr %t1957, i32 0, i32 0 store ptr null, ptr %t1958 %t1959 = getelementptr inbounds %LSlice, ptr %t1957, i32 0, i32 1 store i32 0, ptr %t1959 %t1960 = getelementptr inbounds %LSlice, ptr %t1957, i32 0, i32 2 store i32 0, ptr %t1960 store ptr %t1957, ptr @g_ck_fn_k %t1961 = getelementptr %LSlice, ptr null, i32 1 %t1962 = ptrtoint ptr %t1961 to i64 store i32 8962, ptr @lp_site %t1963 = call ptr @lp_malloc(i64 %t1962) store i32 0, ptr @lp_site %t1964 = getelementptr inbounds %LSlice, ptr %t1963, i32 0, i32 0 store ptr null, ptr %t1964 %t1965 = getelementptr inbounds %LSlice, ptr %t1963, i32 0, i32 1 store i32 0, ptr %t1965 %t1966 = getelementptr inbounds %LSlice, ptr %t1963, i32 0, i32 2 store i32 0, ptr %t1966 store ptr %t1963, ptr @g_ck_fn_v %t1967 = getelementptr %LSlice, ptr null, i32 1 %t1968 = ptrtoint ptr %t1967 to i64 store i32 8963, ptr @lp_site %t1969 = call ptr @lp_malloc(i64 %t1968) store i32 0, ptr @lp_site %t1970 = getelementptr inbounds %LSlice, ptr %t1969, i32 0, i32 0 store ptr null, ptr %t1970 %t1971 = getelementptr inbounds %LSlice, ptr %t1969, i32 0, i32 1 store i32 0, ptr %t1971 %t1972 = getelementptr inbounds %LSlice, ptr %t1969, i32 0, i32 2 store i32 0, ptr %t1972 store ptr %t1969, ptr @g_ck_gl_k %t1973 = getelementptr %LSlice, ptr null, i32 1 %t1974 = ptrtoint ptr %t1973 to i64 store i32 8964, ptr @lp_site %t1975 = call ptr @lp_malloc(i64 %t1974) store i32 0, ptr @lp_site %t1976 = getelementptr inbounds %LSlice, ptr %t1975, i32 0, i32 0 store ptr null, ptr %t1976 %t1977 = getelementptr inbounds %LSlice, ptr %t1975, i32 0, i32 1 store i32 0, ptr %t1977 %t1978 = getelementptr inbounds %LSlice, ptr %t1975, i32 0, i32 2 store i32 0, ptr %t1978 store ptr %t1975, ptr @g_ck_gl_v %t1979 = getelementptr %LSlice, ptr null, i32 1 %t1980 = ptrtoint ptr %t1979 to i64 store i32 8965, ptr @lp_site %t1981 = call ptr @lp_malloc(i64 %t1980) store i32 0, ptr @lp_site %t1982 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 0 store ptr null, ptr %t1982 %t1983 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 1 store i32 0, ptr %t1983 %t1984 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 2 store i32 0, ptr %t1984 store ptr %t1981, ptr @g_ck_rec_k %t1985 = getelementptr %LSlice, ptr null, i32 1 %t1986 = ptrtoint ptr %t1985 to i64 store i32 8966, ptr @lp_site %t1987 = call ptr @lp_malloc(i64 %t1986) store i32 0, ptr @lp_site %t1988 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 0 store ptr null, ptr %t1988 %t1989 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 1 store i32 0, ptr %t1989 %t1990 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 2 store i32 0, ptr %t1990 store ptr %t1987, ptr @g_ck_rec_v %t1991 = getelementptr %LSlice, ptr null, i32 1 %t1992 = ptrtoint ptr %t1991 to i64 store i32 8967, ptr @lp_site %t1993 = call ptr @lp_malloc(i64 %t1992) store i32 0, ptr @lp_site %t1994 = getelementptr inbounds %LSlice, ptr %t1993, i32 0, i32 0 store ptr null, ptr %t1994 %t1995 = getelementptr inbounds %LSlice, ptr %t1993, i32 0, i32 1 store i32 0, ptr %t1995 %t1996 = getelementptr inbounds %LSlice, ptr %t1993, i32 0, i32 2 store i32 0, ptr %t1996 store ptr %t1993, ptr @g_ck_en_k %t1997 = getelementptr %LSlice, ptr null, i32 1 %t1998 = ptrtoint ptr %t1997 to i64 store i32 8968, ptr @lp_site %t1999 = call ptr @lp_malloc(i64 %t1998) store i32 0, ptr @lp_site %t2000 = getelementptr inbounds %LSlice, ptr %t1999, i32 0, i32 0 store ptr null, ptr %t2000 %t2001 = getelementptr inbounds %LSlice, ptr %t1999, i32 0, i32 1 store i32 0, ptr %t2001 %t2002 = getelementptr inbounds %LSlice, ptr %t1999, i32 0, i32 2 store i32 0, ptr %t2002 store ptr %t1999, ptr @g_ck_en_v %t2003 = getelementptr %LSlice, ptr null, i32 1 %t2004 = ptrtoint ptr %t2003 to i64 store i32 8969, ptr @lp_site %t2005 = call ptr @lp_malloc(i64 %t2004) store i32 0, ptr @lp_site %t2006 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 0 store ptr null, ptr %t2006 %t2007 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 1 store i32 0, ptr %t2007 %t2008 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 2 store i32 0, ptr %t2008 store ptr %t2005, ptr @g_ck_ex_k %t2009 = getelementptr %LSlice, ptr null, i32 1 %t2010 = ptrtoint ptr %t2009 to i64 store i32 8970, ptr @lp_site %t2011 = call ptr @lp_malloc(i64 %t2010) store i32 0, ptr @lp_site %t2012 = getelementptr inbounds %LSlice, ptr %t2011, i32 0, i32 0 store ptr null, ptr %t2012 %t2013 = getelementptr inbounds %LSlice, ptr %t2011, i32 0, i32 1 store i32 0, ptr %t2013 %t2014 = getelementptr inbounds %LSlice, ptr %t2011, i32 0, i32 2 store i32 0, ptr %t2014 store ptr %t2011, ptr @g_ck_ex_v %t2015 = getelementptr %LSlice, ptr null, i32 1 %t2016 = ptrtoint ptr %t2015 to i64 store i32 8971, ptr @lp_site %t2017 = call ptr @lp_malloc(i64 %t2016) store i32 0, ptr @lp_site %t2018 = getelementptr inbounds %LSlice, ptr %t2017, i32 0, i32 0 store ptr null, ptr %t2018 %t2019 = getelementptr inbounds %LSlice, ptr %t2017, i32 0, i32 1 store i32 0, ptr %t2019 %t2020 = getelementptr inbounds %LSlice, ptr %t2017, i32 0, i32 2 store i32 0, ptr %t2020 store ptr %t2017, ptr @g_ck_names %t2021 = getelementptr %LSlice, ptr null, i32 1 %t2022 = ptrtoint ptr %t2021 to i64 store i32 8972, ptr @lp_site %t2023 = call ptr @lp_malloc(i64 %t2022) store i32 0, ptr @lp_site %t2024 = getelementptr inbounds %LSlice, ptr %t2023, i32 0, i32 0 store ptr null, ptr %t2024 %t2025 = getelementptr inbounds %LSlice, ptr %t2023, i32 0, i32 1 store i32 0, ptr %t2025 %t2026 = getelementptr inbounds %LSlice, ptr %t2023, i32 0, i32 2 store i32 0, ptr %t2026 store ptr %t2023, ptr @g_ck_tys store ptr @.str22214, ptr @g_ck_ret %t2027 = getelementptr %LSlice, ptr null, i32 1 %t2028 = ptrtoint ptr %t2027 to i64 store i32 8973, ptr @lp_site %t2029 = call ptr @lp_malloc(i64 %t2028) store i32 0, ptr @lp_site %t2030 = getelementptr inbounds %LSlice, ptr %t2029, i32 0, i32 0 store ptr null, ptr %t2030 %t2031 = getelementptr inbounds %LSlice, ptr %t2029, i32 0, i32 1 store i32 0, ptr %t2031 %t2032 = getelementptr inbounds %LSlice, ptr %t2029, i32 0, i32 2 store i32 0, ptr %t2032 store ptr %t2029, ptr @g_ck_shadow_seen %t2033 = getelementptr %LSlice, ptr null, i32 1 %t2034 = ptrtoint ptr %t2033 to i64 store i32 8974, ptr @lp_site %t2035 = call ptr @lp_malloc(i64 %t2034) store i32 0, ptr @lp_site %t2036 = getelementptr inbounds %LSlice, ptr %t2035, i32 0, i32 0 store ptr null, ptr %t2036 %t2037 = getelementptr inbounds %LSlice, ptr %t2035, i32 0, i32 1 store i32 0, ptr %t2037 %t2038 = getelementptr inbounds %LSlice, ptr %t2035, i32 0, i32 2 store i32 0, ptr %t2038 store ptr %t2035, ptr @g_g_gen_recs %t2039 = getelementptr %LSlice, ptr null, i32 1 %t2040 = ptrtoint ptr %t2039 to i64 store i32 8975, ptr @lp_site %t2041 = call ptr @lp_malloc(i64 %t2040) store i32 0, ptr @lp_site %t2042 = getelementptr inbounds %LSlice, ptr %t2041, i32 0, i32 0 store ptr null, ptr %t2042 %t2043 = getelementptr inbounds %LSlice, ptr %t2041, i32 0, i32 1 store i32 0, ptr %t2043 %t2044 = getelementptr inbounds %LSlice, ptr %t2041, i32 0, i32 2 store i32 0, ptr %t2044 store ptr %t2041, ptr @g_g_gen_fns %t2045 = getelementptr %LSlice, ptr null, i32 1 %t2046 = ptrtoint ptr %t2045 to i64 store i32 8976, ptr @lp_site %t2047 = call ptr @lp_malloc(i64 %t2046) store i32 0, ptr @lp_site %t2048 = getelementptr inbounds %LSlice, ptr %t2047, i32 0, i32 0 store ptr null, ptr %t2048 %t2049 = getelementptr inbounds %LSlice, ptr %t2047, i32 0, i32 1 store i32 0, ptr %t2049 %t2050 = getelementptr inbounds %LSlice, ptr %t2047, i32 0, i32 2 store i32 0, ptr %t2050 store ptr %t2047, ptr @g_g_gen_out %t2051 = getelementptr %LSlice, ptr null, i32 1 %t2052 = ptrtoint ptr %t2051 to i64 store i32 8977, ptr @lp_site %t2053 = call ptr @lp_malloc(i64 %t2052) store i32 0, ptr @lp_site %t2054 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 0 store ptr null, ptr %t2054 %t2055 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 1 store i32 0, ptr %t2055 %t2056 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 2 store i32 0, ptr %t2056 store ptr %t2053, ptr @g_g_gen_work %t2057 = getelementptr %LSlice, ptr null, i32 1 %t2058 = ptrtoint ptr %t2057 to i64 store i32 8978, ptr @lp_site %t2059 = call ptr @lp_malloc(i64 %t2058) store i32 0, ptr @lp_site %t2060 = getelementptr inbounds %LSlice, ptr %t2059, i32 0, i32 0 store ptr null, ptr %t2060 %t2061 = getelementptr inbounds %LSlice, ptr %t2059, i32 0, i32 1 store i32 0, ptr %t2061 %t2062 = getelementptr inbounds %LSlice, ptr %t2059, i32 0, i32 2 store i32 0, ptr %t2062 store ptr %t2059, ptr @g_ck_ty_k %t2063 = getelementptr %LSlice, ptr null, i32 1 %t2064 = ptrtoint ptr %t2063 to i64 store i32 8979, ptr @lp_site %t2065 = call ptr @lp_malloc(i64 %t2064) store i32 0, ptr @lp_site %t2066 = getelementptr inbounds %LSlice, ptr %t2065, i32 0, i32 0 store ptr null, ptr %t2066 %t2067 = getelementptr inbounds %LSlice, ptr %t2065, i32 0, i32 1 store i32 0, ptr %t2067 %t2068 = getelementptr inbounds %LSlice, ptr %t2065, i32 0, i32 2 store i32 0, ptr %t2068 store ptr %t2065, 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 %t239 = alloca ptr %t265 = alloca ptr %t283 = alloca i32 %t302 = alloca i32 %t312 = alloca i32 %t321 = alloca i32 %t336 = alloca i32 %t347 = alloca ptr %t364 = alloca i32 %t365 = alloca i32 %t405 = alloca i32 %t434 = alloca i32 %t435 = alloca i32 %t454 = alloca ptr %t464 = alloca ptr %t471 = alloca ptr %t473 = alloca ptr %t475 = alloca ptr %t480 = alloca ptr %t488 = alloca ptr %t506 = alloca ptr %t516 = alloca ptr %t526 = alloca ptr %t536 = alloca ptr %t571 = alloca i32 %t602 = alloca ptr %t610 = alloca ptr %t622 = alloca ptr %t625 = alloca ptr %t628 = alloca ptr %t646 = alloca ptr %t649 = alloca ptr %t662 = alloca ptr %t665 = alloca ptr %t683 = alloca i32 %t698 = alloca i32 %t727 = alloca ptr %t735 = alloca i32 %t754 = alloca ptr %t755 = alloca i32 %t780 = alloca ptr %t805 = 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 8980, 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 @.str22216) %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 @.str22217) %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 @.str22218) %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 @.str22219) %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 @.str22220) %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 @.str22221) %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 @.str22222) %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 @.str22223) %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 @.str22224) %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 @.str22225) %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 @.str22226) %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 @.str22227) %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 @.str22228) %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 @.str22229) %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 @.str22230) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then45, label %else46 then45: call void @fn_syntax_emit() br label %ifend47 else46: %t74 = load ptr, ptr %t28 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str22231) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then48, label %else49 then48: %t77 = load i32, ptr %t18 %t78 = add i32 %t77, 1 store i32 %t78, ptr %t18 %t79 = load i32, ptr %t18 %t80 = load i32, ptr @L_argc %t81 = icmp slt i32 %t79, %t80 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then51, label %ifend53 then51: %t84 = load i32, ptr %t18 %t85 = load ptr, ptr @L_argv %t86 = getelementptr ptr, ptr %t85, i32 %t84 %t87 = load ptr, ptr %t86 call void @fn_stdin_file_set(ptr %t87) br label %ifend53 ifend53: br label %ifend50 else49: %t88 = load ptr, ptr %t28 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str22232) %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_schema_out br label %ifend59 ifend59: br label %ifend56 else55: %t102 = load ptr, ptr %t28 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str22233) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then60, label %else61 then60: store i32 1, ptr @g_g_allow_globals br label %ifend62 else61: %t105 = load ptr, ptr %t28 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str22234) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then63, label %else64 then63: %t108 = load i32, ptr %t18 %t109 = add i32 %t108, 1 store i32 %t109, ptr %t18 %t110 = load i32, ptr %t18 %t111 = load i32, ptr @L_argc %t112 = icmp slt i32 %t110, %t111 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then66, label %ifend68 then66: %t115 = load i32, ptr %t18 %t116 = load ptr, ptr @L_argv %t117 = getelementptr ptr, ptr %t116, i32 %t115 %t118 = load ptr, ptr %t117 store ptr %t118, ptr @g_g_mg_plan br label %ifend68 ifend68: store i32 1, ptr @g_g_migrate store i32 1, ptr @g_g_allow_globals br label %ifend65 else64: %t119 = load ptr, ptr %t28 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str22235) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then69, label %else70 then69: store i32 1, ptr @g_g_mg_prune br label %ifend71 else70: %t122 = load ptr, ptr %t28 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str22236) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then72, label %else73 then72: store i32 1, ptr @g_g_mg_prune store i32 1, ptr @g_g_mg_tighten br label %ifend74 else73: %t125 = load ptr, ptr %t28 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str22237) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then75, label %else76 then75: store i32 1, ptr @g_g_mg_runtime br label %ifend77 else76: %t128 = load ptr, ptr %t28 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str22238) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then78, label %else79 then78: store i32 1, ptr @g_g_coverage br label %ifend80 else79: %t131 = load ptr, ptr %t28 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str22239) %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 %t7 br label %ifend86 ifend86: br label %ifend83 else82: %t145 = load ptr, ptr %t28 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str22240) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then87, label %else88 then87: store i32 1, ptr %t9 br label %ifend89 else88: %t148 = load ptr, ptr %t28 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str22241) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then90, label %else91 then90: %t151 = load i32, ptr %t18 %t152 = add i32 %t151, 1 store i32 %t152, ptr %t18 %t153 = load i32, ptr %t18 %t154 = load i32, ptr @L_argc %t155 = icmp slt i32 %t153, %t154 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then93, label %ifend95 then93: %t158 = load i32, ptr %t18 %t159 = load ptr, ptr @L_argv %t160 = getelementptr ptr, ptr %t159, i32 %t158 %t161 = load ptr, ptr %t160 store ptr %t161, ptr %t8 br label %ifend95 ifend95: br label %ifend92 else91: %t162 = load ptr, ptr %t28 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str22242) %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then96, label %else97 then96: %t165 = load i32, ptr %t18 %t166 = add i32 %t165, 1 store i32 %t166, ptr %t18 %t167 = load i32, ptr %t18 %t168 = load i32, ptr @L_argc %t169 = icmp slt i32 %t167, %t168 %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then99, label %ifend101 then99: %t172 = load i32, ptr %t18 %t173 = load ptr, ptr @L_argv %t174 = getelementptr ptr, ptr %t173, i32 %t172 %t175 = load ptr, ptr %t174 store ptr %t175, ptr %t17 br label %ifend101 ifend101: br label %ifend98 else97: %t176 = load ptr, ptr %t28 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str22243) %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then102, label %else103 then102: %t179 = load i32, ptr %t18 %t180 = add i32 %t179, 1 store i32 %t180, ptr %t18 %t181 = load i32, ptr %t18 %t182 = load i32, ptr @L_argc %t183 = icmp slt i32 %t181, %t182 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then105, label %ifend107 then105: %t186 = load ptr, ptr %t16 %t187 = load i32, ptr %t18 %t188 = load ptr, ptr @L_argv %t189 = getelementptr ptr, ptr %t188, i32 %t187 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t192 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 2 %t193 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t194 = load i32, ptr %t191 %t195 = load i32, ptr %t192 %t196 = icmp sge i32 %t194, %t195 br i1 %t196, label %grow108, label %put109 grow108: %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 8981, 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 %put109 put109: %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 %ifend107 ifend107: br label %ifend104 else103: %t209 = load ptr, ptr %t28 %t210 = call i32 @lp_str_eq(ptr %t209, ptr @.str22244) %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then110, label %else111 then110: %t212 = load i32, ptr %t18 %t213 = add i32 %t212, 1 store i32 %t213, ptr %t18 %t214 = load i32, ptr %t18 %t215 = load i32, ptr @L_argc %t216 = icmp slt i32 %t214, %t215 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then113, label %ifend115 then113: %t219 = load i32, ptr %t18 %t220 = load ptr, ptr @L_argv %t221 = getelementptr ptr, ptr %t220, i32 %t219 %t222 = load ptr, ptr %t221 store ptr %t222, ptr %t1 br label %ifend115 ifend115: br label %ifend112 else111: %t223 = load ptr, ptr %t28 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str22245) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then116, label %else117 then116: store i32 1, ptr @g_g_es_report br label %ifend118 else117: %t226 = load ptr, ptr %t28 %t227 = call i32 @fn_fence_flag(ptr %t226) %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then119, label %else120 then119: br label %ifend121 else120: %t229 = load ptr, ptr %t28 %t230 = getelementptr inbounds i8, ptr %t229, i32 0 %t231 = load i8, ptr %t230 %t232 = zext i8 %t231 to i32 %t233 = icmp eq i32 %t232, 45 %t234 = zext i1 %t233 to i32 %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then122, label %else123 then122: %t236 = load ptr, ptr %t28 store i32 8982, ptr @lp_site %t237 = call ptr @lp_str_concat(ptr @.str22246, ptr %t236) store i32 0, ptr @lp_site store i32 8983, ptr @lp_site %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str22247) store i32 0, ptr @lp_site call void @lp_free(ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr @__stderrp %t241 = load ptr, ptr %t239 %t242 = load ptr, ptr %t239 %t243 = call i64 @strlen(ptr %t242) %t244 = trunc i64 %t243 to i32 %t245 = zext i32 %t244 to i64 %t246 = call i64 @fwrite(ptr %t241, i64 1, i64 %t245, ptr %t240) %t247 = trunc i64 %t246 to i32 br label %ifend124 else123: %t248 = load ptr, ptr %t28 store ptr %t248, ptr %t0 br label %ifend124 ifend124: br label %ifend121 ifend121: br label %ifend118 ifend118: br label %ifend112 ifend112: br label %ifend104 ifend104: br label %ifend98 ifend98: br label %ifend92 ifend92: br label %ifend89 ifend89: br label %ifend83 ifend83: br label %ifend80 ifend80: br label %ifend77 ifend77: br label %ifend74 ifend74: br label %ifend71 ifend71: br label %ifend65 ifend65: br label %ifend62 ifend62: br label %ifend56 ifend56: 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 %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: %t249 = load i32, ptr %t18 %t250 = add i32 %t249, 1 store i32 %t250, ptr %t18 br label %wcond0 wend2: %t251 = load ptr, ptr %t0 %t252 = icmp eq ptr %t251, null %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then125, label %ifend127 then125: call void @fn_die(ptr @.str22248) br label %ifend127 ifend127: %t255 = load ptr, ptr %t7 %t256 = icmp ne ptr %t255, null %t257 = zext i1 %t256 to i32 %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then128, label %else129 then128: %t259 = load ptr, ptr %t7 %t260 = call i32 @fn_has_sub(ptr %t259, ptr @.str22249) store i32 %t260, ptr @g_g_target_win br label %ifend130 else129: %t261 = call i32 @fn_host_is_windows() store i32 %t261, ptr @g_g_target_win br label %ifend130 ifend130: %t262 = load ptr, ptr %t0 call void @fn_i18n_manifest(ptr %t262) %t263 = load ptr, ptr %t0 %t264 = call ptr @fn_read_file(ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t265 %t267 = icmp eq ptr %t266, null %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then131, label %ifend133 then131: call void @fn_die(ptr @.str22250) br label %ifend133 ifend133: %t270 = load ptr, ptr @g_g_fm_src %t271 = load ptr, ptr %t0 %t272 = load ptr, ptr %t265 call void @fn_fm_put(ptr %t270, ptr %t271, ptr %t272) %t273 = load ptr, ptr %t0 %t274 = call ptr @fn_dir_of(ptr %t273) store ptr %t274, ptr @g_cur_dir %t275 = load ptr, ptr %t0 %t276 = call ptr @fn_base_name(ptr %t275) store ptr %t276, ptr @g_g_src_name %t277 = load ptr, ptr %t0 store ptr %t277, ptr @g_g_parse_file %t278 = load ptr, ptr %t0 store ptr %t278, ptr @g_g_act_main %t279 = load ptr, ptr %t265 call void @fn_lex(ptr %t279) call void @fn_parse_program() %t280 = load ptr, ptr @g_prog %t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t282 = load i32, ptr %t281 store i32 %t282, ptr @g_g_prog_user_end %t284 = load ptr, ptr %t8 %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 %t283 br i1 %t287, label %sc134, label %scend135 sc134: %t289 = load ptr, ptr %t8 %t290 = call i64 @strlen(ptr %t289) %t291 = trunc i64 %t290 to i32 %t292 = icmp sgt i32 %t291, 0 %t293 = zext i1 %t292 to i32 %t294 = icmp ne i32 %t293, 0 %t295 = zext i1 %t294 to i32 store i32 %t295, ptr %t283 br label %scend135 scend135: %t296 = load i32, ptr %t283 %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then136, label %ifend138 then136: %t298 = load ptr, ptr %t8 store ptr %t298, ptr @g_g_game_name br label %ifend138 ifend138: %t299 = load i32, ptr %t4 %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then139, label %ifend141 then139: call void @exit(i32 0) unreachable ifend141: call void @fn_maybe_splice_runtime() %t301 = load ptr, ptr %t0 call void @fn_fence_manifest(ptr %t301) call void @fn_ui_register_gotos() %t303 = load i32, ptr %t6 %t304 = icmp ne i32 %t303, 0 %t305 = zext i1 %t304 to i32 store i32 %t305, ptr %t302 br i1 %t304, label %scend143, label %sc142 sc142: %t306 = load ptr, ptr %t1 %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 %t302 br label %scend143 scend143: %t311 = load i32, ptr %t302 store i32 %t311, ptr %t312 %t313 = load i32, ptr %t2 %t314 = icmp eq i32 %t313, 1 %t315 = zext i1 %t314 to i32 %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then144, label %else145 then144: store i32 1, ptr @g_g_windowed br label %ifend146 else145: %t317 = load i32, ptr %t2 %t318 = icmp eq i32 %t317, 2 %t319 = zext i1 %t318 to i32 %t320 = icmp ne i32 %t319, 0 br i1 %t320, label %then147, label %else148 then147: store i32 0, ptr @g_g_windowed br label %ifend149 else148: %t322 = load i32, ptr %t312 %t323 = icmp ne i32 %t322, 0 %t324 = zext i1 %t323 to i32 store i32 %t324, ptr %t321 br i1 %t323, label %sc150, label %scend151 sc150: %t325 = call i32 @fn_has_systems() %t326 = icmp ne i32 %t325, 0 %t327 = zext i1 %t326 to i32 store i32 %t327, ptr %t321 br label %scend151 scend151: %t328 = load i32, ptr %t321 store i32 %t328, ptr @g_g_windowed br label %ifend149 ifend149: br label %ifend146 ifend146: store i32 0, ptr @g_g_parsing call void @fn_privates_rename() call void @fn_check_duplicate_fns() call void @fn_check_duplicate_decls() %t329 = load ptr, ptr %t0 store ptr %t329, ptr @g_g_mg_entry %t330 = load i32, ptr @g_g_migrate %t331 = icmp ne i32 %t330, 0 br i1 %t331, label %then152, label %ifend154 then152: call void @fn_mg_collect() br label %ifend154 ifend154: call void @fn_ix_start() call void @fn_check_program() call void @fn_i18n_check() %t332 = load i32, ptr @g_g_es_report %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then155, label %else156 then155: call void @fn_escape_report() br label %ifend157 else156: %t334 = load i32, ptr @g_g_arena %t335 = icmp ne i32 %t334, 0 br i1 %t335, label %then158, label %ifend160 then158: call void @fn_escape_analyse() br label %ifend160 ifend160: br label %ifend157 ifend157: %t337 = load i32, ptr @g_g_arena_strict %t338 = icmp ne i32 %t337, 0 %t339 = zext i1 %t338 to i32 store i32 %t339, ptr %t336 br i1 %t338, label %sc161, label %scend162 sc161: %t340 = call ptr @fn_getenv_or(ptr @.str22251, ptr @.str22252) %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str22253) %t342 = icmp ne i32 %t341, 0 %t343 = zext i1 %t342 to i32 store i32 %t343, ptr %t336 br label %scend162 scend162: %t344 = load i32, ptr %t336 %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then163, label %ifend165 then163: store i32 8984, ptr @lp_site %t346 = call ptr @lp_pak_open(ptr @.str22254, ptr @.str22255) store i32 0, ptr @lp_site store ptr %t346, ptr %t347 %t348 = load ptr, ptr %t347 call void @fn_deps_reach(ptr %t348) %t349 = load ptr, ptr %t347 call i32 @fclose(ptr %t349) br label %ifend165 ifend165: %t350 = load i32, ptr @g_g_migrate %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then166, label %ifend168 then166: call void @fn_mg_finish() br label %ifend168 ifend168: call void @fn_schema_hash_compute() %t352 = load ptr, ptr @g_g_schema_out %t353 = icmp ne ptr %t352, null %t354 = zext i1 %t353 to i32 %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then169, label %ifend171 then169: %t356 = load ptr, ptr @g_g_schema_out %t357 = call i32 @fn_schema_write(ptr %t356) %t358 = icmp eq i32 %t357, 0 %t359 = zext i1 %t358 to i32 %t360 = icmp ne i32 %t359, 0 br i1 %t360, label %then172, label %ifend174 then172: %t361 = load ptr, ptr @g_g_schema_out store i32 8985, ptr @lp_site %t362 = call ptr @lp_str_concat(ptr @.str22256, ptr %t361) store i32 0, ptr @lp_site store i32 8986, ptr @lp_site %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str22257) store i32 0, ptr @lp_site call void @lp_free(ptr %t362) call void @fn_die(ptr %t363) br label %ifend174 ifend174: %t366 = load i32, ptr @g_g_check_only %t367 = icmp eq 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 %sc175, label %scend176 sc175: %t371 = load i32, ptr %t312 %t372 = icmp eq i32 %t371, 0 %t373 = zext i1 %t372 to i32 %t374 = icmp ne i32 %t373, 0 %t375 = zext i1 %t374 to i32 store i32 %t375, ptr %t365 br label %scend176 scend176: %t376 = load i32, ptr %t365 %t377 = icmp ne i32 %t376, 0 %t378 = zext i1 %t377 to i32 store i32 %t378, ptr %t364 br i1 %t377, label %sc177, label %scend178 sc177: %t379 = load i32, ptr %t3 %t380 = icmp eq i32 %t379, 0 %t381 = zext i1 %t380 to i32 %t382 = icmp ne i32 %t381, 0 %t383 = zext i1 %t382 to i32 store i32 %t383, ptr %t364 br label %scend178 scend178: %t384 = load i32, ptr %t364 %t385 = icmp ne i32 %t384, 0 br i1 %t385, label %then179, label %ifend181 then179: call void @fn_diag_exit(i32 0) br label %ifend181 ifend181: br label %ifend171 ifend171: %t386 = load i32, ptr @g_g_check_only %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then182, label %ifend184 then182: call void @fn_pm_check_maps() call void @fn_emit_program() call void @fn_stdin_file_unreached() %t388 = load i32, ptr @g_g_dg_errors %t389 = icmp sgt i32 %t388, 0 %t390 = zext i1 %t389 to i32 %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then185, label %ifend187 then185: call void @fn_diag_exit(i32 1) br label %ifend187 ifend187: call void @fn_diag_exit(i32 0) br label %ifend184 ifend184: call void @fn_emit_program() call void @fn_stdin_file_unreached() %t392 = load i32, ptr @g_g_dg_errors %t393 = icmp sgt i32 %t392, 0 %t394 = zext i1 %t393 to i32 %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then188, label %ifend190 then188: call void @fn_diag_exit(i32 1) br label %ifend190 ifend190: call void @fn_deps_flush() %t396 = load i32, ptr %t3 %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then191, label %ifend193 then191: %t398 = load ptr, ptr %t1 %t399 = call i32 @fn_ir_flush(ptr %t398) br label %ret ifend193: %t400 = load i32, ptr %t312 %t401 = icmp eq i32 %t400, 0 %t402 = zext i1 %t401 to i32 %t403 = icmp ne i32 %t402, 0 br i1 %t403, label %then194, label %ifend196 then194: %t404 = call i32 @fn_ir_flush(ptr null) br label %ret ifend196: %t406 = load i32, ptr %t6 %t407 = icmp ne i32 %t406, 0 %t408 = zext i1 %t407 to i32 store i32 %t408, ptr %t405 br i1 %t407, label %sc197, label %scend198 sc197: %t409 = load ptr, ptr %t1 %t410 = icmp eq ptr %t409, null %t411 = zext i1 %t410 to i32 %t412 = icmp ne i32 %t411, 0 %t413 = zext i1 %t412 to i32 store i32 %t413, ptr %t405 br label %scend198 scend198: %t414 = load i32, ptr %t405 %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then199, label %ifend201 then199: %t416 = call i32 @fn_host_is_windows() %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then202, label %else203 then202: %t418 = call ptr @fn_getenv_or(ptr @.str22258, ptr @.str22259) %t419 = call ptr @fn_fwd_slashes(ptr %t418) store i32 8987, ptr @lp_site %t420 = call ptr @lp_str_concat(ptr %t419, ptr @.str22260) store i32 0, ptr @lp_site %t421 = load ptr, ptr %t0 %t422 = call ptr @fn_base_name(ptr %t421) %t423 = call ptr @fn_strip_ludic(ptr %t422) store i32 8988, ptr @lp_site %t424 = call ptr @lp_str_concat(ptr %t420, ptr %t423) store i32 0, ptr @lp_site call void @lp_free(ptr %t420) store ptr %t424, ptr %t1 br label %ifend204 else203: %t425 = load ptr, ptr %t0 %t426 = call ptr @fn_base_name(ptr %t425) %t427 = call ptr @fn_strip_ludic(ptr %t426) store i32 8989, ptr @lp_site %t428 = call ptr @lp_str_concat(ptr @.str22261, ptr %t427) store i32 0, ptr @lp_site store ptr %t428, ptr %t1 br label %ifend204 ifend204: br label %ifend201 ifend201: %t429 = load i32, ptr @g_g_target_win %t430 = icmp ne i32 %t429, 0 br i1 %t430, label %then205, label %ifend207 then205: %t431 = load ptr, ptr %t1 %t432 = call i64 @strlen(ptr %t431) %t433 = trunc i64 %t432 to i32 store i32 %t433, ptr %t434 store i32 0, ptr %t435 %t436 = load i32, ptr %t434 %t437 = icmp sge i32 %t436, 4 %t438 = zext i1 %t437 to i32 %t439 = icmp ne i32 %t438, 0 br i1 %t439, label %then208, label %ifend210 then208: %t440 = load ptr, ptr %t1 %t441 = load i32, ptr %t434 %t442 = sub i32 %t441, 4 %t443 = load i32, ptr %t434 store i32 8990, ptr @lp_site %t444 = call ptr @lp_str_slice(ptr %t440, i32 %t442, i32 %t443) store i32 0, ptr @lp_site %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str22262) call void @lp_free(ptr %t444) store i32 %t445, ptr %t435 br label %ifend210 ifend210: %t446 = load i32, ptr %t435 %t447 = icmp eq i32 %t446, 0 %t448 = zext i1 %t447 to i32 %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %then211, label %ifend213 then211: %t450 = load ptr, ptr %t1 store i32 8991, ptr @lp_site %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str22263) store i32 0, ptr @lp_site store ptr %t451, ptr %t1 br label %ifend213 ifend213: br label %ifend207 ifend207: %t452 = load ptr, ptr %t1 %t453 = call ptr @fn_dir_of(ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t454 %t456 = call i64 @strlen(ptr %t455) %t457 = trunc i64 %t456 to i32 %t458 = icmp sgt i32 %t457, 0 %t459 = zext i1 %t458 to i32 %t460 = icmp ne i32 %t459, 0 br i1 %t460, label %then214, label %ifend216 then214: %t461 = load ptr, ptr %t454 call void @fn_make_dir(ptr %t461) br label %ifend216 ifend216: %t462 = load ptr, ptr %t1 store i32 8992, ptr @lp_site %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str22264) store i32 0, ptr @lp_site store ptr %t463, ptr %t464 %t465 = load ptr, ptr %t464 %t466 = call i32 @fn_ir_flush(ptr %t465) %t467 = icmp eq i32 %t466, 0 %t468 = zext i1 %t467 to i32 %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then217, label %ifend219 then217: call void @fn_die(ptr @.str22265) br label %ifend219 ifend219: %t470 = call ptr @fn_find_cc() store ptr %t470, ptr %t471 %t472 = call ptr @fn_ludic_home() store ptr %t472, ptr %t473 %t474 = call ptr @fn_getenv_or(ptr @.str22266, ptr @.str22267) store ptr %t474, ptr %t475 %t476 = load ptr, ptr %t464 %t477 = load ptr, ptr %t1 %t478 = load ptr, ptr %t475 %t479 = call ptr @fn_split_compile(ptr %t476, ptr %t477, ptr %t478) store ptr %t479, ptr %t480 %t481 = load ptr, ptr %t471 store i32 8993, ptr @lp_site %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str22268) store i32 0, ptr @lp_site %t483 = load ptr, ptr %t475 store i32 8994, ptr @lp_site %t484 = call ptr @lp_str_concat(ptr %t482, ptr %t483) store i32 0, ptr @lp_site call void @lp_free(ptr %t482) store i32 8995, ptr @lp_site %t485 = call ptr @lp_str_concat(ptr %t484, ptr @.str22269) store i32 0, ptr @lp_site call void @lp_free(ptr %t484) %t486 = load ptr, ptr %t464 store i32 8996, ptr @lp_site %t487 = call ptr @lp_str_concat(ptr %t485, ptr %t486) store i32 0, ptr @lp_site call void @lp_free(ptr %t485) store ptr %t487, ptr %t488 %t489 = load ptr, ptr %t480 %t490 = icmp ne ptr %t489, null %t491 = zext i1 %t490 to i32 %t492 = icmp ne i32 %t491, 0 br i1 %t492, label %then220, label %ifend222 then220: %t493 = load ptr, ptr %t471 store i32 8997, ptr @lp_site %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str22270) store i32 0, ptr @lp_site %t495 = load ptr, ptr %t475 store i32 8998, 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) store i32 8999, ptr @lp_site %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str22271) store i32 0, ptr @lp_site call void @lp_free(ptr %t496) %t498 = load ptr, ptr %t480 store i32 9000, ptr @lp_site %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) store i32 0, ptr @lp_site call void @lp_free(ptr %t497) store ptr %t499, ptr %t488 br label %ifend222 ifend222: %t500 = load i32, ptr @g_g_target_win %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then223, label %else224 then223: %t502 = load i32, ptr @g_g_windowed %t503 = icmp ne i32 %t502, 0 br i1 %t503, label %then226, label %ifend228 then226: %t504 = load ptr, ptr %t473 %t505 = call ptr @fn_join_path(ptr %t504, ptr @.str22272) store ptr %t505, ptr %t506 %t507 = load ptr, ptr %t488 store i32 9001, ptr @lp_site %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str22273) store i32 0, ptr @lp_site %t509 = load ptr, ptr %t506 store i32 9002, ptr @lp_site %t510 = call ptr @lp_str_concat(ptr %t508, ptr %t509) store i32 0, ptr @lp_site call void @lp_free(ptr %t508) store i32 9003, ptr @lp_site %t511 = call ptr @lp_str_concat(ptr %t510, ptr @.str22274) store i32 0, ptr @lp_site call void @lp_free(ptr %t510) store ptr %t511, ptr %t488 %t512 = load i32, ptr @g_g_uses_audio %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then229, label %ifend231 then229: %t514 = load ptr, ptr %t473 %t515 = call ptr @fn_join_path(ptr %t514, ptr @.str22275) store ptr %t515, ptr %t516 %t517 = load ptr, ptr %t488 store i32 9004, ptr @lp_site %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str22276) store i32 0, ptr @lp_site %t519 = load ptr, ptr %t516 store i32 9005, 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) store i32 9006, ptr @lp_site %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str22277) store i32 0, ptr @lp_site call void @lp_free(ptr %t520) store ptr %t521, ptr %t488 br label %ifend231 ifend231: br label %ifend228 ifend228: br label %ifend225 else224: %t522 = load i32, ptr @g_g_windowed %t523 = icmp ne i32 %t522, 0 br i1 %t523, label %then232, label %ifend234 then232: %t524 = load ptr, ptr %t473 %t525 = call ptr @fn_join_path(ptr %t524, ptr @.str22278) store ptr %t525, ptr %t526 %t527 = load ptr, ptr %t488 store i32 9007, ptr @lp_site %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str22279) store i32 0, ptr @lp_site %t529 = load ptr, ptr %t526 store i32 9008, 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) store i32 9009, ptr @lp_site %t531 = call ptr @lp_str_concat(ptr %t530, ptr @.str22280) store i32 0, ptr @lp_site call void @lp_free(ptr %t530) store ptr %t531, ptr %t488 %t532 = load i32, ptr @g_g_uses_audio %t533 = icmp ne i32 %t532, 0 br i1 %t533, label %then235, label %ifend237 then235: %t534 = load ptr, ptr %t473 %t535 = call ptr @fn_join_path(ptr %t534, ptr @.str22281) store ptr %t535, ptr %t536 %t537 = load ptr, ptr %t488 store i32 9010, ptr @lp_site %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str22282) store i32 0, ptr @lp_site %t539 = load ptr, ptr %t536 store i32 9011, 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) store i32 9012, ptr @lp_site %t541 = call ptr @lp_str_concat(ptr %t540, ptr @.str22283) store i32 0, ptr @lp_site call void @lp_free(ptr %t540) store ptr %t541, ptr %t488 br label %ifend237 ifend237: br label %ifend234 ifend234: br label %ifend225 ifend225: %t542 = load i32, ptr @g_g_uses_jobs %t543 = icmp ne i32 %t542, 0 br i1 %t543, label %then238, label %ifend240 then238: %t544 = load i32, ptr @g_g_target_win %t545 = icmp ne i32 %t544, 0 br i1 %t545, label %then241, label %else242 then241: %t546 = load ptr, ptr %t488 store i32 9013, ptr @lp_site %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str22284) store i32 0, ptr @lp_site %t548 = load ptr, ptr %t473 %t549 = call ptr @fn_join_path(ptr %t548, ptr @.str22285) store i32 9014, ptr @lp_site %t550 = call ptr @lp_str_concat(ptr %t547, ptr %t549) store i32 0, ptr @lp_site call void @lp_free(ptr %t547) store ptr %t550, ptr %t488 br label %ifend243 else242: %t551 = load ptr, ptr %t488 store i32 9015, ptr @lp_site %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str22286) store i32 0, ptr @lp_site %t553 = load ptr, ptr %t473 %t554 = call ptr @fn_join_path(ptr %t553, ptr @.str22287) store i32 9016, ptr @lp_site %t555 = call ptr @lp_str_concat(ptr %t552, ptr %t554) store i32 0, ptr @lp_site call void @lp_free(ptr %t552) store ptr %t555, ptr %t488 br label %ifend243 ifend243: br label %ifend240 ifend240: %t556 = load i32, ptr @g_g_uses_udp %t557 = icmp ne i32 %t556, 0 br i1 %t557, label %then244, label %ifend246 then244: %t558 = load i32, ptr @g_g_target_win %t559 = icmp ne i32 %t558, 0 br i1 %t559, label %then247, label %else248 then247: %t560 = load ptr, ptr %t488 store i32 9017, ptr @lp_site %t561 = call ptr @lp_str_concat(ptr %t560, ptr @.str22288) store i32 0, ptr @lp_site %t562 = load ptr, ptr %t473 %t563 = call ptr @fn_join_path(ptr %t562, ptr @.str22289) store i32 9018, ptr @lp_site %t564 = call ptr @lp_str_concat(ptr %t561, ptr %t563) store i32 0, ptr @lp_site call void @lp_free(ptr %t561) store i32 9019, ptr @lp_site %t565 = call ptr @lp_str_concat(ptr %t564, ptr @.str22290) store i32 0, ptr @lp_site call void @lp_free(ptr %t564) store ptr %t565, ptr %t488 br label %ifend249 else248: %t566 = load ptr, ptr %t488 store i32 9020, ptr @lp_site %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str22291) store i32 0, ptr @lp_site %t568 = load ptr, ptr %t473 %t569 = call ptr @fn_join_path(ptr %t568, ptr @.str22292) store i32 9021, ptr @lp_site %t570 = call ptr @lp_str_concat(ptr %t567, ptr %t569) store i32 0, ptr @lp_site call void @lp_free(ptr %t567) store ptr %t570, ptr %t488 br label %ifend249 ifend249: br label %ifend246 ifend246: %t572 = load i32, ptr @g_g_target_win %t573 = icmp ne i32 %t572, 0 %t574 = zext i1 %t573 to i32 store i32 %t574, ptr %t571 br i1 %t573, label %sc250, label %scend251 sc250: %t575 = load i32, ptr @g_g_uses_cryptort %t576 = icmp ne i32 %t575, 0 %t577 = zext i1 %t576 to i32 store i32 %t577, ptr %t571 br label %scend251 scend251: %t578 = load i32, ptr %t571 %t579 = icmp ne i32 %t578, 0 br i1 %t579, label %then252, label %ifend254 then252: %t580 = load ptr, ptr %t488 store i32 9022, ptr @lp_site %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str22293) store i32 0, ptr @lp_site store ptr %t581, ptr %t488 br label %ifend254 ifend254: %t582 = load i32, ptr @g_g_uses_process %t583 = icmp ne i32 %t582, 0 br i1 %t583, label %then255, label %ifend257 then255: %t584 = load i32, ptr @g_g_target_win %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then258, label %else259 then258: %t586 = load ptr, ptr %t488 store i32 9023, ptr @lp_site %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str22294) store i32 0, ptr @lp_site %t588 = load ptr, ptr %t473 %t589 = call ptr @fn_join_path(ptr %t588, ptr @.str22295) store i32 9024, 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) store ptr %t590, ptr %t488 br label %ifend260 else259: %t591 = load ptr, ptr %t488 store i32 9025, ptr @lp_site %t592 = call ptr @lp_str_concat(ptr %t591, ptr @.str22296) store i32 0, ptr @lp_site %t593 = load ptr, ptr %t473 %t594 = call ptr @fn_join_path(ptr %t593, ptr @.str22297) store i32 9026, ptr @lp_site %t595 = call ptr @lp_str_concat(ptr %t592, ptr %t594) store i32 0, ptr @lp_site call void @lp_free(ptr %t592) store ptr %t595, ptr %t488 br label %ifend260 ifend260: br label %ifend257 ifend257: %t596 = load i32, ptr @g_g_uses_http %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then261, label %ifend263 then261: %t598 = load i32, ptr @g_g_target_win %t599 = icmp ne i32 %t598, 0 br i1 %t599, label %then264, label %else265 then264: %t600 = load ptr, ptr %t473 %t601 = call ptr @fn_join_path(ptr %t600, ptr @.str22298) store ptr %t601, ptr %t602 %t603 = load ptr, ptr %t488 store i32 9027, ptr @lp_site %t604 = call ptr @lp_str_concat(ptr %t603, ptr @.str22299) store i32 0, ptr @lp_site %t605 = load ptr, ptr %t602 store i32 9028, ptr @lp_site %t606 = call ptr @lp_str_concat(ptr %t604, ptr %t605) store i32 0, ptr @lp_site call void @lp_free(ptr %t604) store i32 9029, ptr @lp_site %t607 = call ptr @lp_str_concat(ptr %t606, ptr @.str22300) store i32 0, ptr @lp_site call void @lp_free(ptr %t606) store ptr %t607, ptr %t488 br label %ifend266 else265: %t608 = load ptr, ptr %t473 %t609 = call ptr @fn_join_path(ptr %t608, ptr @.str22301) store ptr %t609, ptr %t610 %t611 = load ptr, ptr %t488 store i32 9030, ptr @lp_site %t612 = call ptr @lp_str_concat(ptr %t611, ptr @.str22302) store i32 0, ptr @lp_site %t613 = load ptr, ptr %t610 store i32 9031, ptr @lp_site %t614 = call ptr @lp_str_concat(ptr %t612, ptr %t613) store i32 0, ptr @lp_site call void @lp_free(ptr %t612) store i32 9032, ptr @lp_site %t615 = call ptr @lp_str_concat(ptr %t614, ptr @.str22303) store i32 0, ptr @lp_site call void @lp_free(ptr %t614) store ptr %t615, ptr %t488 br label %ifend266 ifend266: br label %ifend263 ifend263: %t616 = load i32, ptr @g_g_uses_gl %t617 = icmp ne i32 %t616, 0 br i1 %t617, label %then267, label %ifend269 then267: %t618 = load i32, ptr @g_g_target_win %t619 = icmp ne i32 %t618, 0 br i1 %t619, label %then270, label %else271 then270: %t620 = load ptr, ptr %t473 %t621 = call ptr @fn_join_path(ptr %t620, ptr @.str22304) store ptr %t621, ptr %t622 %t623 = load ptr, ptr %t473 %t624 = call ptr @fn_join_path(ptr %t623, ptr @.str22305) store ptr %t624, ptr %t625 %t626 = load ptr, ptr %t473 %t627 = call ptr @fn_join_path(ptr %t626, ptr @.str22306) store ptr %t627, ptr %t628 %t629 = load i32, ptr @g_g_windowed %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then273, label %ifend275 then273: %t631 = load ptr, ptr %t473 %t632 = call ptr @fn_join_path(ptr %t631, ptr @.str22307) store ptr %t632, ptr %t628 br label %ifend275 ifend275: %t633 = load ptr, ptr %t488 store i32 9033, ptr @lp_site %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str22308) store i32 0, ptr @lp_site %t635 = load ptr, ptr %t622 store i32 9034, 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 9035, ptr @lp_site %t637 = call ptr @lp_str_concat(ptr %t636, ptr @.str22309) store i32 0, ptr @lp_site call void @lp_free(ptr %t636) %t638 = load ptr, ptr %t625 store i32 9036, 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 9037, ptr @lp_site %t640 = call ptr @lp_str_concat(ptr %t639, ptr @.str22310) store i32 0, ptr @lp_site call void @lp_free(ptr %t639) %t641 = load ptr, ptr %t628 store i32 9038, ptr @lp_site %t642 = call ptr @lp_str_concat(ptr %t640, ptr %t641) store i32 0, ptr @lp_site call void @lp_free(ptr %t640) store i32 9039, ptr @lp_site %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str22311) store i32 0, ptr @lp_site call void @lp_free(ptr %t642) store ptr %t643, ptr %t488 br label %ifend272 else271: %t644 = load ptr, ptr %t473 %t645 = call ptr @fn_join_path(ptr %t644, ptr @.str22312) store ptr %t645, ptr %t646 %t647 = load ptr, ptr %t473 %t648 = call ptr @fn_join_path(ptr %t647, ptr @.str22313) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t488 store i32 9040, ptr @lp_site %t651 = call ptr @lp_str_concat(ptr %t650, ptr @.str22314) store i32 0, ptr @lp_site %t652 = load ptr, ptr %t646 store i32 9041, ptr @lp_site %t653 = call ptr @lp_str_concat(ptr %t651, ptr %t652) store i32 0, ptr @lp_site call void @lp_free(ptr %t651) store i32 9042, ptr @lp_site %t654 = call ptr @lp_str_concat(ptr %t653, ptr @.str22315) store i32 0, ptr @lp_site call void @lp_free(ptr %t653) %t655 = load ptr, ptr %t649 store i32 9043, 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 9044, ptr @lp_site %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str22316) store i32 0, ptr @lp_site call void @lp_free(ptr %t656) store ptr %t657, ptr %t488 br label %ifend272 ifend272: br label %ifend269 ifend269: %t658 = load i32, ptr @g_g_uses_vk %t659 = icmp ne i32 %t658, 0 br i1 %t659, label %then276, label %ifend278 then276: %t660 = load ptr, ptr %t473 %t661 = call ptr @fn_join_path(ptr %t660, ptr @.str22317) store ptr %t661, ptr %t662 %t663 = load ptr, ptr %t473 %t664 = call ptr @fn_join_path(ptr %t663, ptr @.str22318) store ptr %t664, ptr %t665 %t666 = load i32, ptr @g_g_target_win %t667 = icmp ne i32 %t666, 0 br i1 %t667, label %then279, label %ifend281 then279: %t668 = load ptr, ptr %t473 %t669 = call ptr @fn_join_path(ptr %t668, ptr @.str22319) store ptr %t669, ptr %t665 br label %ifend281 ifend281: %t670 = load ptr, ptr %t488 store i32 9045, ptr @lp_site %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str22320) store i32 0, ptr @lp_site %t672 = load ptr, ptr %t662 store i32 9046, ptr @lp_site %t673 = call ptr @lp_str_concat(ptr %t671, ptr %t672) store i32 0, ptr @lp_site call void @lp_free(ptr %t671) store i32 9047, ptr @lp_site %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str22321) store i32 0, ptr @lp_site call void @lp_free(ptr %t673) %t675 = load ptr, ptr %t665 store i32 9048, ptr @lp_site %t676 = call ptr @lp_str_concat(ptr %t674, ptr %t675) store i32 0, ptr @lp_site call void @lp_free(ptr %t674) store ptr %t676, ptr %t488 %t677 = load i32, ptr @g_g_target_win %t678 = icmp eq i32 %t677, 0 %t679 = zext i1 %t678 to i32 %t680 = icmp ne i32 %t679, 0 br i1 %t680, label %then282, label %ifend284 then282: %t681 = load ptr, ptr %t488 store i32 9049, ptr @lp_site %t682 = call ptr @lp_str_concat(ptr %t681, ptr @.str22322) store i32 0, ptr @lp_site store ptr %t682, ptr %t488 br label %ifend284 ifend284: br label %ifend278 ifend278: %t684 = load i32, ptr @g_g_target_win %t685 = icmp ne i32 %t684, 0 %t686 = zext i1 %t685 to i32 store i32 %t686, ptr %t683 br i1 %t685, label %sc285, label %scend286 sc285: %t687 = load i32, ptr %t9 %t688 = icmp ne i32 %t687, 0 %t689 = zext i1 %t688 to i32 store i32 %t689, ptr %t683 br label %scend286 scend286: %t690 = load i32, ptr %t683 %t691 = icmp ne i32 %t690, 0 br i1 %t691, label %then287, label %ifend289 then287: %t692 = load ptr, ptr %t488 store i32 9050, ptr @lp_site %t693 = call ptr @lp_str_concat(ptr %t692, ptr @.str22323) store i32 0, ptr @lp_site store ptr %t693, ptr %t488 br label %ifend289 ifend289: %t694 = load ptr, ptr %t488 %t695 = load ptr, ptr %t1 %t696 = call ptr @fn_native_link_args(ptr %t695) store i32 9051, ptr @lp_site %t697 = call ptr @lp_str_concat(ptr %t694, ptr %t696) store i32 0, ptr @lp_site store ptr %t697, ptr %t488 store i32 0, ptr %t698 br label %wcond290 wcond290: %t699 = load i32, ptr %t698 %t700 = load ptr, ptr %t16 %t701 = getelementptr inbounds %LSlice, ptr %t700, i32 0, i32 1 %t702 = load i32, ptr %t701 %t703 = icmp slt i32 %t699, %t702 %t704 = zext i1 %t703 to i32 %t705 = icmp ne i32 %t704, 0 br i1 %t705, label %wbody291, label %wend292 wbody291: %t706 = load ptr, ptr %t488 store i32 9052, ptr @lp_site %t707 = call ptr @lp_str_concat(ptr %t706, ptr @.str22324) store i32 0, ptr @lp_site %t708 = load ptr, ptr %t16 %t709 = load i32, ptr %t698 %t710 = getelementptr inbounds %LSlice, ptr %t708, i32 0, i32 0 %t711 = load ptr, ptr %t710 %t712 = getelementptr inbounds %LSlice, ptr %t708, i32 0, i32 1 %t713 = load i32, ptr %t712 %t714 = icmp ult i32 %t709, %t713 br i1 %t714, label %ixok293, label %ixbad294 ixbad294: %t715 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t715, ptr @.fmt_bounds, ptr @.str22325, i32 %t709, i32 %t713) call void @exit(i32 1) unreachable ixok293: %t716 = getelementptr inbounds ptr, ptr %t711, i32 %t709 %t717 = load ptr, ptr %t716 store i32 9053, ptr @lp_site %t718 = call ptr @lp_str_concat(ptr %t707, ptr %t717) store i32 0, ptr @lp_site call void @lp_free(ptr %t707) store i32 9054, ptr @lp_site %t719 = call ptr @lp_str_concat(ptr %t718, ptr @.str22326) store i32 0, ptr @lp_site call void @lp_free(ptr %t718) store ptr %t719, ptr %t488 %t720 = load i32, ptr %t698 %t721 = add i32 %t720, 1 store i32 %t721, ptr %t698 br label %wcond290 wend292: %t722 = load ptr, ptr %t488 store i32 9055, ptr @lp_site %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str22327) store i32 0, ptr @lp_site %t724 = load ptr, ptr %t1 store i32 9056, 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) store ptr %t725, ptr %t488 %t726 = load ptr, ptr %t488 store ptr %t726, ptr %t727 %t728 = call i32 @fn_host_is_windows() %t729 = icmp ne i32 %t728, 0 br i1 %t729, label %then295, label %ifend297 then295: %t730 = load ptr, ptr %t488 store i32 9057, ptr @lp_site %t731 = call ptr @lp_str_concat(ptr @.str22328, ptr %t730) store i32 0, ptr @lp_site store i32 9058, ptr @lp_site %t732 = call ptr @lp_str_concat(ptr %t731, ptr @.str22329) store i32 0, ptr @lp_site call void @lp_free(ptr %t731) store ptr %t732, ptr %t727 br label %ifend297 ifend297: %t733 = load ptr, ptr %t727 %t734 = call i32 @system(ptr %t733) store i32 %t734, ptr %t735 %t736 = load ptr, ptr %t480 %t737 = icmp ne ptr %t736, null %t738 = zext i1 %t737 to i32 %t739 = icmp ne i32 %t738, 0 br i1 %t739, label %then298, label %ifend300 then298: %t740 = load ptr, ptr %t1 call void @fn_split_clean(ptr %t740) br label %ifend300 ifend300: %t741 = load i32, ptr %t5 %t742 = icmp eq i32 %t741, 0 %t743 = zext i1 %t742 to i32 %t744 = icmp ne i32 %t743, 0 br i1 %t744, label %then301, label %ifend303 then301: %t745 = load ptr, ptr %t464 call void @fn_remove_file(ptr %t745) br label %ifend303 ifend303: %t746 = load i32, ptr %t735 %t747 = icmp ne i32 %t746, 0 %t748 = zext i1 %t747 to i32 %t749 = icmp ne i32 %t748, 0 br i1 %t749, label %then304, label %ifend306 then304: call void @fn_die(ptr @.str22330) br label %ifend306 ifend306: %t750 = load ptr, ptr %t17 %t751 = icmp ne ptr %t750, null %t752 = zext i1 %t751 to i32 %t753 = icmp ne i32 %t752, 0 br i1 %t753, label %then307, label %ifend309 then307: store ptr @.str22331, ptr %t754 store i32 0, ptr %t755 br label %wcond310 wcond310: %t756 = load i32, ptr %t755 %t757 = load ptr, ptr @g_g_native_libs %t758 = getelementptr inbounds %LSlice, ptr %t757, i32 0, i32 1 %t759 = load i32, ptr %t758 %t760 = icmp slt i32 %t756, %t759 %t761 = zext i1 %t760 to i32 %t762 = icmp ne i32 %t761, 0 br i1 %t762, label %wbody311, label %wend312 wbody311: %t763 = load ptr, ptr %t754 %t764 = load ptr, ptr @g_g_native_libs %t765 = load i32, ptr %t755 %t766 = getelementptr inbounds %LSlice, ptr %t764, i32 0, i32 0 %t767 = load ptr, ptr %t766 %t768 = getelementptr inbounds %LSlice, ptr %t764, i32 0, i32 1 %t769 = load i32, ptr %t768 %t770 = icmp ult i32 %t765, %t769 br i1 %t770, label %ixok313, label %ixbad314 ixbad314: %t771 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t771, ptr @.fmt_bounds, ptr @.str22332, i32 %t765, i32 %t769) call void @exit(i32 1) unreachable ixok313: %t772 = getelementptr inbounds ptr, ptr %t767, i32 %t765 %t773 = load ptr, ptr %t772 store i32 9059, ptr @lp_site %t774 = call ptr @lp_str_concat(ptr %t763, ptr %t773) store i32 0, ptr @lp_site store i32 9060, ptr @lp_site %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str22333) store i32 0, ptr @lp_site call void @lp_free(ptr %t774) store ptr %t775, ptr %t754 %t776 = load i32, ptr %t755 %t777 = add i32 %t776, 1 store i32 %t777, ptr %t755 br label %wcond310 wend312: %t778 = load ptr, ptr %t17 store i32 9061, ptr @lp_site %t779 = call ptr @lp_pak_open(ptr %t778, ptr @.str22334) store i32 0, ptr @lp_site store ptr %t779, ptr %t780 %t781 = load ptr, ptr %t780 %t782 = icmp ne ptr %t781, null %t783 = zext i1 %t782 to i32 %t784 = icmp ne i32 %t783, 0 br i1 %t784, label %then315, label %ifend317 then315: %t785 = load ptr, ptr %t780 %t786 = load ptr, ptr %t754 %t787 = load ptr, ptr %t754 %t788 = call i64 @strlen(ptr %t787) %t789 = trunc i64 %t788 to i32 %t790 = zext i32 %t789 to i64 %t791 = call i64 @fwrite(ptr %t786, i64 1, i64 %t790, ptr %t785) %t792 = trunc i64 %t791 to i32 %t793 = load ptr, ptr %t780 call i32 @fclose(ptr %t793) br label %ifend317 ifend317: br label %ifend309 ifend309: %t794 = load i32, ptr %t6 %t795 = icmp ne i32 %t794, 0 br i1 %t795, label %then318, label %ifend320 then318: %t796 = call i32 @fn_host_is_windows() %t797 = icmp ne i32 %t796, 0 br i1 %t797, label %then321, label %ifend323 then321: %t798 = load ptr, ptr %t1 %t799 = call ptr @fn_win_path(ptr %t798) store i32 9062, ptr @lp_site %t800 = call ptr @lp_str_concat(ptr @.str22335, ptr %t799) store i32 0, ptr @lp_site store i32 9063, ptr @lp_site %t801 = call ptr @lp_str_concat(ptr %t800, ptr @.str22336) store i32 0, ptr @lp_site call void @lp_free(ptr %t800) %t802 = call i32 @system(ptr %t801) call void @exit(i32 %t802) unreachable ifend323: %t803 = load ptr, ptr %t1 %t804 = call i32 @system(ptr %t803) store i32 %t804, ptr %t805 %t806 = load i32, ptr %t805 %t807 = lshr i32 %t806, 8 %t808 = and i32 %t807, 255 call void @exit(i32 %t808) unreachable ifend320: br label %ret ret: %t809 = load i32, ptr %retval ret i32 %t809 }